This is an old revision of the document!
Student: Cretan Gheorghe-Cristian
Grupa: 331CC
Mișcarea robotului față/spate și schimbarea direcției stânga/dreapta este executată prin intermediul driverului de motoare L928N, setând motoarele HIGH sau LOW în functie de direcția de mers. Control prin bluetooth a fost efectut folosind modului HM-10 și GamePad-ul din aplicația Dabble. Evitarea coliziunilor este îndeplinită folosind senzorul ultrasonic. Atunci când acesta detectează un obiect la o distantă mai mică de 10cm, robotul va merge cu spatele și va executa o rotație la 90 de grade în sens trigonometric.
Rezervorul este monitrizat folosind două leduri. Atunci când bateria are un voltaj mai mic decât 50% din valoarea sa, un led roșu se va aprinde, în caz contrar un led verde este aprins. Corectarea traiectoriei este efectuată folosind magnetometrul de pe senzorul MPU9250. Programul stochează într-o variabilă poziția inițială a robotului, urmând ca în timpul mișcării frontale să fie calculată eroarea medie. Dacă eroare este mai mare de o valoare de offset, programul va reduce viteza pe unul dintre motoare, urmărindu-se evoluția erorii. În cazul în care valoarea absolută a acesteia crește, se va micșora viteza celuilalt motor.
Accelerația este afișată pe portul serial, folosind accelerometrul de pe senzorul MPU9250, acesta având o precizie de mm/s2 (val. max < 10.000), afișarea se va face în unități de măsură din SI (m/s2). Pentru calculul vitezei am introdus accelerația (a) în legea vitezei: V = V_0 + delta(t). Intervalul de timp pe care se calculează viteza este obținut prin intermediul unui timer: la fiecare execuție a loop-ului se calculează folosind formula: delta(t) = t_(current) - t_(anterior). În momentul în care ambele motoare sunt oprite viteza este resetată la 0, astfel obținându-se o calibrare.
Lista de piese: