Autor: Semeniuc Calin-Mihai Grupa: 333CD Link Git: Github
Proiectul este un rover (robot pe șenile) care navigheaza într-un spațiu închis, căutând o țintă de o anumită culaore.
Ideea a pornit din dorinta sa fac o masina controlata cu baterie, un vis care il aveam de ceva vreme.
Aceasta aplicatie poate fi extinsa pentru a deteca varsari de substante sau substante toxice. Poate fi folosit ca punct de start pentru aparate de curatare etc.
Robotul are la bază o placă Arduino cu un modul controlat prin UART care controleaza motoarele si ascultă citirea unui senzor de culoare (citeste culoarea suprafetei). Are concectati si photodiode puse in jurulul unui semicerc si un senzor pir pentru a schimba controlul robotului.
Robotul are ca master placuta Arduino, iar ca slave modulul RVR+. Modulul RVR+ are deja motoarele si senzorul de culaore inclus. Acestea sunt controlate prin UART. Se vor controla motoarele si se va face poll in timp real la culori. In loc de switch pentru pornirea robotului, folosesc un senzor PIR pentru a-i da start. Senzorii de detectie a obstacolelor constau in 3 senzori pusi in stanga, dreapta, si in fata. Ei au rolul de a detecta obstacolele. In functie de unde detectam obstacolele, trimitem comanda la motoare ca sa schimbam directia de mers.
PIR Sensor
Pin | Value |
GND | Arduino IDE |
PWR | 5V |
OUT | Digital 8 |
OBSTACLE Sensor
Pin | Value |
GND | Arduino IDE |
PWR | 5V |
OUT | Digital 13, 12 6 |
I2C Serial Controller
Pin | Value |
GND | Arduino IDE |
PWR | 5V |
SDA | Analog 5 |
SDC | Analog 4 |
Platforma RVR+ poate comunica cu arduino prin USB.
PIR Sensor
Functie | Descriere |
rotate180_fast | rotire 180 in cel mai rapid mod |
lcd.setcursor | |
lcd.print | |
rvr.configUART | initializare RVR |
rvr.getDriveControl() | obtinere obiect pentru apelarea functiilor rvr |
rvr.resetYaw() / dc.resetHeading() | resetare giroscop intern |
dc.setRawMotors | setare viteza motoare fina |
dc.rollStart()/rollStop() | setare mers robot, simplu |
colorCallback() | scanarea culorilor |