This shows you the differences between two versions of the page.
pm:prj2022:apredescu:senzor_de_parcare [2022/06/02 13:54] 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 34: | Line 34: | ||
Codul este: | Codul este: | ||
- | int tonePin = 4; //Tone - Red Jumper | + | int tonePin = 4; |
- | int trigPin = 9; //Trig - violet Jumper | + | |
- | int echoPin = 10; //Echo - yellow Jumper | + | int trigPin = 9; |
- | int clockPin = 11; //IC Pin 11 - white Jumper | + | |
- | int latchPin = 12; //IC Pin 12 - Blue Jumper | + | int echoPin = 10; |
- | int dataPin = 13; //IC Pin 14 - Green Jumper | + | |
+ | int clockPin = 11; | ||
+ | |||
+ | int latchPin = 12; | ||
+ | |||
+ | 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 61: | 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 104: | 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> | ||