Hari ini kita akan belajar untuk membaca data analog dari sensor LDR menggunakan Blynk dan NodeMCU. Tidak hanya membaca datanya saja, kita juga akan mengontrol lampu led dengan kondisi jika kondisi gelap > led akan menyala dan ketika kondisi terang led akan mati. Data sensornya kita tampilkan pada smartphone android menggunakan Blynk.

Untuk yang belum mengenal Blynk silahkan bisa ikuti tutorial berikut ini :

Jika sudah lanjut ke tutorial ini, dan lanjut saja ya untuk bahan yang dibutuhkan sebagai berikut :

  • NodeMCU/board Esp8266, BELI
  • Sensor LDR, BELI
  • Lampu LED, BELI
  • Resistor 1K, BELI
  • Resistor 10K, BELI
  • Kabel jumper, BELI
  • Breadboard, BELI

Rangkaian

Keterangan :

  • LDR (kabel kuning)/data dihubungkan ke A0 dan resistor 10K lanjut ke GND
  • LDR (kabel merah) dihubungkan ke 3V3
  • LED (+) dihubungkan ke resistor 1K dan D2
  • LED (-) dihubungkan ke GND

BLYNK

Silahkan buka aplikasi Blynk dan ikuti langkah di bawah ini :

  1. Buat project baru > cek email untuk mendapatkan token, dan masukkan ke sketch program. Tambahkan widget Gauge.
         
  2. Seeting pada widget tesebut > ke pin Virtual 5
         
  3. Masukkan sketch progam di bawah ini

Sketch Program

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "ZYJqrdfTOZgurEiYg0"; //token dari email
char ssid[] = "xxxxxxx"; //nama wifi
char pass[] = "xxxxxx"; //password

#define ldrPin A0
#define ledPin D2 
BlynkTimer timer;

// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void sendSensor()
{
  int sensorValue = analogRead(ldrPin);
  Blynk.virtualWrite(V5, sensorValue);
  if(sensorValue < 400){
    digitalWrite(ledPin, HIGH);
  }else{
    digitalWrite(ledPin, LOW);
  }
}

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  pinMode(ledPin, OUTPUT);
  timer.setInterval(1000L, sendSensor);
}

void loop()
{
  Blynk.run();
  timer.run();
}

Yang perlu diperhatikan :

char auth[] = “ZYJqrdfTOZgurEiYg0”; //token dari email
char ssid[] = “xxxxxxx”; //nama wifi
char pass[] = “xxxxxx”; //password

isi sesuai token yang di dapat dari email > nama wifi > dan passwordnya. Upload sampai done uploading.

Hasilnya adalah jika data sensor yang terbaca di bawah 400 maka led akan menyala.

Hasilnya seperti gambar di atas, semoga berhasil. Terima kasih.

Kategori: NodeMCU

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Scroll Up
id_IDIndonesian
en_USEnglish id_IDIndonesian