This is an old revision of the document!
Software Design
Mediu de dezvoltare: Arduino IDE
Descrierea flow-ului software:
Mașina funcționează în două moduri distincte, controlate din aplicația de pe smartphone (Dabble):
Modul Manual (default la conectare)
Modul Automat: Evitare obstacole + prăpastii
Starea 0 → Așteptare conectare Bluetooth (Idle):
La pornirea microcontrollerului, mașina așteaptă conectarea prin Bluetooth.
Pe LCD se afișează mesajul: Conecteaza-te sefule
Nicio mișcare nu este permisă până la stabilirea conexiunii.
Starea 1 → Mod Manual (Bluetooth GamePad activ):
După conectare, mașina intră în Mod Manual, unde poate fi controlată de utilizator folosind aplicația Dabble.
Se afișează pe LCD: Mod: Manual
Direcțiile disponibile:
↑ - Mers înainte
↓ - Mers înapoi
← - Viraj la stânga
→ - Viraj la dreapta
În lipsa unei comenzi, motoarele sunt oprite automat.
Starea 2 → Mod Automat (Evitare obstacole și prăpastii):
Se afișează pe LCD: Mod: Obstacole+, Prapastii
Se utilizează senzorul ultrasonic pentru detecția obstacolelor și senzorul IR pentru prăpastii.
Dacă se detectează o prăpastie (senzor IR = LOW):
Mașina oprește, dă înapoi și virează automat pentru a evita zona periculoasă.
Mesaj pe LCD: Prapastie STOP
Dacă se detectează un obstacol în față:
Se măsoară distanțele din stânga și dreapta prin rotirea servomotorului.
Se alege direcția cea mai liberă și se virează în acea parte.
Mesaj pe LCD: Obstacol STOP
Dacă drumul e liber: mașina merge înainte.
Mesaj pe LCD: Drum liber
Starea 3 → Revenire la Manual:
Apăsarea butonului Cross din aplicație dezactivează modul automat.
Mașina oprește orice mișcare și revine în modul manual.
LCD-ul afișează din nou: Mod: Manual
COD: