Tutorial IoT Mengendalikan Warna LED RGB Menggunakan Telegram

Indobot Update

Halo Fanbot!

 

Pada project kali ini, kita akan membuat kendali warna LED RGB dengan menggunakan aplikasi Telegram. Bagaimana cara pembuatannya? yuk kita simak.

Teman-teman sudah pada tau telegram kan? atau malah sekarang sedang pake telegram?

Telegram merupakan aplikasi sosial media yang dapat digunakan untuk komunikasi baik secara personal maupun grup. Dalam bidang Internet of Things, telegram ini sudah sangat populer sebagai aplikasi sosial media yang dapat dihubungkan dengan  NodeMCU ESP8266 atau device lainnya yang sudah memiliki fasilitas wifi untuk koneksi internet.

Telegram memiliki bot yang dapat diakses dengan mudah untuk link komunikasi dengan device controller. Penggunaannya yang praktis sangat memudahkan kita untuk bisa melakukan kontrol dan monitoring device melalui sistem IoT.

Nah untuk mengendalikan warna LED RGB, kita membutuhkan pengaturan nilai PWM di tiap-tiap kaki RGB. Dalam project ini, kita akan membuat kode yang dapat dikirimkan dari telegram ke nodeMCU untuk dieksekusi dengan mengatur nilai PWM-nya. Lebih jelasnya, langsung saja kita praktikkan ya.

Alat dan Bahan

Alat dan bahan untuk project ini adalah sebagai berikut.

  1. Software Arduino IDE
  2. NodeMCU ESP8266 1
  3. LED RGB 1
  4. Projectboard 1
  5. Kabel jumper Secukupnya

baca juga: Memantau Suhu Penghangat Ruangan Anak Ayam dengan Telegram

Rangkaian

Susun device di atas menjadi rangkaian seperti berikut. Pastikan semua terhubung dengan baik.

Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO

Program

Tahap selanjutnya adalah penulisan program pada Arduino IDE. Buatlah program seperti berikut. Perhatikan keterangan (comment) untuk memahami program dengan baik.

Jangan lupa untuk memasukkan terlebih dahulu library CTBot dan Arduino Json.

 
//Mengendalikan warna LED RGB dengan telegram

#include <Wire.h>
#include <SPI.h>
#include "CTBot.h" //Library CTBot untuk Telegram
int LED_R = D1;
int LED_G = D2;
int LED_B = D3;

CTBot myBot;
TBMessage msg;

String ssid = "*************";    //nama ssid wifi kalian
String pass = "*************";  //password wifi kalian
String token = "*************";    //token bot baru kalian
const int id = 111111111;      //id telegram kalian

void setup() {
  Serial.begin(9600);
  pinMode(LED_R, OUTPUT);
  pinMode(LED_G, OUTPUT);
  pinMode(LED_B, OUTPUT);
  myBot.wifiConnect(ssid, pass); //menyambungkan koneksi hotspot
  myBot.setTelegramToken(token); //menyambuungkan token
  if (myBot.testConnection()) {
    Serial.println("Koneksi Bagus");
  } else {
    Serial.println("Koneksi Jelek");
  }
  myBot.sendMessage(msg.sender.id, (String)"Perubahan Warna, Kirim pesan \n" +
        "Warna Merah>>> merah \n" + 
        "Warna Hijau >>> hijau \n" + 
        "Warna Biru >>> biru \n" +
        "Warna Raspberry >>> rasp \n" + 
        "Warna Cyan >>> cyan \n" + 
        "Warna Magenta >>> Mage \n" + 
        "Warna Kuning >>> kuning \n" + 
        "Warna Putih >>> putih \n"
        );
}

