Talaan ng mga Nilalaman:

Smart-Stat: 7 Mga Hakbang
Smart-Stat: 7 Mga Hakbang

Video: Smart-Stat: 7 Mga Hakbang

Video: Smart-Stat: 7 Mga Hakbang
Video: 187 MOBSTAZ - WE DONT DIE WE MULTIPLY (WDDWM) Official Music Video 2024, Hulyo
Anonim
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat

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

Mga Kinakailangan na Bahagi
Mga Kinakailangan na Bahagi
Mga Kinakailangan na Bahagi
Mga Kinakailangan na Bahagi
Mga Kinakailangan na Bahagi
Mga Kinakailangan na 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

Wire Breadboard para sa Temperature Sensor
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

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

Magdagdag ng Mga Pindutan
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

Ikonekta ang LCD sa Paghiwalayin ang Breadboard at sa Lakas
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

Diagram
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.

Inirerekumendang: