Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Pinapayagan ng aming produkto ang mga indibidwal na suriin ang kahusayan ng kanilang mga sistema ng pag-init at aircon sa kanilang mga tahanan sa pamamagitan ng pagsukat ng temperatura ng papasok at papalabas na freon ng isang simple at makatotohanang proseso. Ang matalinong aparato ay hikayatin ang mga tao na gumawa ng mas maraming mga desisyon na mahusay sa enerhiya sa kanilang mga sistema ng pag-init at paglamig.
Hakbang 1: Kinakailangan ang Mga Bahagi
- Arduino Uno
- Breadboard (4)
- Thermistor (2)
- 10K Resistors (2)
- Push Button
- Piezo Buzzer
- LCD Display
- Potensyomiter
- Mga Wires (25)
- Micro USB o USB Connector
Hakbang 2: Wire Breadboard para sa Temperature Sensor
Ang isang thermistor ng TMP ay isang uri ng sensor ng temperatura na sumusukat sa boltahe sa kabuuan ng sensor habang nagbabago ang temperatura sa paligid. Ang partikular na sensor ay may tatlong mga pin - isang positibo, lupa, at isang senyas. Ang sensor na ito ay isang linear sensor, at ang pagbabago sa temperatura ng isang degree Celcius ay katumbas ng pagbabago ng 10 millivolts sa output ng sensor.
Pamamaraan:
1) Ikonekta ang iyong sensor ng temperatura tulad ng ipinakita sa pigura sa itaas. Ang gitnang kawad ay makakonekta sa A0.
2) Ikonekta ang iyong pangalawang sensor ng temperatura sa katulad na paraan sa una, at ang gitnang kawad ay makakonekta sa A1.
Hakbang 3: Piezo Buzzer
Ang isang Piezo buzzer ay isang aparato na ginamit upang alerto ang gumagamit kung ang kanilang pagpainit na bentilasyon at aircon system ay hindi gumagana nang mahusay sa rurok. Ipinaalam ng naririnig na alarma sa gumagamit ang kanilang isyu.
Pamamaraan:
1) Ikonekta ang buzzer sa board tulad ng ipinakita sa figure sa itaas.
Hakbang 4: Magdagdag ng Mga Pindutan
- Ang pushbutton ay isang bahagi na nag-uugnay sa dalawang puntos sa isang circuit kapag pinindot mo ito.
- Sa aming produkto, ang cycle ng pindutan sa pagitan ng pagpapakita ng temperatura at kahusayan mula sa data na kinokolekta ng mga sensor ng temperatura.
Pamamaraan
1) Ikonekta ang pindutan tulad ng ipinakita nito sa figure sa itaas.
Hakbang 5: Ikonekta ang LCD sa Paghiwalayin ang Breadboard at sa Lakas
Ang LCD, likidong kristal na display, ay isang simpleng screen na maaaring sabihin sa gumagamit kung may mali sa pagpainit, bentilasyon at mga aircon system ng kanilang tahanan. Hal. hindi tumatakbo nang mahusay, pagkabigo ng system
Ang diagram na ibinigay ay makakatulong sa iyo na ikonekta nang wasto ang screen sa board.
Hakbang 6: Code
a = arduino ('com3', 'uno', 'library', 'HalimbawaLCD / LCDAddon'); Lumilikha si% ng isang bagay na arduino na tumutukoy sa halimbawa ng LibraryLCD / LCDAddon.
lcd = addon (a, 'HalimbawaLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); Lumilikha ang% ng bagay na LCD, at tinutukoy ang mga pin na naka-configure sa Arduino aparato.
initializeLCD (lcd, 'Rows', 2, 'Columns', 16); Pinasimulan ni% ang lcd screen
setpref ('Internet', 'SMTP_Server', 'smtp.gmail.com');
setpref ('Internet', 'E_mail', '[email protected]'); % mail account upang ipadala mula sa
setpref ('Internet', 'SMTP_Username', 'bwnanney'); % username ng mga nagpadala
setpref ('Internet', 'SMTP_Password', 'Morill1204'); % password ng mga nagpadala
props = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'totoo');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty ('mail.smtp.socketFactory.port', '465');
b = readDigitalPin (a, 'D9'); % basahin ang isang digital pin (isang digital sensor)
pagbabasa = readVoltage (a, 'A0'); % basahin ang boltahe sa analog thermister na konektado sa pin A0
pagbabasa2 = readVoltage (a, 'A2'); % basahin ang boltahe sa analog thermister na konektado sa pin A2
habang ang totoong% loops sa pamamagitan ng mayroon nang pahayag hangga't totoo
b = readDigitalPin (a, 'D9'); % basahin ang isang digital pin (isang digital sensor)
pagbabasa = readVoltage (a, 'A0'); % basahin ang boltahe sa analog thermister na konektado sa pin A0
kung ang pagbabasa> = 0.6 && pagbabasa <0.68% na may kundisyon ay nagpapatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 64 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.68 && pagbabasa <0.69% na may kundisyon na nagpapatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 66 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.69 && pagbabasa <0.7% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 68 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.7 && pagbabasa <0.71% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 70 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.71 && pagbabasa <0.72% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 72 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.72 && pagbabasa <0.73% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 74 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.73 && pagbabasa <0.74% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 76 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.74 && pagbabasa <0.75% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 78 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.75 && pagbabasa <0.76% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 80 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.76 && pagbabasa <0.77% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 82 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.77 && pagbabasa <0.8% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 84 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
playTone (a, 'D10', 880, 0.25)% gumaganap ng isang tala (a, pin, dalas, tagal)
i-pause (0.3)% naka-pause pagkatapos ng tala para sa itinakdang tagal
playTone (a, 'D10', 880, 0.25)% gumaganap ng isang tala (a, pin, dalas, tagal)
i-pause (0.3)% naka-pause pagkatapos ng tala para sa itinakdang tagal
playTone (a, 'D10', 880, 0.25)% gumaganap ng isang tala (a, pin, dalas, tagal)
i-pause (0.3)% naka-pause pagkatapos ng tala para sa itinakdang tagal
playTone (a, 'D10', 880, 0.25)% gumaganap ng isang tala (a, pin, dalas, tagal)
i-pause (0.3)% naka-pause pagkatapos ng tala para sa itinakdang tagal
playTone (a, 'D10', 987, 0.25)% gumaganap ng isang tala (a, pin, dalas, tagal)
i-pause (0.3)% naka-pause pagkatapos ng tala para sa itinakdang tagal
playTone (a, 'D10', 987, 0.25)% gumaganap ng isang tala (a, pin, dalas, tagal)
i-pause (0.3)% naka-pause pagkatapos ng tala para sa itinakdang tagal
playTone (a, 'D10', 880, 0.12)% ay gumaganap ng isang tala (a, pin, dalas, tagal)
pause (0.1)% naka-pause pagkatapos tandaan para sa itinakdang tagal
playTone (a, 'D10', 740, 0.12)% ay gumaganap ng isang tala (a, pin, dalas, tagal)
pause (0.1)% naka-pause pagkatapos tandaan para sa itinakdang tagal
playTone (a, 'D10', 587, 0.25)% gumaganap ng isang tala (a, pin, dalas, tagal)
pause (0.3)
sendmail ('[email protected] ',' Heating at Cooling Unit na Kailangan ng Serbisyo !!! ',…
'Ang sistema ng pag-init at paglamig ay gumagana nang hindi mabisa. Mangyaring magkaroon ng serbisyong tekniko sa yunit sa lalong madaling panahon. ')% Nagpadala ng isang email sa tinukoy na email account
kung hindi man basahin> = 0.8 && pagbabasa <0.85% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Temp 86 F'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man basahin> = 0.85 && pagbabasa <2% na may kundisyon na nagpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'HOT HOT BABY !!!'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
magtatapos ang% end kung pahayag
habang b == 0% na mga loop sa pamamagitan ng mayroon nang pahayag hangga't hindi totoo
b = readDigitalPin (a, 'D9'); % basahin ang isang digital pin (isang digital sensor)
pagbabasa2 = readVoltage (a, 'A2'); % basahin ang boltahe sa analog thermister na konektado sa pin A2
kung ang pagbasa2> = 0.6 && pagbabasa2 <0.68% na may kondisyon na nagpapatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 80%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.68 && pagbabasa2 <0.69% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 90%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.69 && pagbabasa2 <0.7% na may kondisyon na nagpapatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 95%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.7 && pagbabasa2 <0.71% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 97%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.71 && pagbabasa2 <0.72% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 100%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.72 && pagbabasa2 <0.73% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 95%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.73 && pagbabasa2 <0.74% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 90%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.74 && pagbabasa2 <0.75% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 85%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.75 && pagbabasa2 <0.76% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 80%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.76 && pagbabasa2 <0.77% na may kondisyon na magpatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 75%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.77 && pagbabasa2 <0.8% na may kondisyon na nagpapatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 70%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.8 && pagbabasa2 <0.85% na may kondisyon na nagpapatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'Kahusayan 65%'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
kung hindi man pagbabasa2> = 0.85 && pagbabasa2 <2% na may kundisyon na nagpapatupad ng isang solong hanay ng mga pahayag (isang bloke).
clearLCD (lcd)% nililimas ang lcd screen
printLCD (lcd, 'ON FIRE !!!'); % Mag-print ng isang string sa LCD.
pause (0.5)% pause bago isagawa ang susunod na utos
pagtatapos% pagtatapos kung pahayag
tapusin ang% pagtatapos habang loop
tapusin ang% pagtatapos habang loop
Hakbang 7: Diagram
Ito ay isang pangunahing representasyon kung saan ilalagay ang mga sensor ng temperatura sa mga linya ng paglabas at singaw upang subaybayan ang temperatura ng bawat linya at ang pagkakaiba sa pagitan nila.