This shows you the differences between two versions of the page.
|
pm:prj2022:apredescu:alarmclock [2022/05/27 21:19] irinel.vlad [Descriere generală] |
pm:prj2022:apredescu:alarmclock [2022/06/02 11:32] (current) irinel.vlad [Bibliografie/Resurse] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Alarm Clock ====== | + | ====== Parking Sensor ====== |
| ===== Introducere ===== | ===== Introducere ===== | ||
| <note tip> | <note tip> | ||
| Prezentarea pe scurt a proiectului vostru: | Prezentarea pe scurt a proiectului vostru: | ||
| - | * ceas cu alarma bazat pe o placa de dezvoltare Arduino Uno | + | * un senzor ultrasonic care măsoară distanța și graficul bară cu LED-uri se va aprinde în funcție de distanța noastră de la senzor |
| - | * functiile ceas si alarma | + | * poate funcționa ca un senzor de parcare |
| - | * nevoia de a avea un device simplu pentru alarma | + | * nevoia de ajutor la parcarea cu spatele |
| - | * elimina nevoia de a avea telefonul aproape in fiecare dimineata | + | * asistenta la parcare pentru a evita orice fel de contact |
| </note> | </note> | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| <note tip> | <note tip> | ||
| - | {{:pm:prj2022:apredescu:alarm_clock_scheme.png?200|}} | + | |
| </note> | </note> | ||
| Line 19: | Line 19: | ||
| <note tip> | <note tip> | ||
| Aici puneţi tot ce ţine de hardware design: | Aici puneţi tot ce ţine de hardware design: | ||
| - | * listă de piese | + | * Arduino UNO |
| - | * 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 74HC595 - registru de deplasare pe 8 biți |
| - | * diagrame de semnal | + | * 1x Breadboard |
| - | * rezultatele simulării | + | * LED-uri 8x (de exemplu: 3x roșu, 3x galben, 2x verde) |
| + | * Rezistențe de 9 Ohm 220 Ohm | ||
| + | * 1x Buzzer | ||
| + | * 1x senzor ultrasonic (de exemplu: HC-SR04) | ||
| + | * Jumper Wires | ||
| + | {{:pm:prj2022:apredescu:1navtakqv8ciwhrao31gncyqgk9vi_h1l.png?300|}} | ||
| </note> | </note> | ||
| Line 29: | Line 34: | ||
| <note tip> | <note tip> | ||
| - | Descrierea codului aplicaţiei (firmware): | + | <code cvp> |
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | int tonePin = 4; //Tone - Red Jumper |
| - | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | int trigPin = 9; //Trig - violet Jumper |
| - | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | int echoPin = 10; //Echo - yellow Jumper |
| - | * (etapa 3) surse şi funcţii implementate | + | int clockPin = 11; //IC Pin 11 - white Jumper |
| + | int latchPin = 12; //IC Pin 12 - Blue Jumper | ||
| + | int dataPin = 13; //IC Pin 14 - Green Jumper | ||
| + | |||
| + | byte possible_patterns[9] = { | ||
| + | B00000000, | ||
| + | B00000001, | ||
| + | B00000011, | ||
| + | B00000111, | ||
| + | B00001111, | ||
| + | B00011111, | ||
| + | B00111111, | ||
| + | B01111111, | ||
| + | B11111111, | ||
| + | }; | ||
| + | int proximity=0; | ||
| + | int duration; | ||
| + | int distance; | ||
| + | |||
| + | void setup() { | ||
| + | //Serial Port | ||
| + | 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; | ||
| + | |||
| + | /*if (distance >= 45 || distance <= 0){ | ||
| + | Serial.println("Out of range"); | ||
| + | } | ||
| + | else { | ||
| + | Serial.print(distance); | ||
| + | Serial.println(" cm"); | ||
| + | }*/ | ||
| + | |||
| + | 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); | ||
| + | } | ||
| + | </code> | ||
| </note> | </note> | ||
| Line 61: | Line 136: | ||
| <note> | <note> | ||
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | [[https://sites.google.com/site/arduinoelectronicasiprogramare/arduino-si-senzori/1/senzor-de-parcare|Documentatie]] |
| </note> | </note> | ||
| <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> | ||