- Kinakailangan ang Mga Bahagi:
- LM35 Temperatura Sensor:
- Pagkonekta ng LM35 sa NodeMCU:
- Paliwanag sa Code:
- HTML Code upang ipakita ang Temperatura sa WebPage:
- Nagtatrabaho:
Sa nakaraang Pagsisimula sa tutorial ng NodeMCU, nakita namin ang Ano ang NodeMCU at kung paano namin ito mai-program gamit ang Arduino IDE . Tulad ng alam mo na ang NodeMCU ay mayroong Wi-Fi chip sa loob kaya, maaari rin itong kumonekta sa internet. Napaka kapaki-pakinabang upang bumuo ng Mga Proyekto ng IoT. Ginamit namin dati ang ThingSpeak kasama ang Arduino upang gawin ang thermometer ng IoT, ngunit dito lilikha ng aming sariling webpage upang maipakita ang temperatura.
Sa tutorial na ito ay masisiyasat namin ang higit pa tungkol sa kagiliw-giliw na MCU na ito at dahan-dahang sumisid kami sa Internet ng mga bagay sa mundo sa pamamagitan ng pagkonekta sa NodeMCU sa Internet. Dito ay gagamitin namin ang modyul na ito upang makakuha ng temperatura ng kuwarto sa web browser hal. Gagawa kami ng isang web server upang maipakita ang temperatura gamit ang LM35 bilang temperatura sensor.
Kinakailangan ang Mga Bahagi:
- NodeMCU - ESP12
- LM35 Temperatura Sensor
- Breadboard
- Mga konektor ng lalaki-babae
LM35 Temperatura Sensor:
Ang LM35 ay isang analog linear sensor ng temperatura. Ang output nito ay proporsyonal sa temperatura (sa degree Celsius). Ang saklaw ng temperatura ng operating ay mula -55 ° C hanggang 150 ° C. Ang output boltahe ay nag-iiba sa pamamagitan 10mV bilang tugon sa bawat o C pagtaas o mahulog sa temperatura. Maaari itong patakbuhin mula sa isang 5V pati na rin ang 3.3 V supply at ang stand by current ay mas mababa sa 60uA.
Tandaan na ang LM35 ay magagamit sa 3 mga pagkakaiba-iba ng serye katulad ng serye ng LM35A, LM35C at LM35D. Ang pangunahing pagkakaiba ay sa kanilang saklaw ng mga sukat ng temperatura. Ang serye ng LM35D ay idinisenyo upang masukat ang 0 hanggang 100 degree Celsius, kung saan ang serye ng LM35A ay idinisenyo upang masukat ang isang mas malawak na saklaw na -55 hanggang 155 degree Celsius. Ang serye ng LM35C ay idinisenyo upang masukat mula -40 hanggang 110 degree Celsius.
Gumamit na kami ng LM35 sa maraming iba pang mga microcontroller upang masukat ang temperatura:
- Digital Thermometer gamit ang LM35 at 8051 Microcontroller
- Pagsukat ng Temperatura gamit ang LM35 at AVR Microcontroller
- Digital Thermometer gamit ang Arduino at LM35 Temperature Sensor
- Pagsukat ng Temperatura sa Silid na may Raspberry Pi
Pagkonekta ng LM35 sa NodeMCU:
Ang diagram ng circuit para sa pagkonekta sa LM35 sa NodeMCU ay ibinibigay sa ibaba:
Ang LM35 ay isang analog sensor kaya kailangan nating i-convert ang digital output na ito sa digital. Para dito ginagamit namin ang ADC pin ng NodeMCU na tinukoy bilang A0. Ikonekta namin ang output ng LM35 sa A0.
Mayroon kaming 3.3 V bilang output boltahe sa mga pin ng NodeMCU. Kaya, gagamitin namin ang 3.3V bilang Vcc para sa LM35.
Paliwanag sa Code:
Ang kumpletong code na may Demonstration Video ay ibinibigay sa pagtatapos ng artikulo. Narito ipinapaliwanag namin ang ilang bahagi ng code. Ipinaliwanag na namin na mag-upload ng code sa MCU gamit ang Arduino IDE.
Una, kailangan naming isama ang library ng ESP8266wifi upang ma-access ang mga pagpapaandar ng Wi-Fi..
# isama
Pagkatapos ay ipasok ang iyong pangalan ng Wi-Fi at password sa patlang na ssid at password . Pinasimulan din ang mga variable at simulan ang server sa port 80 na may baud rate na 115200.
const char * ssid = "*********"; // Your ssid const char * password = "*********"; // Your Password float temp_celsius = 0; float temp_fahrenheit = 0; WiFiServer server (80); void setup () { Serial.begin (115200);
Ang koneksyon ng Wi-Fi ay itinatag sa pamamagitan ng pagtawag sa mga pagpapaandar na ito.
Serial.println (); Serial.println (); Serial.print ("Kumokonekta sa"); Serial.println (ssid); WiFi.begin (ssid, password);
Ang koneksyon ay maaaring tumagal ng ilang segundo upang maitaguyod upang patuloy na ipakita ang '…' hanggang ang koneksyon ay hindi maitatag. Pagkatapos ay patuloy na maghihintay ang system at susuriin para sa isang client na kumonekta…
habang (WiFi.status ()! = WL_CONNected) { pagkaantala (500); Serial.print ("."); } Serial.println (""); Serial.println ("Konektado ang WiFi"); server.begin (); Serial.println ("Nagsimula ang server"); Serial.println (WiFi.localIP ()); }
Sa seksyon ng loop , basahin ang mga halaga ng sensor at i-convert ito sa Celsius at Fahrenheit at ipakita ang mga halagang ito sa serial monitor.
void loop () { temp_celsius = (analogRead (A0) * 330.0) / 1023.0; // Upang mai-convert ang mga halagang analog sa Celsius Mayroon kaming 3.3 V sa aming board at alam namin na ang output voltage ng LM35 ay nag-iiba sa 10 mV sa bawat degree na pagtaas / pagbagsak ng Celsius. Kaya, (A0 * 3300/10 ) / 1023 = celsius temp_fahrenheit = celsius * 1.8 + 32.0; Serial.print ("Temperatura ="); Serial.print (temp_celsius); Serial.print ("Celsius,");
HTML Code upang ipakita ang Temperatura sa WebPage:
Ipinapakita namin ang temperatura sa isang webpage upang maaari itong ma-access mula sa kahit saan sa mundo sa pamamagitan ng internet. Ang HTML code ay napaka-simple; kailangan lang naming gumamit ng pag- andar ng client.println upang i-echo ang bawat linya ng HTML code, upang maisagawa ito ng browser.
Ipinapakita ng bahaging ito ang HTML code upang lumikha ng isang web page na nagpapakita ng halaga ng temperatura.
WiFiClient client = server.available (); client.println ("HTTP / 1.1 200 OK"); client.println ("Uri ng Nilalaman: teksto / html"); client.println ("Koneksyon: malapit"); // ang koneksyon ay sarado pagkatapos makumpleto ang tugon client.println ("Refresh: 10"); // update the page after 10 sec client.println (); client.println (""); client.println (""); client.print ("
Digital Thermometer
"); client.print ("Temperatura (* C) = "); client.println (temp_celsius); client.print ("
Temperatura (F) = "); client.println (temp_fahrenheit); client.print ("
"); client.println (" "); antala (5000); }Nagtatrabaho:
Matapos i-upload ang code gamit ang Arduino IDE, buksan ang serial monitor at pindutin ang I-reset ang pindutan sa NodeMCU.
Ngayon, maaari mong makita ang board ay konektado sa Wi-Fi network na tinukoy mo sa iyong code at nakuha mo rin ang IP. Kopyahin ang IP na ito at i-paste ito sa anumang web browser. Tiyaking ang iyong system kung saan mo pinapatakbo ang web browser ay dapat na konektado sa parehong network.
Ang iyong digital thermometer ay handa na at ang temperatura ay awtomatikong mare-refresh sa web browser pagkatapos ng bawat 10 Sec.
Upang ma-access ang webpage na ito mula sa internet, kailangan mo lamang itakda ang Port Forwarding sa iyong router / modem. Suriin ang kumpletong code at Video sa ibaba.
Suriin din:
- Station ng Panahon ng Raspberry Pi: Pagsubaybay sa Humidity, Temperatura at Presyon sa Internet
- Live na Temperatura at Pagmamanman ng Humidity sa Internet gamit ang Arduino at ThingSpeak