This is an old revision of the document!
În ceea ce privește utilitatea proiectului, acesta poate fi folosit în diferite medii, cum ar fi locuințe, birouri, școli sau alte spații închise unde calitatea aerului poate fi o problemă. Nivelurile ridicate de CO2 pot indica faptul că spațiul nu este suficient de ventilat, ceea ce poate avea un impact negativ asupra sănătății și confortului. Prin monitorizarea nivelului de CO2 și indicarea acestuia utilizatorului, proiectul poate ajuta la îmbunătățirea calității aerului și la crearea unui mediu mai sănătos.
În plus, acest proiect poate fi un instrument educativ pentru cei interesați de programare și de construirea de dispozitive electronice. Este o modalitate bună de a învăța cum să utilizezi senzori, biblioteci și ecrane LCD, precum și cum să interacționezi cu acestea folosind un microcontroller Arduino. În general, proiectul este util pentru cei care doresc să-și îmbunătățească calitatea aerului dintr-o cameră sau să învețe mai multe despre programare și electronice.
#include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); const int buzzer = 13; const int CO2A0 = A0; const int led = 12; int CO2value = 0; // Definim matricile pentru caractere personalizate byte smiley[8] = { 0b00000, 0b01010, 0b01010, 0b00000, 0b00000, 0b10001, 0b01110, 0b00000 }; byte sad[8] = { 0b00000, 0b01010, 0b01010, 0b00000, 0b00000, 0b01110, 0b10001, 0b00000 }; void setup() { lcd.init(); // initiate the lcd lcd.backlight(); Serial.begin(9600); pinMode(buzzer, OUTPUT); pinMode(led, OUTPUT); // Cream caracterele personalizate lcd.createChar(1, smiley); lcd.createChar(2, sad); lcd.setCursor(0,0); lcd.print("Initializing... "); // initializare cu mesajul "Initializing... " lcd.setCursor(0,1); lcd.print(" "); // curatare rand 2 for(int i=1; i<=100; i++){ // afișează procentajul de la 1 la 100 lcd.setCursor(12, 1); lcd.print(i); lcd.print("% "); delay(150); } delay(2000); } void loop() { int analogSensor = analogRead(CO2A0); CO2value = map(analogSensor, 0, 1023, 0, 100); //CO2 module sensitivity lcd.setCursor(0,0); lcd.print("CO2 Level:"); lcd.setCursor(11,0); lcd.print(CO2value); lcd.print("% "); // Checks if it has reached the threshold value if (CO2value >= 20) { //CO2 percentage alert lcd.setCursor(0,1); lcd.print("DANGER!"); tone(buzzer, 2000, 10000); digitalWrite(led, HIGH); lcd.print(" "); // adaugam un spatiu liber lcd.write(2); // afisam fata trista } else if (CO2value >= 15 && CO2value < 20 ) { lcd.setCursor(0,1); lcd.print("BAD!"); noTone(buzzer); digitalWrite(led, LOW); lcd.print(" "); // adaugam un spatiu liber lcd.write(2); // afisam fata trista } else { lcd.setCursor(0,1); lcd.print("NORMAL"); noTone(buzzer); digitalWrite(led, LOW); lcd.print(" "); // adaugam un spatiu liber lcd.write(1); // afisam fata zambitoare } delay(500); lcd.clear(); }
Rezultatele obținute în urma realizării proiectului au fost satisfăcătoare. Dispozitivul a fost capabil să măsoare nivelul de CO2 cu acuratețe și să afișeze aceste valori pe un ecran LCD. Acesta a putut, de asemenea, să alerteze utilizatorul atunci când nivelul de CO2 a depășit anumite valori. Proiectul a fost considerat un succes de către mine, iar acesta a oferit o experiență valoroasă în dezvoltarea și implementarea unei aplicații practice cu senzori și microcontrolere.
===== Download =====
===== Jurnal =====
===== Bibliografie/Resurse =====