This shows you the differences between two versions of the page.
pm:prj2022:apredescu:senzor_de_parcare [2022/06/02 13:55] andrei.grama2401 [Software Design] |
pm:prj2022:apredescu:senzor_de_parcare [2022/06/02 14:21] (current) andrei.grama2401 [Bibliografie/Resurse] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Senzori de parcare ====== | + | ====== Senzori de parcare - Grama Andrei ====== |
===== Introducere ===== | ===== Introducere ===== | ||
Line 33: | Line 33: | ||
<note tip> | <note tip> | ||
Codul este: | Codul este: | ||
+ | |||
int tonePin = 4; | int tonePin = 4; | ||
+ | |||
int trigPin = 9; | int trigPin = 9; | ||
- | int echoPin = 10; | + | |
+ | int echoPin = 10; | ||
+ | |||
int clockPin = 11; | int clockPin = 11; | ||
+ | |||
int latchPin = 12; | int latchPin = 12; | ||
+ | |||
int dataPin = 13; | int dataPin = 13; | ||
byte possible_patterns[9] = { | byte possible_patterns[9] = { | ||
B00000000, | B00000000, | ||
+ | |||
B00000001, | B00000001, | ||
+ | |||
B00000011, | B00000011, | ||
+ | |||
B00000111, | B00000111, | ||
+ | |||
B00001111, | B00001111, | ||
+ | |||
B00011111, | B00011111, | ||
+ | |||
B00111111, | B00111111, | ||
+ | |||
B01111111, | B01111111, | ||
+ | |||
B11111111, | B11111111, | ||
+ | |||
}; | }; | ||
+ | |||
int proximity=0; | int proximity=0; | ||
+ | |||
int duration; | int duration; | ||
+ | |||
int distance; | int distance; | ||
Line 60: | Line 78: | ||
pinMode(trigPin, OUTPUT); | pinMode(trigPin, OUTPUT); | ||
+ | | ||
pinMode(echoPin, INPUT); | pinMode(echoPin, INPUT); | ||
+ | | ||
pinMode(clockPin, OUTPUT); | pinMode(clockPin, OUTPUT); | ||
+ | | ||
pinMode(latchPin, OUTPUT); | pinMode(latchPin, OUTPUT); | ||
+ | | ||
pinMode(dataPin, OUTPUT); | pinMode(dataPin, OUTPUT); | ||
+ | | ||
pinMode(tonePin, OUTPUT); | pinMode(tonePin, OUTPUT); | ||
+ | | ||
} | } | ||
void loop() { | void loop() { | ||
+ | |||
digitalWrite(latchPin, LOW); | digitalWrite(latchPin, LOW); | ||
+ | | ||
digitalWrite(trigPin, HIGH); | digitalWrite(trigPin, HIGH); | ||
+ | | ||
delayMicroseconds(1000); | delayMicroseconds(1000); | ||
+ | | ||
digitalWrite(trigPin, LOW); | digitalWrite(trigPin, LOW); | ||
+ | | ||
duration = pulseIn(echoPin, HIGH); | duration = pulseIn(echoPin, HIGH); | ||
+ | | ||
distance = (duration/2) / 29.1; | distance = (duration/2) / 29.1; | ||
proximity=map(distance, 0, 45, 8, 0); | proximity=map(distance, 0, 45, 8, 0); | ||
+ | | ||
//Serial.println(proximity); | //Serial.println(proximity); | ||
if (proximity <= 0){ | if (proximity <= 0){ | ||
+ | | ||
proximity=0; | proximity=0; | ||
} | } | ||
+ | | ||
else if (proximity >= 3 && proximity <= 4){ | else if (proximity >= 3 && proximity <= 4){ | ||
+ | | ||
tone(tonePin, 200000, 200); | tone(tonePin, 200000, 200); | ||
+ | | ||
} | } | ||
+ | | ||
else if (proximity >= 5 && proximity <= 6){ | else if (proximity >= 5 && proximity <= 6){ | ||
+ | | ||
tone(tonePin,5000, 200); | tone(tonePin,5000, 200); | ||
+ | |||
} | } | ||
+ | | ||
else if (proximity >= 7 && proximity <= 8){ | else if (proximity >= 7 && proximity <= 8){ | ||
+ | | ||
tone(tonePin, 1000, 200); | tone(tonePin, 1000, 200); | ||
+ | | ||
} | } | ||
+ | | ||
shiftOut(dataPin, clockPin, MSBFIRST, possible_patterns[proximity]); | shiftOut(dataPin, clockPin, MSBFIRST, possible_patterns[proximity]); | ||
+ | | ||
digitalWrite(latchPin, HIGH); | digitalWrite(latchPin, HIGH); | ||
+ | | ||
| | ||
delay(600); | delay(600); | ||
+ | | ||
noTone(tonePin); | noTone(tonePin); | ||
+ | | ||
} | } | ||
+ | |||
</note> | </note> | ||
Line 103: | Line 150: | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | 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> | ||
- | ===== Concluzii ===== | ||
- | ===== Download ===== | ||
- | |||
- | <note warning> | ||
- | 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ă ;-). | ||
- | |||
- | 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> | ||
- | |||
- | ===== Jurnal ===== | ||
- | |||
- | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | ||
- | </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> | ||