This shows you the differences between two versions of the page.
pm:prj2024:avaduva:ioana.ciobotea [2024/05/27 01:50] ioana.ciobotea [Software Design] |
pm:prj2024:avaduva:ioana.ciobotea [2024/05/27 11:08] (current) ioana.ciobotea [Descriere generală] |
||
---|---|---|---|
Line 14: | Line 14: | ||
<note tip> | <note tip> | ||
- | Sistem de Detectare a CO2 cu Semnalizare LED și Oprire prin Sunet | + | Sistem de Detectare a CO2 cu Semnalizare LED și Oprire prin Sunet. |
Acest proiect își propune să detecteze nivelul de dioxid de carbon (CO2) din aer și să semnalizeze nivelurile ridicate prin aprinderea unui LED roșu. După semnalizare, LED-ul poate fi oprit printr-o bătaie din palme, utilizând un senzor de sunet. | Acest proiect își propune să detecteze nivelul de dioxid de carbon (CO2) din aer și să semnalizeze nivelurile ridicate prin aprinderea unui LED roșu. După semnalizare, LED-ul poate fi oprit printr-o bătaie din palme, utilizând un senzor de sunet. | ||
Line 30: | Line 31: | ||
- Oprirea LED-ului prin Sunet: Detectarea sunetelor puternice (de ex., o bătaie din palme) cu ajutorul senzorului KY-037 și oprirea LED-ului. | - Oprirea LED-ului prin Sunet: Detectarea sunetelor puternice (de ex., o bătaie din palme) cu ajutorul senzorului KY-037 și oprirea LED-ului. | ||
- Afișare pe LCD: Afișarea nivelului de CO2 și a mesajelor de avertizare pe ecranul LCD. | - Afișare pe LCD: Afișarea nivelului de CO2 și a mesajelor de avertizare pe ecranul LCD. | ||
+ | |||
+ | * Schema bloc: | ||
+ | {{:pm:prj2024:avaduva:schema_bloc_ioana.png?200|}} | ||
</note> | </note> | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | In stadiul actual, toate componentele sunt conectate conform schemei atasate, partea hardware fiind in stadiu final. | + | In stadiul actual, toate componentele sunt conectate conform schemei atasate, partea hardware fiind in finalizata. |
<note tip> | <note tip> | ||
Line 49: | Line 53: | ||
* Arduino UNO | * Arduino UNO | ||
* Fire tata-tata, tata-mama | * Fire tata-tata, tata-mama | ||
- | </note> | + | |
+ | Schema electrica: | ||
{{:pm:prj2024:avaduva:schema_electrica_ioana_modificata.jpg?200|}} | {{:pm:prj2024:avaduva:schema_electrica_ioana_modificata.jpg?200|}} | ||
+ | |||
+ | Poza hardware: | ||
+ | |||
{{:pm:prj2024:avaduva:hardware_ioana.png?200|Poza hardware}} | {{:pm:prj2024:avaduva:hardware_ioana.png?200|Poza hardware}} | ||
+ | |||
+ | Poza primul exemplu utilizare: | ||
+ | |||
{{:pm:prj2024:avaduva:exemplu1_ioana.png?200|Exemplu 1 utilizare}} | {{:pm:prj2024:avaduva:exemplu1_ioana.png?200|Exemplu 1 utilizare}} | ||
+ | |||
+ | Poza al doilea exemplu utilizare: | ||
+ | |||
{{:pm:prj2024:avaduva:exemplu2_ioana.png?200|Exemplu 2 utilizare}} | {{:pm:prj2024:avaduva:exemplu2_ioana.png?200|Exemplu 2 utilizare}} | ||
+ | </note> | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 70: | Line 85: | ||
- | Am folosit urmatoarele elemente din laboratoare: | + | **Am folosit urmatoarele elemente din laboratoare:** |
1. GPIO: Folosit pentru controlul LED-ului roșu și senzorul de sunet. | 1. GPIO: Folosit pentru controlul LED-ului roșu și senzorul de sunet. | ||
+ | |||
Configurarea pinului pentru LED și senzor de sunet: | Configurarea pinului pentru LED și senzor de sunet: | ||
* pinMode(SoundA1, INPUT); Set SoundA1 as input | * pinMode(SoundA1, INPUT); Set SoundA1 as input | ||
Line 77: | Line 94: | ||
Controlul LED-ului: | Controlul LED-ului: | ||
- | * digitalWrite(ledPin, HIGH); // Turn on LED | + | * digitalWrite(ledPin, HIGH); Turn on LED |
- | * digitalWrite(ledPin, LOW); // Turn off LED | + | * digitalWrite(ledPin, LOW); Turn off LED |
2. ADC (Analog-to-Digital Converter): Folosit pentru citirea valorilor analogice de la senzorul MQ-2 (CO2). | 2. ADC (Analog-to-Digital Converter): Folosit pentru citirea valorilor analogice de la senzorul MQ-2 (CO2). | ||
+ | |||
Citirea valorii de la senzorul MQ-2: | Citirea valorii de la senzorul MQ-2: | ||
- | * int analogSensorCO2 = analogRead(CO2A0); // Read from A0 | + | * int analogSensorCO2 = analogRead(CO2A0); Read from A0 |
Maparea valorii citite la un interval procentual: | Maparea valorii citite la un interval procentual: | ||
- | * CO2value = map(analogSensorCO2, 0, 1023, 0, 100); // CO2 module sensitivity | + | * CO2value = map(analogSensorCO2, 0, 1023, 0, 100); CO2 module sensitivity |
3. I2C: Folosit pentru comunicarea cu ecranul LCD 16x2 I2C. | 3. I2C: Folosit pentru comunicarea cu ecranul LCD 16x2 I2C. | ||
+ | |||
Inițializarea și configurarea LCD-ului: | Inițializarea și configurarea LCD-ului: | ||
* lcd.init(); | * lcd.init(); | ||
Line 95: | Line 114: | ||
* lcd.setCursor(0, 0); | * lcd.setCursor(0, 0); | ||
- | * lcd.print("Initializing... "); // Initialization message | + | * lcd.print("Initializing... "); Initialization message |
... | ... | ||
Line 114: | Line 133: | ||
*lcd.setCursor(0, 1); | *lcd.setCursor(0, 1); | ||
*lcd.print("DANGER! "); | *lcd.print("DANGER! "); | ||
- | *lcd.write(2); // Display sad face | + | *lcd.write(2); Display sad face |
... | ... | ||
* lcd.setCursor(0, 1); | * lcd.setCursor(0, 1); | ||
* lcd.print("BAD! "); | * lcd.print("BAD! "); | ||
- | * lcd.write(2); // Display sad face | + | * lcd.write(2); Display sad face |
... | ... | ||
*lcd.setCursor(0, 1); | *lcd.setCursor(0, 1); | ||
*lcd.print("NORMAL "); | *lcd.print("NORMAL "); | ||
- | *lcd.write(1); // Display smiley face | + | *lcd.write(1); Display smiley face |
... | ... | ||
Line 146: | Line 165: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Acest proiect demonstrează o soluție eficientă și accesibilă pentru monitorizarea și controlul calității aerului în spații închise. | ||
+ | Sistemul poate detecta și semnaliza(prin aprindere led rosu) nivelurile periculoase de CO2 și poate fi integrat intr-un sistem de purificare a aerului: printr-o bataie din palme se stinge led-ul rosu si porneste purificarea aerului. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | <note> |
+ | Codul se poate descarca: | ||
+ | {{:pm:prj2024:avaduva:sketch_may27a.zip|}} | ||
</note> | </note> | ||