This shows you the differences between two versions of the page.
pm:prj2022:apredescu:senzor_de_parcare [2022/06/02 13:51] andrei.grama2401 |
pm:prj2022:apredescu:senzor_de_parcare [2022/06/02 14:21] (current) andrei.grama2401 [Bibliografie/Resurse] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Nume proiect ====== | + | ====== Senzori de parcare - Grama Andrei ====== |
===== Introducere ===== | ===== Introducere ===== | ||
<note tip> | <note tip> | ||
- | Prezentarea pe scurt a proiectului vostru: | + | Am dezvoltat un senzor de parcare care sa ajute soferii sa nu isi loveasca masinile! |
- | * ce face | + | |
- | * care este scopul lui | + | |
- | * care a fost ideea de la care aţi pornit | + | |
- | * de ce credeţi că este util pentru alţii şi pentru voi | + | |
</note> | </note> | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
<note tip> | <note tip> | ||
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | Am dezvoltat un sistem de senzori de parcare, genul acesta de sistem este dezvoltat in general in domeniul auto. |
+ | Scopul acestuia este ca atunci cand un obstacol apare in aria de desfasurare a senzorului, sistemul ne atentioneaza atat vizual cat si acustic. | ||
+ | În acest proiect, folosim un senzor ultrasonic. Senzori cu ultrasunete (ultrasonici) se bazează pe emiterea de ultrasunete, sunt foarte preciși, foarte ușor de folosit, dar din cauza faptului că sunetul se deplasează cu o viteză fixa, această categorie de senzori este considerată relativ lentă. În această categorie se încadrează senzorul HC-SR04 și senzorul de tip PING | ||
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | ||
</note> | </note> | ||
Line 20: | Line 17: | ||
<note tip> | <note tip> | ||
- | Aici puneţi tot ce ţine de hardware design: | + | Pentru realizarea proiectului am folosit: |
- | * listă de piese | + | 1x 74HC595 - registru de deplasare pe 8 biți |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | 1x Breadboard |
- | * diagrame de semnal | + | LED-uri 8x (de exemplu: 3x roșu, 3x galben, 2x verde) |
- | * rezultatele simulării | + | Rezistențe de 9 Ohm 220 Ohm |
+ | 1x Buzzer | ||
+ | 1x senzor ultrasonic (HC-SR04) | ||
+ | Jumper Wires | ||
</note> | </note> | ||
Line 31: | Line 32: | ||
<note tip> | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | + | Codul este: |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
- | ===== Rezultate Obţinute ===== | + | int tonePin = 4; |
- | <note tip> | + | int trigPin = 9; |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
- | ===== Concluzii ===== | + | int echoPin = 10; |
+ | |||
+ | int clockPin = 11; | ||
- | ===== Download ===== | + | int latchPin = 12; |
- | <note warning> | + | int dataPin = 13; |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
+ | byte possible_patterns[9] = { | ||
+ | B00000000, | ||
+ | |||
+ | B00000001, | ||
+ | |||
+ | B00000011, | ||
+ | |||
+ | B00000111, | ||
+ | |||
+ | B00001111, | ||
+ | |||
+ | B00011111, | ||
+ | |||
+ | B00111111, | ||
+ | |||
+ | B01111111, | ||
+ | |||
+ | B11111111, | ||
+ | |||
+ | }; | ||
+ | |||
+ | int proximity=0; | ||
+ | |||
+ | int duration; | ||
+ | |||
+ | int distance; | ||
+ | |||
+ | void setup() { | ||
+ | |||
+ | Serial.begin (9600); | ||
+ | |||
+ | pinMode(trigPin, OUTPUT); | ||
+ | |||
+ | pinMode(echoPin, INPUT); | ||
+ | |||
+ | pinMode(clockPin, OUTPUT); | ||
+ | |||
+ | pinMode(latchPin, OUTPUT); | ||
+ | |||
+ | pinMode(dataPin, OUTPUT); | ||
+ | |||
+ | pinMode(tonePin, OUTPUT); | ||
+ | |||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | |||
+ | digitalWrite(latchPin, LOW); | ||
+ | |||
+ | digitalWrite(trigPin, HIGH); | ||
+ | |||
+ | delayMicroseconds(1000); | ||
+ | |||
+ | digitalWrite(trigPin, LOW); | ||
+ | |||
+ | duration = pulseIn(echoPin, HIGH); | ||
+ | |||
+ | distance = (duration/2) / 29.1; | ||
+ | |||
+ | proximity=map(distance, 0, 45, 8, 0); | ||
+ | |||
+ | //Serial.println(proximity); | ||
+ | |||
+ | if (proximity <= 0){ | ||
+ | |||
+ | proximity=0; | ||
+ | } | ||
+ | |||
+ | else if (proximity >= 3 && proximity <= 4){ | ||
+ | | ||
+ | tone(tonePin, 200000, 200); | ||
+ | |||
+ | } | ||
+ | |||
+ | else if (proximity >= 5 && proximity <= 6){ | ||
+ | |||
+ | tone(tonePin,5000, 200); | ||
+ | |||
+ | } | ||
+ | |||
+ | else if (proximity >= 7 && proximity <= 8){ | ||
+ | |||
+ | tone(tonePin, 1000, 200); | ||
+ | |||
+ | } | ||
+ | |||
+ | shiftOut(dataPin, clockPin, MSBFIRST, possible_patterns[proximity]); | ||
+ | |||
+ | digitalWrite(latchPin, HIGH); | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | delay(600); | ||
+ | |||
+ | noTone(tonePin); | ||
+ | |||
+ | } | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | ||
</note> | </note> | ||
- | ===== Jurnal ===== | + | ===== Rezultate Obţinute ===== |
<note tip> | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | Pe masura ce distanta pana la obstacol se micsoreaza, se aprind pe rand becurile verzi, albastre iar in cele din urma cele rosii, care indica ca urmeaza sa lovesti obstacul. Simultan semnalul sonor se intensifica. |
</note> | </note> | ||
- | ===== Bibliografie/Resurse ===== | + | |
+ | |||
+ | ===== Schema ===== | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | {{:pm:prj2022:apredescu:picturasdasdasdasdasde1.png?200|}} |
</note> | </note> | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||