This is an old revision of the document!


Colour-guided rover

Autor: Semeniuc Calin-Mihai Grupa: 333CD Link Git: Github

Introducere

Ce face proiectul?

Proiectul este un rover (robot pe șenile) care navigheaza într-un spațiu închis, căutând o țintă de o anumită culaore.

Care a fost ideea de la care am pornit?

Ideea a pornit din dorinta sa fac o masina controlata cu baterie, un vis care il aveam de ceva vreme.

De ce cred că este util?

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.

Descriere generală

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.

Diagrama Hardware

Diagrama Logica

Hardware Design

Piese:

Conexiuni Hardware

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.

Software Design

Notiuni de laborator utilizate:

  • Lab 1 UART (Comunicarea cu platforma RVR pentru senzor de culoare)
  • Lab 2 Intreruperi (Intreruperi la detectarea obstacolelor, culorii tinta, declansare senzor PIR)
  • Lab 3 Timere (Controlul motoarelor intr-un interval de timp)
  • Lab 5 I2C (Controlul Ecranului)

Librarii utilizate:

  • SpheroRVR.h
  • DriveControl.h
  • LEDControl.h
  • LiquidCrystal_I2C.h
  • Wire.h
  • Structs.h (include structurile necesare pentru comunicare cu Senzorul de culoare si motoare)
pm/prj2025/iotelea/calin.semeniuc.1748288318.txt.gz · Last modified: 2025/05/26 22:38 by calin.semeniuc
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0