This shows you the differences between two versions of the page.
pm:prj2024:aungureanu:karla.niculae [2024/05/26 19:14] karla.niculae |
pm:prj2024:aungureanu:karla.niculae [2024/05/27 02:30] (current) karla.niculae |
||
---|---|---|---|
Line 96: | Line 96: | ||
**Folosirea a doua baterii** | **Folosirea a doua baterii** | ||
- | BT2 alimentează Arduino. Este nevoie și de bateria BT1 deoarece motorul și buzzer-ul pot consuma mult curent. Bateria BT1 este conectata la pinul NO și furnizează tensiune doar când releul este activ. Astfel Arduino poate controla activarea și dezactivarea buzzer-ului și motorului fără a afecta sursa de alimentare a propriului circuit. | + | BT2 alimentează Arduino. Este nevoie și de bateria BT1 deoarece motorul poate consuma mult curent. Bateria BT1 este conectata la pinul NO și furnizează tensiune doar când releul este activ. Astfel Arduino poate controla activarea și dezactivarea motorului fără a afecta sursa de alimentare a propriului circuit. |
</note> | </note> | ||
Line 109: | Line 109: | ||
**Mediul de dezvoltare: Arduino 1.8.19** | **Mediul de dezvoltare: Arduino 1.8.19** | ||
- | Cod: | + | **Cod:** |
int sensor=0; | int sensor=0; | ||
int relay= 13; | int relay= 13; | ||
Line 123: | Line 123: | ||
Serial.println(val); | Serial.println(val); | ||
if (val <= 100) { | if (val <= 100) { | ||
- | digitalWrite(relay, LOW); | + | digitalWrite(relay, LOW); |
+ | delay(4500); | ||
} else { | } else { | ||
- | digitalWrite(relay, HIGH); | + | digitalWrite(relay, HIGH); |
} | } | ||
- | delay(500); | + | delay(500); |
} | } | ||
+ | |||
**Variabilele sensor și relay** | **Variabilele sensor și relay** | ||
Line 154: | Line 156: | ||
digitalWrite(relay, LOW): Dacă valoarea este mai mică sau egală cu 100, setez pinul relay (pinul 13) la LOW, ceea ce va porni buzzer-ul și motorul | digitalWrite(relay, LOW): Dacă valoarea este mai mică sau egală cu 100, setez pinul relay (pinul 13) la LOW, ceea ce va porni buzzer-ul și motorul | ||
+ | |||
+ | delay(4500): sa funcționeze mai mult timp | ||
digitalWrite(relay, HIGH): Dacă valoarea este mai mare de 100, setez pinul relay la HIGH, ceea ce va opri buzzer-ul și motorul | digitalWrite(relay, HIGH): Dacă valoarea este mai mare de 100, setez pinul relay la HIGH, ceea ce va opri buzzer-ul și motorul | ||
Line 162: | Line 166: | ||
Utilizarea functionalitatilor din laborator in cadrul proiectului: | Utilizarea functionalitatilor din laborator in cadrul proiectului: | ||
- | Laborator 0 - GPIO: [[https://ocw.cs.pub.ro/courses/pm/lab/lab0-2023]] | + | **Laborator 0 - GPIO: [[https://ocw.cs.pub.ro/courses/pm/lab/lab0-2023]]** |
* Am utilizat funcționalități GPIO pentru a releul care gestionează atât un buzzer, cât și un motor. Utilizarea GPIO-urilor în proiectul meu este esențială pentru protecția plăcii Arduino. | * Am utilizat funcționalități GPIO pentru a releul care gestionează atât un buzzer, cât și un motor. Utilizarea GPIO-urilor în proiectul meu este esențială pentru protecția plăcii Arduino. | ||
Line 168: | Line 172: | ||
Controlul Releului | Controlul Releului | ||
- | Am folosit releul pentru a nu se folosi acceasi sursa de alimentare pentru motor și buzzer, cu Arduino. Pentru ca dacă foloseau acceasi sursa de alimentare exista posibilitatea de a arde placa Arduino. | + | Am folosit releul pentru a nu se folosi acceasi sursa de alimentare pentru motor, cu Arduino. |
- | Arduino poate furniza doar un curent limitat. Motoarele și buzzer-ele pot necesita curenți mult mai mari decât atât. Dacă ar folosi aceeași sursă de alimentare ca Arduino și ar trage prea mult curent, ar putea arde placa Arduino. | + | Pentru ca dacă foloseau acceasi sursa de alimentare exista posibilitatea de a arde placa Arduino. |
- | Utilizarea unui releu asigură sa nu treacă curentul mare necesar pentru motor și buzzer prin placa Arduino. | + | Arduino poate furniza doar un curent limitat. |
+ | Motoarele pot necesita curenți mult mai mari decât atât. | ||
+ | Dacă ar folosi aceeași sursă de alimentare ca Arduino și ar trage prea mult curent, ar putea arde placa Arduino. | ||
+ | Utilizarea unui releu asigură sa nu treacă curentul mare necesar pentru motor prin placa Arduino. | ||
- | Laborant 1 - UART | + | **Laborant 1 - UART: [[https://ocw.cs.pub.ro/courses/pm/lab/lab1-2023]]** |
+ | Serial.begin(9600): Inițializează comunicația serială la 9600 baud. | ||
+ | Serial.println(): Folosita pentru a trimite date de la Arduino către laptop. | ||
+ | Am folosit funcțiile de comunicație serială pentru a monitoriza valorile citite de la senzor. | ||
- | Laborator 4 - ADC: [[https://ocw.cs.pub.ro/courses/pm/lab/lab4-2023-2024]] | + | **Laborator 4 - ADC: [[https://ocw.cs.pub.ro/courses/pm/lab/lab4-2023-2024]]** |
- | analogRead() pentru a citi valorile analogice de la senzor. | + | analogRead() pentru a citi valorile analogice de la senzor. |
- | Astfel valorile analogice sunt convertite în valori digitale. | + | Astfel valorile analogice sunt convertite în valori digitale. |
+ | **Video: [[https://youtube.com/shorts/-dSsuAELeEU?si=m3XrS77JXSJUmaag]]** | ||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * 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 ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Proiectul reprezintă un extinctor automat de foc. Atunci când senzorul detectează prezența unei flăcări, motorul pornește, activând un jet de apă care stinge focul. Simultan, se activează și un buzzer pentru a emite un semnal sonor de alarmă, semnalând astfel prezenta focului. |
</note> | </note> | ||
+ | **Stare finala:** | ||
- | ===== Concluzii ===== | + | {{:pm:prj2024:aungureanu:5d0b79e3-7269-4042-a882-46c7700e6c18.jpg?550|}} |
+ | {{:pm:prj2024:aungureanu:6e171b47-9b61-4f12-8887-53324b09e939.jpg?550|}} | ||
+ | {{:pm:prj2024:aungureanu:10db1c03-5b76-45fb-9360-56246170542b.jpg?550|}} | ||
- | ===== Download ===== | ||
- | <note warning> | + | ===== Concluzii ===== |
- | 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**. | + | Proiectul funcționează corect, îndeplinește ideea principala de la care am plecat atunci când am vrut sa îl creez. |
- | </note> | + | Am învățat cum sa folosesc Kicad. De asemenea, am învățat și cum sa lipsesc firele electrice. |
+ | Utilizarea unui releu a fost necesară pentru a conecta motorul la o sursă de alimentare diferită de cea a plăcii Arduino, asigurând astfel protecția acesteia împotriva unei posibile daune. | ||
- | ===== Jurnal ===== | + | ===== Download ===== |
- | <note tip> | + | {{:pm:prj2024:aungureanu:flame_fighter_niculae_karla_333cc.zip|}} |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
+ | https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf | ||
+ | |||
+ | https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-serial-monitor/ | ||
+ | |||
+ | https://www.hnhcart.com/blogs/sensors-modules/relay-module | ||
+ | |||
+ | https://www.circuitbasics.com/what-is-a-buzzer/ | ||
+ | |||
+ | https://besomi.com/product/lm393-flame-sensor/ | ||
</note> | </note> | ||