ESP8266, Cara Mengirim Data Sensor Jarak ke Thingspeak

Hello Sahabat Anak Kendali,

pada kesempatan kali ini saya akan mengisi Artikel tentang tutorial ESP8266, Cara Mengirim Data Sensor Jarak ke Thingspeak, menggunakan Arduino Uno,

 sebelumnya juga saya sudah menuliskan Artikel yang berkaitan tentang Cara ESP8266, mengirim data sensor Suhu LM35 ke thingspeak, silahkan cari artikelnya di web www.anakkendali.com, utuk mempermudahkan pencarian, sudah tersedia menu daftar isi di atas.

keyword :
ESP8266, Cara Mengirim Data Sensor Jarak ke Thingspeak, menggunakan Arduino Uno,

ESP8266-01 Arduino Thingspeak
ESP8266-01 Arduino Thingspeak IOT
ESP8266-01 Arduino Thingspeak Cara Mengirim Ke Thingspeak
ESP8266-01 Arduino Thingspeak Mengirim data ke Thingspeak
ESP8266-01 Arduino Thingspeak Megirim Data Sensor, Internet Of Things

langsung saja ke tutorial ESP8266, Cara Mengirim Data Sensor Jarak ke Thingspeak, menggunakan 

seperti biasanya kita rakit dulu rangkaiannya, adapun komponen yang dibutuhkan sebagai berikut :

Arduino Uno
ESP8266 01
Sensor Jarak Ultrasonik SRF-04
LCD 16×2
Modul I2c lcd16x2

setelah itu silahkan rangkai Arduino Uno ke ESP8266 seperti berikut

TX ESP8266 —- 10 Arduino
RX ESP8266 —- 11 Arduino
VCC ESP8266 — 3,3V Arduino
En/Ch_pd RSP8266 — 3,3V Arduino
GND ESP8266 —- GND Arduino
untuk sensor jaraknya silahkan buat rangakaianya seperti berikut :

Triger Srf-04 —- 6 Arduino
Echo Srf-04  —- 7 Arduino
Vcc Srf-04  —-  5V Arduino
GND Srf-04 —- GND Arduino

dan untuk I2C LCD nya silahkan rangkai seperti berikut :
VCC Module I2c Lcd — 5V Arduino
GND Module I2c Lcd — GND Arduino
SDA Module I2c Lcd — A4 Arduino
SCL  Module I2c Lcd — A5 Arduino

sebelumnya pastikan kamu tidak kebingungan kalo pin 5V arduino nya kurang, dan hal ini biasanya ditanyakan oleh orang yang baru belajar Arduino tapi langsung mencoba project yang tingkat menengah ke atas.

jika sudah selesai sekarang silahkan buat programnya seperti berikut :

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);

#include <SoftwareSerial.h> // memasukan library sofwareserial
SoftwareSerial wifi(10,11); // RX, TX

#define WiFiSSID "KOST_RAMA"
#define WiFiPassword "bayardulu500"
#define DestinationIP "184.106.153.149" // ip web thingspeak.com
#define TS_Key "50Q3GXC5IM2SNTJP" // api key dari thingspeak.com buat chanel untuk mendapatkanya

#define triger 6
#define echo 7

boolean connected=false;

unsigned int durasi, jarak;

char c;
String cmd;

// berikut adalah fungsi program sensor jarak

void sensor_jarak(){

digitalWrite(triger, LOW);
  delayMicroseconds(2);
  digitalWrite(triger, HIGH);
  delayMicroseconds(10);
  digitalWrite(triger, LOW);
  delayMicroseconds(2);

durasi = pulseIn(echo, HIGH);
jarak = durasi/58.2;

delay(300);
}

void setup()
{
lcd.begin();

wifi.begin(9600);
wifi.setTimeout(5000);
Serial.begin(9600);
Serial.println("ESP8266 Client Demo");
delay(1000);
//  periksa apakah modul ESP8266 aktif
wifi.println("AT+RST");
delay(1000);
if(wifi.find("WIFI GOT IP"))
{
Serial.println("Modul siap");
}
else
{
Serial.println("Tidak ada respon dari modul");
while(1);
}
delay(1000);
//setelah modul siap, kita coba koneksi sebanyak 5 kali

for(int i=0;i<5;i++)
{
connect_to_WiFi();
if (connected)
{
break;
}
}
if (!connected){
while(1);
}
delay(5000);

// set the single connection mode
wifi.println("AT+CIPMUX=0");
delay(1000);

pinMode(triger, OUTPUT);
pinMode(echo, INPUT);
}

unsigned long lastTime=0;

void loop()
{
  sensor_jarak(); // memanggil fungsi program sensor jarak
  if (millis() - lastTime >=500){
lcd.clear();

lcd.setCursor(0,0);
lcd.print ("jarak: ");
lcd.print(jarak);
lcd.setCursor(0,1);
lcd.print("OTW thingspeak");
  lastTime = millis();
  }
  kirim_thingspeak();
}

void kirim_thingspeak()
{

cmd = "AT+CIPSTART="TCP","";
cmd += DestinationIP ;
cmd += "",80";
wifi.println(cmd);
Serial.println(cmd);
if(wifi.find("Error"))
{
Serial.println("Koneksi error.");
return;
}

cmd = "GET /update?key=";
cmd += TS_Key;
cmd +="&field1=";
cmd += jarak;
cmd += "rn";        // jangan lupa, setiap perintah selalu diakhiri dengan CR+LF
wifi.print("AT+CIPSEND=");
wifi.println(cmd.length());
if(wifi.find(">"))
{
Serial.print(">");
}
else
{
wifi.println("AT+CIPCLOSE");
Serial.println("koneksi timeout");
delay(1000);
return;
}
wifi.print(cmd);
delay(2000);

while (wifi.available())
{
 c = wifi.read();
Serial.write(c);
if(c=='r') Serial.print('n');
}
Serial.println("------end");
delay(10000);
}

void connect_to_WiFi()
{
wifi.println("AT+CWMODE=1");
String cmd="AT+CWJAP="";
cmd+=WiFiSSID;
cmd+="","";
cmd+=WiFiPassword;
cmd+=""";
wifi.println(cmd);
Serial.println(cmd);
if(wifi.find("OK"))
{
Serial.println("Sukses, terkoneksi ke WiFi.");
connected= true;
}
else
{
Serial.println("Tidak dapat terkoneksi ke WiFi. ");
connected= false;
}
}

disini kamu bisa lihat video hasilnya, semoga berhasil

chaerul

View Comments

Recent Posts

Panduan Lengkap: Cara Menyiapkan Klaster Kubernetes pada Ubuntu 22.04 LTS

Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…

6 days ago

AplikasiAkademik.com: Solusi Terbaik untuk Manajemen Sekolah yang Efisien

Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…

7 months ago

Cara Mudah Menginstal OpenVPN Server di Ubuntu 20.04 di Huaweicloud Panduan Langkah demi Langkah

Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…

12 months ago

Install Docker Portainer dan Nginx Proxy Manager Ubuntu Server

Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…

1 year ago

Tutorial led blinking lengkap, Wiring & Code

Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…

1 year ago

Tutorial LCD Display Lengkap dengan wiring & code untuk pemula

Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…

1 year ago