void loop() {
  if (myBot.getNewMessage(msg)) {
    if (msg.text.equalsIgnoreCase("merah")) {                   //Perintah dari telegram ke perangkat
      RGB_color(255, 0, 0); // merah
      myBot.sendMessage(msg.sender.id, (String)"LED Berwarna Merah."); //Balasan dari perangkat ke Bot Telegram
    }
    else if (msg.text.equalsIgnoreCase("hijau")) {    
      RGB_color(0, 255, 0); // hijau
      myBot.sendMessage(msg.sender.id, (String)"LED Berwarna Hijau."); 
    }
    else if (msg.text.equalsIgnoreCase("biru")) {       
      RGB_color(0, 0, 255); // biru      
      myBot.sendMessage(msg.sender.id, (String)"LED Berwarna Biru.");
    }
    else if (msg.text.equalsIgnoreCase("rasp")) {
      RGB_color(255, 255, 125); // Raspberry        
      myBot.sendMessage(msg.sender.id, (String)"LED Berwarna Raspberry.");
    }
    else if (msg.text.equalsIgnoreCase("cyan")) {   
      RGB_color(0, 255, 255); // Cyan    
      myBot.sendMessage(msg.sender.id, (String)"LED Berwarna Cyan.");
    }
    else if (msg.text.equalsIgnoreCase("mage")) {
      RGB_color(255, 0, 255); // Magenta
      myBot.sendMessage(msg.sender.id, (String)"LED Berwarna Magenta."); 
    }
    else if (msg.text.equalsIgnoreCase("kuning")) {  
      RGB_color(255, 255, 0); // kuning
      myBot.sendMessage(msg.sender.id, (String)"LED Berwarna Kuning."); 
    }
    else if (msg.text.equalsIgnoreCase("putih")) { 
      RGB_color(255, 255, 255); // putih
      myBot.sendMessage(msg.sender.id, (String)"LED Berwarna Putih.");
    }
    else {                                         
      myBot.sendMessage(msg.sender.id, (String)"Perubahan Warna, Kirim pesan \n" +
        "Warna Merah>>> merah \n" + 
        "Warna Hijau >>> hijau \n" + 
        "Warna Biru >>> biru \n" +
        "Warna Raspberry >>> rasp \n" + 
        "Warna Cyan >>> cyan \n" + 
        "Warna Magenta >>> Mage \n" + 
        "Warna Kuning >>> kuning \n" + 
        "Warna Putih >>> putih \n"
        );
    }
  }
  delay(500);
}

void RGB_color(int nilai_R, int nilai_G, int nilai_B)
 {
  analogWrite(LED_R, nilai_R);
  analogWrite(LED_G, nilai_G);
  analogWrite(LED_B, nilai_B);
}

baca juga: Mengendalikan Pompa Penyiraman Kebun dengan Telegram

Untuk mendapatkan Token Bot dan ID telegram, kita dapat melakukan cara berikut.

  • cari BotFather

  • Buka BotFather > klik Start > ketik /newbot > beri nama bot > beri username bot > Simpan token yang diberikan untuk dimasukkan program nanti. Untuk masuk ke bot yang baru dibuat, bisa klik link yang diberikan pada bagian setelah “You will find it at …”, dan jika sudah masuk bisa ketik /start

Gambar pembuatan bot baru

Gambar token yang didapat

  • Setelah itu diperlukan id telegram kita dengan cara : cari IDBot > klik Start > ketik /getid

  • Maka token dan ID Telegram sudah kita dapatkan.

 

Masukkan nama hotspot, password hotspot, token, dan ID yang anda gunakan di String ssid = “**********”;

String pass = “**********”; 

String token = “XXXXX”;

const int id = XXXXXX;

Upload program di atas, kemudian kita dapat mulai mencobanya dengan di awali ke telegram bot milik kita dan klik start.

baca juga: Tutorial Membuat Kendali Warna LED RGB dengan Menggunakan Slider Blynk

Hasil dari project ini adalah kita dapat mengirimkan kode warna untuk mengubah warna dari LED RGB. Misalnya kita mengirimkan kata “merah”, maka warna LED RGB akan berubah menjadi merah. Begitu juga jika kita memasukkan kode sesuai dengan pesan yang diberikan oleh telegram bot.

Bagaimana? Penasaran pengen nyoba? Coba aja. 

Mau belajar elektronika dasar? Arduino? atau bahkan Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp whatsapp