Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Beranda » Blog » NodeMCU, Mengirim Data Sensor LDR ke Thingspek

NodeMCU, Mengirim Data Sensor LDR ke Thingspek

Diposting pada 17 January 2020 oleh farhan / Dilihat: 889 kali / Kategori:

 

Mari kita belajar lagi, kali ini membahas sensor LDR. Dimana sensor ini nilainya akan berubah menyesuaikan cahaya yang diterima oleh sensor. Semakin banyak cahaya yang diterima, semakin bertambah nilai resistansinya dan sebaliknya. Nah data yang didapat akan kita kirim ke thingspeak. Berikut ini cara lengkapnya.

Alat dan bahan :

  • Nodemcu CH340/amica, BELI
  • Sensor LDR, BELI
  • Kabel Jumper, BELI
  • Projectbord, BELI
  • Resistor 10K ohm, BELI

Rangkaian

Keterangan :

  • Pemasangan kaki sensor ldr boleh terbalik
  • Kaki 1 dihubungkan ke 3.3v
  • kaki 2 ke pin A0 dan resistor 10K dan GND

Untuk terhubung ke thingspeak, silahkan login terlebih dahulu ke thingspeak.com.

  1. Buat Channel baru > nama field harus sama dengan nama field di sketch program arduino.
  2. Masuk ke menu API Keys copy write api ke sketch program
    pada program berikut : 

    String apiKey = "9ME1X3TME6O1EDRI";

Sketch Program

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

const char *ssid = "xxxxxxx";  //nama wifi
const char *password = "xxxxxxxx"; //password wifi

const char *host = "api.thingspeak.com";
String apiKey = "9ME1X389jkDRI";  //ENTER YOUR API KEY <<<<<<<<<<<

void setup() {
  delay(1000);
  Serial.begin(115200);

  WiFi.mode(WIFI_STA);        //This line hides the viewing of ESP as wifi hotspot

  WiFi.begin(ssid, password);     //Connect to your WiFi router
  Serial.println("");

  Serial.print("Connecting");
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());  //IP address assigned to your ESP
}

void loop() {
  WiFiClient client;
  const int httpPort = 80; //Port 80 is commonly used for www

  if (!client.connect(host, httpPort)) {
    Serial.println("Connection Failed");
    delay(300);
    return; //Keep retrying until we get connected
  }

  String ldr;
  int adcvalue = analogRead(A0); //Read Analog value of LDR
  ldr = String(adcvalue);   //String to interger conversion
  String Link = "GET /update?api_key=" + apiKey + "&field1="; //Requeste webpage
  Link = Link + ldr;
  Link = Link + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n";
  client.print(Link);
  delay(100);

  int timeout = 0;
  while ((!client.available()) && (timeout < 1000)) {
    delay(10);  //Use this with time out
    timeout++;
  }

  if (timeout < 500) {
    while (client.available()) {
      Serial.println(client.readString()); //Response from ThingSpeak
    }
  }
  else {
    Serial.println("Request timeout..");
  }

  delay(5000);  //Read Web Page every 5 seconds
}
  • Upload sketch program di atas
  • Board : NodeMCU 1.0
  • Port : terceklis

Hasilnya seperti di bawah ini :

Silahkan uji coba dengan cahaya yang terang dan gelap. Data akan updte setiap 5 detik sekali.

Terima kasih.

Bagikan ke

NodeMCU, Mengirim Data Sensor LDR ke Thingspek

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

NodeMCU, Mengirim Data Sensor LDR ke Thingspek

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: