Proiectul realizeaza simularea unui sonar, cu scopul de a afisa utilizatorului date despre obiectele din apropiere tinand cont de distanta pana la acestea. Datele de intrare al proiectului sunt obtinute din valorile citite de senzorul ultrasonic de distanta, care se roteste 90 de grade pentru a scana zona din fata. In final, dupa prelucrare, outputul este afisat pe ecranul LCD sub forma unor patrate la o distanta proportionala cu cea reala fata de centrul ecranului reprezentat de locatia statiei.
Placa Arduino Uno
+Breadboard and a lot of wires
Pinii de VCC si GND ai modulelor sunt conectati la GND/5V pe placuta sau prin intermediul breadboard-ului.
Senzor ultrasonic de distanta HC-SR04
Pinii Trig si Echo ai senzorului de distanta sunt legati la conexiunile 8 si 9 pe Arduino Uno.
Ecran LCD Nokia 5110
Ecranul LCD are backlight-ul conectat la 3.3V, iar restul intrarilor sunt conectate la 3-7 pe placa.
ServoMotor SG90 180 de grade
Legatura dintre servo-motor si placuta este facuta prin pinul 11.
Senzorul de distanta este conectat pe servo-motor si puse pe un suport, iar ecranul LCD este conectat direct la breadboard.
Mediul de lucru: Arduino IDE
In setup initializez toate conexiunile elementelor cu placuta arduino, iar in loop se face o parcurgere a zonei 45-135 de grade a servo-motorului si se citesc valorile de la 60, 75, 90, 105 si 120 de grade. Se adauga intr-un vector scalate si la marimea de 84 pe 48 a ecranului LCD pentru a fi afisate la final de loop.
Am folosit 2 vectori care retin pozitiile i si j ale obiectelor scanate anterior pentru ca la fiecare iteratie a loop-ului, sa pot sterge marcajele anterioare si sa rescriu vectorii cu valorile din noua detectie.
Functia detection genereaza patratele care reprezinta obstacolele, iar calc_dis este folosita pentru a intoarce distanta de la senzor.
Am testat in mai multe situatii si cu obstacole plasate in bataia senzorului, iar outputul a fost corect. In poza se poate vedea cum scaneaza peretele meu cu o sticla de apa in drum la una din citiri:)))))
Avand la baza experienta si notiunile de la laborator, proiectul meu a reusit sa incorporeze toate functionalitatile pe care mi le-am propus. Imbunatatirea ce consider ca poate fi adusa ar fi cea a managementului de cablaj, pentru a elibera zona de display de fire.
*in continuare este necesara downloadarea din Arduino IDE a bibliotecii Adafruit
https://ocw.cs.pub.ro/courses/pm/lab/lab6-2022
https://ocw.cs.pub.ro/courses/pm/lab/lab3-2022
https://ocw.cs.pub.ro/courses/pm/lab/lab1-2022
https://www.youtube.com/watch?v=aDwrMeu4k9Y
https://create.arduino.cc/projecthub/DKVDH/simple-servo-project-for-beginners-5268b2
https://create.arduino.cc/projecthub/Manikantsavadatti/diy-ultrasonic-radar-system-1f4d1c