This shows you the differences between two versions of the page.
|
pm:prj2022:rtilimpea:sonar1234 [2022/06/01 19:51] dragos.andrei1909 [Software Design] |
pm:prj2022:rtilimpea:sonar1234 [2022/06/01 21:57] (current) dragos.andrei1909 [Hardware Design] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Sonar ====== | + | ====== Sonar/Radar ====== |
| ===== Introducere ===== | ===== Introducere ===== | ||
| Line 11: | Line 11: | ||
| - | Placa Arduino Uno | + | **Placa Arduino Uno** |
| {{:pm:prj2022:rtilimpea:arduinosonar.png?200|}} | {{:pm:prj2022:rtilimpea:arduinosonar.png?200|}} | ||
| - | Senzor ultrasonic de distanta HC-SR04 | + | +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** | ||
| {{:pm:prj2022:rtilimpea:senzorsonar.png?200|}} | {{:pm:prj2022:rtilimpea:senzorsonar.png?200|}} | ||
| - | Ecran LCD Nokia 5110 | + | |
| + | Pinii Trig si Echo ai senzorului de distanta sunt legati la conexiunile 8 si 9 pe Arduino Uno. | ||
| + | |||
| + | |||
| + | **Ecran LCD Nokia 5110** | ||
| {{:pm:prj2022:rtilimpea:ecransonar.png?200|}} | {{:pm:prj2022:rtilimpea:ecransonar.png?200|}} | ||
| - | ServoMotor SG90 180 de grade | ||
| - | {{:pm:prj2022:rtilimpea:motorsonar.jpg?200|}} | + | Ecranul LCD are backlight-ul conectat la 3.3V, iar restul intrarilor sunt conectate la 3-7 pe placa. |
| + | **ServoMotor SG90 180 de grade** | ||
| + | {{:pm:prj2022:rtilimpea:motorsonar.jpg?200|}} | ||
| + | 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. | ||
| Line 36: | Line 51: | ||
| {{:pm:prj2022:rtilimpea:sonarr.png?700|}} | {{:pm:prj2022:rtilimpea:sonarr.png?700|}} | ||
| + | |||
| + | |||
| + | |||
| ===== Software Design ===== | ===== Software Design ===== | ||
| Line 50: | Line 68: | ||
| Mediul de lucru: **Arduino IDE** | 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. Din punct de vedere hardware, senzorul de distanta este conectat pe servo-motor si puse pe un suport, iar ecranul LCD este conectat direct la breadboard. | + | 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. | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| + | 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:))))) | ||
| {{:pm:prj2022:rtilimpea:sonarrr.jpg?500|}} | {{:pm:prj2022:rtilimpea:sonarrr.jpg?500|}} | ||
| Line 62: | Line 85: | ||
| <note> | <note> | ||
| + | Arhiva cu codul folosit: | ||
| + | |||
| {{:pm:prj2022:rtilimpea:andreidragos335cb_cod.zip|}} | {{:pm:prj2022:rtilimpea:andreidragos335cb_cod.zip|}} | ||
| + | |||
| + | *in continuare este necesara downloadarea din Arduino IDE a bibliotecii Adafruit | ||
| </note> | </note> | ||
| Line 68: | Line 95: | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| - | <note> | + | https://ocw.cs.pub.ro/courses/pm/lab/lab6-2022 |
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
| - | </note> | + | 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 | ||
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||