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?1000|}} | + | |
</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> | ||