Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:aungureanu:karla.niculae [2024/05/26 17:34]
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 135: Line 137:
 **Functia setup()** **Functia setup()**
  
-pinMode(relay,​ OUTPUT): Configurează pinul relay (pinul 13) ca ieșire. Acest pin va fi utilizat pentru a controla releul+pinMode(relay,​ OUTPUT): Configurează pinul relay (pinul 13) ca ieșire. Acest pin va fi utilizat pentru a controla releul
-pinMode(sensor,​ INPUT): Configurează pinul sensor (pinul 0) ca intrare. Acest pin va fi utilizat pentru a citi valorile de la senzor. +
-Serial.begin(9600):​ Inițializează comunicarea serială la o rată de transfer de 9600 baud. Aceasta permite trimiterea datelor către Serial Monitor pentru a vizualiza valorile senzorului.+
  
-Astfel cu cel de input voi putea citi date, iar cu cel de output pot trimite semnale de tensiune.+pinMode(sensor,​ INPUT): Configurează pinul sensor (pinul 0) ca intrare. Acest pin va fi utilizat pentru a citi valorile de la senzor 
 + 
 +Serial.begin(9600):​ Inițializează comunicarea serială la o rată de transfer de 9600 baud. Aceasta permite trimiterea datelor către ​                    ​Serial Monitor pentru a vizualiza valorile senzorului 
 + 
 +Astfel cu cel de input voi putea citi date, iar cu cel de output pot trimite semnale de tensiune
  
 **Funcția loop()** **Funcția loop()**
Line 145: Line 149:
 Este utilizată pentru a rula în mod continuu codul principal al programului. Este utilizată pentru a rula în mod continuu codul principal al programului.
  
-int val = analogRead(sensor):​ Citește valoarea analogică de la senzorul conectat la pinul sensor (pinul A0) și o stochează în variabila val.+int val = analogRead(sensor):​ Citește valoarea analogică de la senzorul conectat la pinul sensor (pinul A0) și o stochează în variabila ​                                                            ​val
  
-Serial.println(val):​ Trimite valoarea citită de la senzor către Serial Monitor pentru a fi afișată.+Serial.println(val):​ Trimite valoarea citită de la senzor către Serial Monitor pentru a fi afișată
  
-if (val <= 100): Verifică dacă valoarea citită de la senzor este mai mică sau egală cu 100.+if (val <= 100): Verifică dacă valoarea citită de la senzor este mai mică sau egală cu 100
  
-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
  
-digitalWrite(relay, HIGH): Dacă valoarea este mai mare de 100, setez pinul relay la HIGH, ceea ce va opri buzzer-ul și motorul.+delay(4500): sa funcționeze ​mai mult timp
  
-delay(500): Pune în așteptare execuția codului pentru 500 de milisecunde înainte de a repeta bucla.+digitalWrite(relay,​ HIGH): Dacă valoarea este mai mare de 100, setez pinul relay la HIGH, ceea ce va opri buzzer-ul și motorul 
 + 
 +delay(500): Pune în așteptare execuția codului pentru 500 de milisecunde înainte de a repeta bucla 
 + 
 + 
 +Utilizarea functionalitatilor din laborator in cadrul proiectului:​ 
 + 
 +**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.  
 + 
 +   ​Setarea Pinilor 
 +   ​Controlul Releului 
 + 
 +   Am folosit releul pentru a nu se folosi acceasi sursa de alimentare pentru motor, cu Arduino.  
 +   ​Pentru ca dacă foloseau acceasi sursa de alimentare exista posibilitatea de a arde 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: [[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]]** 
 + 
 +   ​analogRead() pentru a citi valorile analogice de la senzor.  
 + 
 +   ​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 Alin331CC -> **:​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 KicadDe asemeneaam î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>​
  
pm/prj2024/aungureanu/karla.niculae.1716734060.txt.gz · Last modified: 2024/05/26 17:34 by karla.niculae
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0