Cuprins:

Smart-Stat: 7 pași
Smart-Stat: 7 pași

Video: Smart-Stat: 7 pași

Video: Smart-Stat: 7 pași
Video: Uite încă o funcție ascunsă de pe iPhone👆🏻 2024, Noiembrie
Anonim
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat

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

Piese necesare
Piese necesare
Piese necesare
Piese necesare
Piese necesare
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ă

Placă de sârmă pentru senzor de temperatură
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

Piezo Buzzer
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

Adăugați butoane
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

Conectați ecranul LCD la panoul separat și la alimentare
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

Diagramă
Diagramă

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: