Mașinuța va merge în mod implicit înainte, iar în momentul detectării unui obstacol la mai puțin de 20 de cm, aceasta se va opri, va da cu spatele cât să poată să vireze în siguranță într-o direcție aleasă aleatoriu. Mașinuța va face această manevră de câteva ori, până când senzorul de distanță nu va mai detecta niciun obstacol.
Proiectul meu este un proiect cu scop distractiv, poate fi folosit drept jucărie, cu un sistem de auto-protecție împotriva distrugerii. Mașinuța va evita coliziunea cu obstacolele.
Mașinuța este pornită. Mașina va tinde să meargă în față dacă drumul este liber. Viteza va crește puțin câte puțin cât timp senzorul de distanță nu detectează niciun obstacol.
În momentul în care senzorul detectează orice fel de obstacol vizibil la o distanță mai mică sau egală cu 20 de cm, dispozitivul începe manevra de virare. În primă fază mașina frânează, dă pe o distanță mică cu spatele, virează într-o direcție aleasă aleatoriu de program. Cât timp obstacolul este în drumul mașinii, dispozitivul va repeta pașii anterior menționați.
Componente hardware necesare realizării mașinuței:
Laboratoarele folosite în vederea realizării proiectului:
Noțiuni folosite în mare parte pentru debugging în cazul celor două module Bluetooth HC-05. Am înțeles modul de funcționare al interfeței seriale USART, conectarea și setarea corectă liniei pentru transmisie, notată Tx, și liniei pentru recepție, notată Rx.
Noțiuni folosite pentru a mișca efectiv mașina. Controlul direcției și al vitezei se realizează cu PWM, fiecare motor primește o direcție FORWARD/BACKWARD, diferit pentru a vira stânga/dreapta sau primesc toate aceeași direcție pentru ca mașina să se deplaseze față/spate, iar pinul pentru viteză este scris cu PWM.
Noțiuni folosite pentru a citi și interpreta rezultatele transmise de senzorul de distanță. Pe baza acestora, mașina merge înainte sau virează stânga/dreapta.
Dificultăți întâmpinate: Ideea inițială era de a avea o telecomandă, cu un joystick pentru a controla direcția mașinii, iar senzorul de distanță să fie doar un mecanism de protecție împotriva coliziunii cu obstacole.
Telecomanda ar fi trimis prin Bluetooth datele citite de la joystick, astfel ar fi existat un modul HC-05 master care ar fi comunicat cu modulul HC-05 slave de pe mașinuță. Citirea datelor de la joystick nu a fost o problemă, nici setarea inițială a modulelor Bluetooth în modul master sau slave. Problema a apărut în momentul în care trimiteam datele de la telecomandă spre mașinuță, informația recepționată nu era cea corectă.
După debug, aș zice că problema a apărut de la modulul HC-05, care are nevoie de pini specifici pentru Rx și Tx, pini ocupați pe Arduino de L293D.
Arihva conține următoarele fișiere:
Pasul 1: Scriere documentație inițială.
Pasul 2: Comandare piese necesare.
Pasul 3: Construire șasiu din Lego.
Pasul 4: Asamblare hardware.
Pasul 5: Scriere software.
Pasul 6: Depanare hardware și software.
Pasul 7: Finalizare și modificare documentație.