- Komponen yang Dibutuhkan:
- Sensor Suhu LM35:
- Menghubungkan LM35 dengan NodeMCU:
- Penjelasan Kode:
- Kode HTML untuk menampilkan Suhu di Halaman Web:
- Kerja:
Dalam tutorial Memulai NodeMCU sebelumnya, kita telah melihat Apa itu NodeMCU dan bagaimana kita dapat memprogramnya menggunakan Arduino IDE . Seperti yang Anda ketahui, NodeMCU memiliki chip Wi-Fi di dalamnya, sehingga dapat juga terhubung ke internet. Sangat berguna untuk membangun Proyek IoT. Kami sebelumnya menggunakan ThingSpeak dengan Arduino untuk membuat termometer IoT, tetapi di sini kami akan membuat halaman web kami sendiri untuk menampilkan suhu.
Dalam tutorial ini kita akan mengeksplorasi lebih banyak tentang MCU yang menarik ini dan perlahan-lahan kita menyelami dunia Internet of things dengan menghubungkan NodeMCU dengan Internet. Disini kita akan menggunakan modul ini untuk mendapatkan suhu ruangan pada web browser yaitu kita akan membuat web server untuk menampilkan suhu dengan menggunakan LM35 sebagai sensor suhu.
Komponen yang Dibutuhkan:
- NodeMCU - ESP12
- Sensor Suhu LM35
- Papan tempat memotong roti
- Konektor pria-wanita
Sensor Suhu LM35:
LM35 adalah sensor suhu linier analog. Outputnya sebanding dengan suhu (dalam derajat Celcius). Kisaran suhu pengoperasian dari -55 ° C hingga 150 ° C. Tegangan output bervariasi sebesar 10mV sebagai respons terhadap setiap kenaikan atau penurunan suhu o C. Ini dapat dioperasikan dari pasokan 5V serta 3,3 V dan arus siaga kurang dari 60uA.
Perhatikan bahwa LM35 tersedia dalam 3 variasi seri yaitu seri LM35A, LM35C dan LM35D. Perbedaan utamanya terletak pada rentang pengukuran suhu mereka. Seri LM35D dirancang untuk mengukur 0 hingga 100 derajat Celcius, sedangkan seri LM35A dirancang untuk mengukur rentang yang lebih luas dari -55 hingga 155 derajat Celcius. Seri LM35C dirancang untuk mengukur dari -40 hingga 110 derajat Celcius.
Kami telah menggunakan LM35 dengan banyak mikrokontroler lain untuk mengukur suhu:
- Termometer Digital menggunakan Mikrokontroler LM35 dan 8051
- Pengukuran Suhu menggunakan Mikrokontroler LM35 dan AVR
- Termometer Digital menggunakan Arduino dan Sensor Suhu LM35
- Pengukuran Suhu Ruangan dengan Raspberry Pi
Menghubungkan LM35 dengan NodeMCU:
Diagram sirkuit untuk menghubungkan LM35 dengan NodeMCU diberikan di bawah ini:
LM35 adalah sensor analog sehingga kita harus mengubah keluaran analog ini menjadi digital. Untuk ini kami menggunakan pin ADC dari NodeMCU yang didefinisikan sebagai A0. Kami akan menghubungkan output LM35 ke A0.
Kami memiliki 3,3 V sebagai tegangan output pada pin NodeMCU. Jadi, kami akan menggunakan 3.3V sebagai Vcc untuk LM35.
Penjelasan Kode:
Kode lengkap dengan Video Demonstrasi diberikan di akhir artikel. Di sini kami menjelaskan beberapa bagian kode. Kami sudah menjelaskan untuk mengunggah kode ke MCU menggunakan Arduino IDE.
Pertama, kita harus menyertakan pustaka ESP8266wifi untuk mengakses fungsi Wi-Fi..
#include
Kemudian masukkan nama dan kata sandi Wi-Fi Anda di bidang ssid dan kata sandi . Juga menginisialisasi variabel dan memulai server pada port 80 dengan baud rate 115200.
const char * ssid = "*********"; // ssid const char * password = "***********"; // Kata Sandi Anda float temp_celsius = 0; float temp_fahrenheit = 0; Server WiFiServer (80); void setup () { Serial.begin (115200);
Koneksi Wi-Fi dibuat dengan memanggil fungsi-fungsi ini.
Serial.println (); Serial.println (); Serial.print ("Menghubungkan ke"); Serial.println (ssid); WiFi.begin (ssid, kata sandi);
Sambungan memerlukan beberapa detik untuk dibuat, jadi terus tampilkan '…' hingga sambungan tidak dapat dibuat. Kemudian sistem akan terus menunggu dan memeriksa klien untuk terhubung…
while (WiFi.status ()! = WL_CONNECTED) { delay (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi terhubung"); server.begin (); Serial.println ("Server dimulai"); Serial.println (WiFi.localIP ()); }
Di bagian loop , baca nilai sensor dan ubah menjadi Celsius dan Fahrenheit dan tampilkan nilai-nilai ini pada monitor serial.
void loop () { temp_celsius = (analogRead (A0) * 330.0) / 1023.0; // Untuk mengubah nilai analog menjadi Celcius Kami memiliki 3,3 V di papan kami dan kami tahu bahwa tegangan keluaran LM35 bervariasi sebesar 10 mV untuk setiap kenaikan / penurunan derajat Celcius. Jadi, (A0 * 3300/10 ) / 1023 = celsius temp_fahrenheit = celsius * 1.8 + 32.0; Serial.print ("Suhu ="); Serial.print (temp_celsius); Serial.print ("Celsius,");
Kode HTML untuk menampilkan Suhu di Halaman Web:
Kami menampilkan suhu di halaman web sehingga dapat diakses dari mana saja di dunia melalui internet. Kode HTML sangat sederhana; kita hanya perlu menggunakan fungsi client.println untuk menggemakan setiap baris kode HTML, sehingga browser dapat menjalankannya.
Bagian ini menunjukkan kode HTML untuk membuat halaman web yang menampilkan nilai suhu.
WiFiClient client = server.available (); client.println ("HTTP / 1.1 200 OK"); client.println ("Jenis-Konten: teks / html"); client.println ("Sambungan: tutup"); // koneksi akan ditutup setelah respons client.println ("Refresh: 10"); // perbarui halaman setelah 10 detik client.println (); client.println (""); client.println (""); client.print ("
Termometer digital
"); client.print ("Suhu (* C) = "); client.println (temp_celsius); client.print ("
Suhu (F) = "); client.println (temp_fahrenheit); client.print ("
"); client.println (" "); penundaan (5000); }Kerja:
Setelah mengupload kode menggunakan Arduino IDE, buka serial monitor dan tekan tombol Reset pada NodeMCU.
Sekarang, Anda dapat melihat papan terhubung ke jaringan Wi-Fi yang telah Anda tentukan dalam kode Anda dan juga Anda mendapatkan IP. Salin IP ini dan tempel di browser web apa pun. Pastikan sistem tempat Anda menjalankan browser web harus terhubung ke jaringan yang sama.
Termometer digital Anda sudah siap dan suhu akan disegarkan secara otomatis di browser web setelah setiap 10 detik.
Untuk membuat halaman web ini dapat diakses dari internet, Anda hanya perlu mengatur Port Forwarding di router / modem Anda. Cek Kode Lengkap dan Video di bawah ini.
Periksa juga:
- Stasiun Cuaca Raspberry Pi: Memantau Kelembaban, Suhu dan Tekanan melalui Internet
- Pemantauan Suhu dan Kelembaban Langsung melalui Internet menggunakan Arduino dan ThingSpeak