KOMUNIKASI SERIAL ARDUINO DENGAN NODEMCU MENGIRIM DATA SENSOR DHT11

Jika kamu ingin melakukan komunikasi serial antara NodeMCU dan Arduino dengan lebih kompleks seperti mengirim data sensor, kamu bisa mengikuti langkah-langkah berikut:

  1. Siapkan NodeMCU, Arduino, sensor yang ingin digunakan, dan kabel jumper.

  2. Hubungkan sensor ke Arduino dan buat program pada Arduino untuk membaca data sensor tersebut dan mengirimkannya ke NodeMCU melalui pin TX. Contoh program untuk membaca data sensor DHT11 pada pin 2 dan mengirimkan data suhu dan kelembaban ke NodeMCU melalui pin TX adalah sebagai berikut:

arduino
#include <dht.h> dht DHT; void setup() { Serial.begin(9600); // inisialisasi komunikasi serial } void loop() { int chk = DHT.read11(2); Serial.print("Suhu: "); Serial.print(DHT.temperature); Serial.print("C | Kelembaban: "); Serial.print(DHT.humidity); Serial.println("%"); delay(2000); // tunggu 2 detik String data = String(DHT.temperature) + "," + String(DHT.humidity); Serial.println(data); // kirim data suhu dan kelembaban ke NodeMCU delay(1000); // tunggu 1 detik }
  1. Upload program tersebut ke Arduino.

  2. Buat program pada NodeMCU untuk membaca data serial dari pin RX dan memproses data yang diterima dari Arduino. Berikut adalah contoh program untuk membaca data suhu dan kelembaban dari Arduino dan menampilkan nilai tersebut pada Serial Monitor:

arduino
void setup() { Serial.begin(9600); // inisialisasi komunikasi serial } void loop() { if (Serial.available() > 0) { String data = Serial.readStringUntil('\n'); Serial.println(data); // proses data suhu dan kelembaban yang diterima int pos = data.indexOf(','); float suhu = data.substring(0, pos).toFloat(); float kelembaban = data.substring(pos+1).toFloat(); Serial.print("Suhu: "); Serial.print(suhu); Serial.print("C | Kelembaban: "); Serial.print(kelembaban); Serial.println("%"); } }
  1. Upload program tersebut ke NodeMCU.

  2. Hubungkan sensor ke Arduino dan hubungkan NodeMCU dan Arduino menggunakan kabel jumper.

  3. Hubungkan NodeMCU dan Arduino ke komputer melalui kabel USB.

  4. Buka Serial Monitor pada NodeMCU dan Arduino untuk melihat hasil komunikasi antara kedua board dan nilai suhu dan kelembaban yang terbaca oleh NodeMCU dari Arduino.


VERSI KE DUA

Berikut adalah langkah-langkah untuk melakukan komunikasi serial antara NodeMCU dan Arduino menggunakan SoftwareSerial pada pin RX dan TX:

  1. Sambungkan kabel USB dari komputer ke NodeMCU untuk menghubungkannya ke komputer.

  2. Buka Arduino IDE dan pilih Board NodeMCU 1.0 (ESP-12E Module) dari menu Board.

  3. Buat program untuk membaca nilai suhu dan kelembaban dari sensor DHT11 dan mengirimkan nilai tersebut melalui koneksi serial SoftwareSerial. Berikut adalah contoh program untuk NodeMCU:

    scss
    #include <SoftwareSerial.h> #include <DHT.h> #define DHTPIN D4 #define DHTTYPE DHT11 SoftwareSerial mySerial(D1, D2); DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); mySerial.begin(9600); dht.begin(); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { mySerial.println("Failed to read from DHT sensor!"); return; } mySerial.print("H:"); mySerial.print(h); mySerial.print(",T:"); mySerial.println(t); delay(2000); }

    Program ini akan membaca nilai suhu dan kelembaban dari sensor DHT11 setiap 2 detik dan mengirimkan nilai tersebut melalui koneksi serial SoftwareSerial dengan baudrate 9600 pada pin D1 sebagai RX dan pin D2 sebagai TX.

  4. Sambungkan kabel jumper dari pin D1 NodeMCU ke pin RX Arduino dan dari pin D2 NodeMCU ke pin TX Arduino.

  5. Sambungkan kabel USB dari komputer ke Arduino untuk menghubungkannya ke komputer.

  6. Buka Arduino IDE dan pilih Board yang sesuai dengan tipe Arduino yang kamu gunakan dari menu Board.

  7. Buat program untuk membaca nilai suhu dan kelembaban yang dikirimkan oleh NodeMCU melalui koneksi serial SoftwareSerial dan menampilkannya di layar OLED. Berikut adalah contoh program untuk Arduino:

    scss
    #include <Wire.h> #include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); String receivedData; void setup() { Serial.begin(9600); mySerial.begin(9600); } void loop() { if (mySerial.available() > 0) { receivedData = mySerial.readString(); Serial.println("Suhu dan Kelembaban:"); Serial.println(receivedData); } }

    Program ini akan membaca nilai yang dikirimkan oleh NodeMCU melalui koneksi serial SoftwareSerial dan menampilkan nilai suhu dan kelembaban di layar OLED.

  8. Upload program yang telah dibuat ke NodeMCU dan Arduino.

0 Response to "KOMUNIKASI SERIAL ARDUINO DENGAN NODEMCU MENGIRIM DATA SENSOR DHT11"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel

Iklan Bawah Artikel