Cuprins:
- Pasul 1: Piese necesare
- Pasul 2: Placă de sârmă pentru senzor de temperatură
- Pasul 3: Piezo Buzzer
- Pasul 4: Adăugați butoane
- Pasul 5: Conectați ecranul LCD la panoul separat și la alimentare
- Pasul 6: Cod
- Pasul 7: Diagrama
Video: Smart-Stat: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Produsul nostru permite persoanelor să verifice eficiența sistemelor lor de încălzire și aer condiționat în casele lor prin măsurarea temperaturii freonului de intrare și ieșire printr-un proces simplu și realist. Acest dispozitiv inteligent va încuraja oamenii să ia decizii mai eficiente din punct de vedere energetic cu sistemele lor de încălzire și răcire.
Pasul 1: Piese necesare
- Arduino Uno
- Panou (4)
- Termistor (2)
- Rezistențe 10K (2)
- Apasa butonul
- Piezo Buzzer
- Ecran LCD
- Potențiometru
- Firuri (25)
- Micro USB sau conector USB
Pasul 2: Placă de sârmă pentru senzor de temperatură
Un termistor TMP este un tip de senzor de temperatură care măsoară tensiunea pe senzor pe măsură ce temperatura ambiantă se schimbă. Acest senzor special are trei pini - un pozitiv, masă și un semnal. Acest senzor este un senzor liniar, iar schimbarea temperaturii de un grad Celcius este echivalentă cu o schimbare de 10 milivolți la ieșirea senzorului.
Procedură:
1) Conectați senzorul de temperatură așa cum se arată în figura de mai sus. Firul din mijloc se va conecta la A0.
2) Conectați al doilea senzor de temperatură într-un mod similar cu primul, iar firul din mijloc se va conecta la A1.
Pasul 3: Piezo Buzzer
Un buzzer Piezo este un dispozitiv utilizat pentru a avertiza utilizatorul atunci când sistemul lor de ventilație și încălzire nu funcționează la vârf în mod eficient. Alarma sonoră informează utilizatorul că este o problemă.
Procedură:
1) Conectați buzzer-ul la placa așa cum se arată în figura de mai sus.
Pasul 4: Adăugați butoane
- Butonul este o componentă care conectează două puncte dintr-un circuit atunci când îl apăsați.
- În produsul nostru, butonul alternează între afișarea temperaturii și eficiența din datele colectate de senzorii de temperatură.
Procedură
1) Conectați butonul așa cum se arată în figura de mai sus.
Pasul 5: Conectați ecranul LCD la panoul separat și la alimentare
Ecranul LCD, cu cristale lichide, este un ecran simplu care poate spune utilizatorului când ceva nu este în regulă cu sistemele de încălzire, ventilație și aer condiționat de acasă. Ex. nu funcționează eficient, eșecul sistemului
Diagrama furnizată vă va ajuta să conectați corect ecranul la tablă.
Pasul 6: Cod
a = arduino ('com3', 'uno', 'libraries', 'ExampleLCD / LCDAddon'); % creează un obiect arduino specificând biblioteca ExampleLCD / LCDAddon.
lcd = addon (a, 'ExampleLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % creează obiectul LCD și specifică pinii configurați pe dispozitivul Arduino.
initializeLCD (lcd, 'Rows', 2, 'Coloane', 16); % inițializează ecranul LCD
setpref ('Internet', 'SMTP_Server', 'smtp.gmail.com');
setpref („Internet”, „E-mail”, „[email protected]”); % cont de poștă de la care să trimiteți
setpref ('Internet', 'SMTP_Username', 'bwnanney'); Numele de utilizator% expeditori
setpref ('Internet', 'SMTP_Password', 'Morill1204'); parolă% expeditori
props = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'true');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty ('mail.smtp.socketFactory.port', '465');
b = readDigitalPin (a, 'D9'); % citește un pin digital (un senzor digital)
reading = readVoltage (a, 'A0'); % citiți tensiunea de pe termisterul analogic conectat la pinul A0
reading2 = readVoltage (a, 'A2'); % citiți tensiunea pe termisterul analogic conectat la pinul A2
în timp ce adevărat% parcurge declarația existentă atâta timp cât este adevărat
b = readDigitalPin (a, 'D9'); % citește un pin digital (un senzor digital)
reading = readVoltage (a, 'A0'); % citiți tensiunea de pe termisterul analogic conectat la pinul A0
dacă citirea> = 0,6 && citirea <0,68% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 64 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.68 && reading <0.69% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 66 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.69 && reading <0.7% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 68 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.7 && reading <0.71% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 70 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.71 && reading <0.72% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 72 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.72 && reading <0.73% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 74 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.73 && reading <0.74% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 76 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.74 && reading <0.75% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 78 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0,75 && reading <0,76% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 80 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.76 && reading <0.77% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 82 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.77 && reading <0.8% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 84 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
playTone (a, „D10”, 880, 0,25)% redă o notă (a, pin, frecvență, durată)
pauză (0,3)% se întrerupe după notă pentru durata stabilită
playTone (a, „D10”, 880, 0,25)% redă o notă (a, pin, frecvență, durată)
pauză (0,3)% se întrerupe după notă pentru durata stabilită
playTone (a, „D10”, 880, 0,25)% redă o notă (a, pin, frecvență, durată)
pauză (0,3)% se întrerupe după notă pentru durata stabilită
playTone (a, „D10”, 880, 0,25)% redă o notă (a, pin, frecvență, durată)
pauză (0,3)% se întrerupe după notă pentru durata stabilită
playTone (a, „D10”, 987, 0,25)% redă o notă (a, pin, frecvență, durată)
pauză (0,3)% se întrerupe după notă pentru durata stabilită
playTone (a, „D10”, 987, 0,25)% redă o notă (a, pin, frecvență, durată)
pauză (0,3)% se întrerupe după notă pentru durata stabilită
playTone (a, „D10”, 880, 0,12)% redă o notă (a, pin, frecvență, durată)
pauză (0,1)% pauze după notă pentru durata setată
playTone (a, „D10”, 740, 0,12)% redă o notă (a, pin, frecvență, durată)
pauză (0,1)% pauze după notă pentru durata setată
playTone (a, „D10”, 587, 0,25)% redă o notă (a, pin, frecvență, durată)
pauză (0,3)
sendmail ('[email protected] ',' Unitate de încălzire și răcire care are nevoie de service !!! ', …
„Sistemul de încălzire și răcire funcționează ineficient. Vă rugăm să solicitați un service tehnic unității cât mai curând posibil. ')% Trimite un e-mail la contul de e-mail specificat
elseif reading> = 0.8 && reading <0.85% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Temp 86 F”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading> = 0.85 && reading <2% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „HOT HOT BABY !!!”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
end% se încheie if statement
în timp ce b == 0% parcurge declarația existentă, atâta timp cât este falsă
b = readDigitalPin (a, 'D9'); % citește un pin digital (un senzor digital)
reading2 = readVoltage (a, 'A2'); % citiți tensiunea pe termisterul analogic conectat la pinul A2
dacă reading2> = 0.6 && reading2 <0.68% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 80%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.68 && reading2 <0.69% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 90%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.69 && reading2 <0.7% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 95%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.7 && reading2 <0.71% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 97%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.71 && reading2 <0.72% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 100%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.72 && reading2 <0.73% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 95%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.73 && reading2 <0.74% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 90%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.74 && reading2 <0.75% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 85%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.75 && reading2 <0.76% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 80%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.76 && reading2 <0.77% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 75%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.77 && reading2 <0.8% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 70%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.8 && reading2 <0.85% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, „Eficiență 65%”); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
elseif reading2> = 0.85 && reading2 <2% execută condiționat un singur set de instrucțiuni (un bloc).
clearLCD (lcd)% șterge ecranul lcd
printLCD (lcd, 'ON FIRE !!!'); % Imprimați un șir pe ecranul LCD.
pauză (0,5)% pauze înainte de a executa următoarea comandă
end% end if statement
end% end while loop
end% end while loop
Pasul 7: Diagrama
Aceasta este o reprezentare de bază a locului în care senzorii de temperatură ar fi plasați pe liniile de descărcare și vapori pentru a monitoriza temperatura fiecărei linii și diferențialul dintre ele.
Recomandat:
Smart Home by Raspberry Pi: 5 pași (cu imagini)
Smart Home by Raspberry Pi: Există deja mai multe produse care vă fac apartamentul mai inteligent, dar cele mai multe dintre ele sunt soluții proprietare. Dar de ce ai nevoie de o conexiune la internet pentru a comuta o lumină cu smartphone-ul tău? Acesta a fost unul dintre motivele pentru care mi-am construit propriul Smar
Nexus 7 Smart Case cu sugru și magnet: 5 pași
Nexus 7 Smart Case W / Sugru & Magnet: La scurt timp după ce oamenii au pus mâna pe Nexus 7, cineva a constatat că acesta a răspuns unui magnet plasat într-o anumită zonă, la fel ca huse inteligente ale iPad-ului. Niciunul dintre cazurile pe care le-am văzut nu a avut acest lucru și nici nu aș putea găsi unul care să se deschidă deasupra vârfului ca un
DIY MATRIX SMART LED CONTROLAT PE INTERNET (ADAFRUIT + ESP8266 + WS2812): 8 pași (cu imagini)
DIY MATRIX LED SMART LED CONTROLAT (ADAFRUIT + ESP8266 + WS2812): Iată al 2-lea meu avans către un proiect pe care sunt foarte încântat să vi-l arăt. Este vorba despre o matrice LED Smart DIY care vă va permite să afișați pe ea, date, cum ar fi YouTube Stats, Statisticile dvs. Smart Home, ca temperatură, umiditate, pot fi un simplu ceas sau pur și simplu să arate
DIY Trainer Smart Bike Bike: 5 pași
DIY Trainer inteligent pentru biciclete de interior: Introducere Acest proiect a început ca o simplă modificare a unei biciclete de interior Schwinn IC Elite care folosește un șurub simplu și tampoane de pâslă pentru setările de rezistență. Problema pe care am vrut să o rezolv a fost că pasul șurubului era prea mare, astfel încât gama
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r