Differences

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

Link to this comparison view

pm:prj2021:alazar:smokedetector [2021/06/01 23:32]
florina.drastaru
pm:prj2021:alazar:smokedetector [2021/06/03 18:18] (current)
florina.drastaru
Line 37: Line 37:
   * Leduri   * Leduri
   * Buzzer   * Buzzer
-  * +
  
 **Schema tinkercad**:​ **Schema tinkercad**:​
Line 61: Line 61:
  
 Implementarea software se bazeaza pe 2 functii principale: Implementarea software se bazeaza pe 2 functii principale:
-  ​1. Functia setup() +  ​Functia ​**setup()** 
-  2. Functia ​loop()+    * se initializeaza pinii si LCD-ul 
 +  ​- Functia **loop()** 
 +    * se afiseaza pe LCD mesaje de alerta specifice si cantitatea de fum detectata 
 +    * in functie de concentratia de gaz, se aprinde un led de o anumita culoare: 
 +      * ledul verde -> este aprins atunci cand nu este detectat fum in atmosfera(senzorul citeste o valoare mai mica decat 300) 
 +      * ledul portocaliu -> este aprins atunci cand se detecteaza o cantitate mica de fum(senzorul citeste o valoare mai mare decat 300, dar mai mica decat 380) 
 +      * ledul rosu -> este aprins atunci cand se detecteaza o cantitate mai mare de fum(senzorul citeste o valoare mai mare decat 380) 
 +    * buzzerul porneste concomitent cu ledul rosu, atunci cand se da semnalul de alerta 
 + 
 +<spoiler Cod Arduino>​ 
 +<​code>​ 
 +#include <​LiquidCrystal.h>​ 
 +LiquidCrystal lcd(7, 6, 5, 4, 3, 2); 
 + 
 +int redLed = 10; 
 +int greenLed = 11; 
 +int orangeLed = 12; 
 +int buzzer = 8; 
 +int readSmoke = A0; 
 +int maxLimit = 380; 
 +int minLimit = 300; 
 + 
 +void setup() { 
 +  pinMode(redLed,​ OUTPUT); 
 +  pinMode(greenLed,​ OUTPUT); 
 +  pinMode(buzzer,​ OUTPUT); 
 +  pinMode(orangeLed,​ OUTPUT); 
 +  pinMode(readSmoke,​ INPUT); 
 +  Serial.begin(9600);​ 
 +  lcd.begin(16,​2);​ 
 +
 + 
 +void loop() ​
 +  int analogSensor = analogRead(readSmoke);​ 
 + 
 +  Serial.print("​Pin A0: "); 
 +  Serial.println(analogSensor);​ 
 +  lcd.print("​Smoke Level:"​);​ 
 +  lcd.print(analogSensor-50);​ 
 +  if (analogSensor-50 > maxLimit) 
 +  { 
 +    digitalWrite(redLed,​ HIGH); 
 +    lcd.setCursor(0,​ 2); 
 +    lcd.print("​Alert....!!!"​);​ 
 +    digitalWrite(greenLed,​ LOW); 
 +    digitalWrite(orangeLed,​ LOW); 
 +    tone(buzzer,​ 1000, 200); 
 +  } else if (analogSensor - 50 > minLimit) { 
 +    digitalWrite(redLed,​ LOW); 
 +    digitalWrite(orangeLed,​ HIGH); 
 +    digitalWrite(greenLed,​ LOW); 
 +    lcd.setCursor(0,​ 2); 
 +    lcd.print("​Be carreful....!!!"​);​ 
 +    noTone(buzzer);​ 
 +  } 
 +   
 +  else 
 +  { 
 +    digitalWrite(redLed,​ LOW); 
 +    digitalWrite(greenLed,​ HIGH); 
 +    digitalWrite(orangeLed,​ LOW); 
 +    lcd.setCursor(0,​ 2); 
 +    lcd.print("​.....Normal....."​);​ 
 +    noTone(buzzer);​ 
 +  } 
 +  delay(500);​ 
 +  lcd.clear();​ 
 +
 +</​code>​ 
 +</​spoiler>​ 
  
 === Rezultate obtinute === === Rezultate obtinute ===
Line 88: Line 158:
  
  
-=== Download === 
-{{smoke_detector.pdf}} 
  
 === Jurnal === === Jurnal ===
 +  * 25.04 -> Alegerea temei de proiect si crearea paginii de wiki
 +  * 1.05 -> Comandarea componentelor
 +  * 18.05 -> Realizarea proiectului(atat partea hardware, cat si software)
 +  * 1.06 -> Actualizarea paginii de wiki
 +  * 2.06 -> Finalizarea paginii de wiki
  
 === Bibliografie/​Resurse ===  === Bibliografie/​Resurse === 
 +  * https://​lastminuteengineers.com/​i2c-lcd-arduino-tutorial/​
 +  * https://​lastminuteengineers.com/​mq2-gas-senser-arduino-tutorial/​
 +  * {{smoke_detector2.pdf}}
pm/prj2021/alazar/smokedetector.1622579570.txt.gz · Last modified: 2021/06/01 23:32 by florina.drastaru
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