-->
gF6u0Vqh6RFrxd4GViiplRIajFJiSmm4Y0jpjNDw
Bookmark

Cara Mengontrol LED RGB dengan Flasher

Mengontrol LED RGB dengan hp Android

Cara Mengontrol LED RGB dengan Flasher

Artikel kali ini adalah artikel pertama yang membahas Proyek Berbasis lOT. Untuk proyek pertama kami yaitu RGB LED Flasher menggunakan Wi-Fi. Di sini kami menggunakan Arduino dan modul WiFi ESP8266 untuk mengontrol warna LED RGB melalui Ponsel Android dengan koneksi Wi-Fi. 

Dalam proyek LED Flasher RGB ini, kami telah mencoba Aplikasi Seluler Android bernama " Blynk. Blynk adalah aplikasi yang sangat kompatibel dengan Arduino, apa lagi untuk membuat proyek berbasis IoT. Aplikasi ini dapat diunduh dari Google Play Store, dan dapat dikonfigurasi dengan mudah.

Langkah untuk mengkonfigurasi Aplikasi Blynk:

1. kita harus Download aplikasi Blynk dulu di Google Play Store dan install di ponsel Android Anda.
2. Setelah itu, Anda harus membuat akun. Anda dapat menggunakan akun Gmail untuk membuat akun Blynk.
3. Kemudian pilih Arduino Board dan tambahkan nama proyek Anda. 

Cara Mengontrol LED RGB dengan Flasher


4. Salin Kode Token Auth atau kirimkan kode ke Akun Email Anda dan kemudian tempel dalam sketsa Arduino (Kode Program).
5. Tambahkan Kode Token Auth ini dalam pemrograman Arduino. 
Cara Mengontrol LED RGB dengan Flasher

// You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "a20b235cfa794f07981d050950fb4429";

6. Kemudian klik tombol buat di aplikasi Blynk.
7. Sekarang Pilih Large Slider dan dua tombol, kalibrasikan lalu tekan tombol kembali. 


Rangkaian mengontrol LED RGB

Cara Mengontrol LED RGB dengan Flasher

Cara Mengontrol LED RGB dengan Esp1866


Mengontrol LED RGB


8. Setelah itu tekan tombol Play di kanan atas layar.

Komponen yang Diperlukan:

  • Arduino UNO
  • Modul Wi-Fi ESP8266
  • Kabel USB
  • Menghubungkan kabel LED RGB
  • Ponsel Android
  • Aplikasi Blynk

Rangkaian dan Penjelasan

Rangkaian Flasher LED RGB pada gambar dibawah ini.

Cara mengendalikan Motor Servo dengan Potensiometer


Komponen utama yang dibutuhkan adalah Arduino, modul Wi-Fi ESP8266 dan LED RGB.
Rangkaian Pin modul WiFi Esp8266 :
  • Pin Vcc dan CH_PD ESP8266 terhubung Iangsung ke 3.3V
  • Pin GND terhubung ke GND dari Arduino.
  • Pin Tx terhubung Iangsung ke pin 2  Arduino.
  • Pin Rx terhubung Iangsung ke pin 3 Arduino.
Software Serial Library digunakan untuk memungkinkan komunikasi serial pada pin 2 den 3 Arduino.

Baca juga : Membuat Spedometer GPS arduino dengan tampilan LCD OLED

Rangkaian Jalur Led RGB
Dengan menggunakan LED RGB Anoda Umum.
Pin LED RGB

  • Pin R terhubung ke pin 11
  • Pin G terhubung ke pin 12
  • Pin B terhubung ke pin 13
Kaki anoda dihubungkan pada +5 Vcc Arduino Uno. Pin Common Anode dihubungkan melalui resistor 1K dengan tegangan +5 volt untuk melindungi LED agar tidak rusak.

Untuk Cara kerja LED RGB cukup sederhana, kami telah membuat tiga Slider menggunakan aplikasi Blynk. Kita dapat mengontrol intensitas tiga warna LED RGB yaitu MERAH, HIJAU dan BIRU. Dan satu tombol untuk Mem-flash LED RGB sesuai dengan kode Program dengan pola yang berbeda.

Penjelasan Pemrograman:

Tentunya kita perlu mengunduh dan menginstal Blynk Library untuk Arduino.

Kami telah menyertakan semua pustaka yang diperlukan untuk menjalankan program di Arduino IDE dan kemudian memasukkan Token Auth, dari aplikasi Blynk dalam string auth . Disini kami menghubungkan pin serial Wi-Fi dengan Software Serial Arduino. Pin 3 dipilih sebagai RX den 2 sebagai TX. 

#define BLYNK_PRINT Serial // Comment this out to disable prints and save space 

#include <ESP8266_SoftSer.h> 

#include <BlynkSimpleShieldEsp8266_SoftSer.h> // Set ESP8266 Serial object #include <SoftwareSerial.h> SoftwareSerial EspSerial(2, 3); // RX, TX ESP8266 wifi(EspSerial); // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "a20b235cfa794f07981d050950fb4429";

Untuk pin keluaran LED RGB yaitu
Pin 13 untuk keluaran Pin warna Biru
Pin 12 untuk keluaran Pin warna Hijau
Pin 11 untuk keluaran Pin warna Merah

#define blue 13
#define green 12
#define red 11 

Setelah itu kita harus mengatur semua perangkat yang diperlukan, misalnya memulai komunikasi serial, memberikan nama pengguna dan kata sandi WiFi. 

void setup() { // Set console baud rate Serial.begin(9600); 
delay(20); // Set ESP8266 baud rate // 9600 is recommended for Software Serial EspSerial.begin(9600); 
delay(20); 
Blynk.begin(auth, wifi, "username", "password"); // wifi username and password 
}

Disini kami telah menetapkan Tombol (Virtual Pin 1). kami memanfaatkan pin virtual 1 (V1) berfungsi sebagai input dari Aplikasi Blynk untuk mem-flash LED RGB.
Di bawah ini ada 2 program yang berbeda :
pertama hanya untuk mengontrol intensitas tiga warna dalam LED RGB tanpa mem-flashnya.
kedua untuk mem-flash LED dan dapat mengontrol tiga warna LED RGB. Kita hanya perlu mendefinisikan pin RGB Led pada program karena Flashing LED dikendalikan oleh Arduino. Di sisi Iain pada program pertama, Warna LED dikendalikan oleh aplikasi Blynk di ponsel Android, jadi kita tidak perlu menentukan pin LED RGB.
Kita dapat mengatakan bahwa jika kita hanya ingin mengubah warna dengan Sliders dan tidak ingin menggunakan Button untuk flasher maka kita tidak perlu menentukan pin RGB.
Fungsi yang diberikan adalah untuk mem-flash LED RGB saat tombol ditekan dari Aplikasi Blynk.

BLYNK_WRITE (V1)

{ int x = param [0] .asInt ();

sementara ( == 1)

{

x = param.asInt (); inti=0,j=0,k=0; analogWrite (merah, 255);

analogWrite (hijau, 255); 


Untuk menjalankan fungsi blynk dalam loop, untuk menjalankan sistem.

void loop ()

{ Blynk.run ();

}

Program 1 : Mengontrol LED RGB Tanpa Flasher

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266_SoftSer.h>
#include <BlynkSimpleShieldEsp8266_SoftSer.h>

// Set ESP8266 Serial object
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // TX, RX
ESP8266 wifi(EspSerial);
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "a20b235cfa794f07981d050950fb4429";

void setup()
{
  // Set console baud rate
  Serial.begin(9600);
  delay(10);
  // Set ESP8266 baud rate
  // 9600 is recommended for Software Serial
  EspSerial.begin(9600);
  delay(10);

  Blynk.begin(auth, wifi, "username", "password");
}

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


Program 2 : Mengontrol LED RGB dengan Flasher

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266_SoftSer.h>
#include <BlynkSimpleShieldEsp8266_SoftSer.h>

// Set ESP8266 Serial object
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // TX, RX

ESP8266 wifi(EspSerial);

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "a20b235cfa794f07981d050950fb4429";

#define red 11
#define green 12
#define blue 13

void setup()
{
  // Set console baud rate
  Serial.begin(9600);
  delay(10);
  // Set ESP8266 baud rate
  // 9600 is recommended for Software Serial
  EspSerial.begin(9600);
  delay(10);

  Blynk.begin(auth, wifi, "username", "password");  // wifi username and password
}

BLYNK_WRITE(V1) 
{
  int x = param[0].asInt();
  
    while(x==1)
   {
    x = param.asInt();
    int i=0,j=0,k=0;
    analogWrite(red, 255);
    analogWrite(green, 255);
    analogWrite(blue, 255);
    
      for(int j=0;j<20;j++)
      {
       analogWrite(red, 0);
       analogWrite(green, 255);
       analogWrite(blue, 255);
       delay(100);
       analogWrite(red, 255);
       analogWrite(green, 0);
       analogWrite(blue, 255);
       delay(100);
       analogWrite(red, 255);
       analogWrite(green, 255);
       analogWrite(blue, 0);
       delay(100);
        x = param.asInt();
        if(x==0)
        break;
      }
    
    analogWrite(red, 255);
    analogWrite(green, 255);
    analogWrite(blue, 255);
    
    for(int z=0;z<10;z++)
    {
    for(i=0;i<=180;i++)
    {
            analogWrite(red, 180-i);
            delay(2);
    }
    analogWrite(red, 255);
    for(j=0;j<255;j++)
    {
            analogWrite(green, 255-j);
             delay(2);
    }
    analogWrite(green, 255);
    for(k=0;k<255;k++)
    {
            analogWrite(blue, 255-k);
             delay(2);
    }
    analogWrite(blue, 255);
     x = param.asInt();
     if(x==0)
     break;
     
    }
    
    analogWrite(red, 255);
    analogWrite(green, 255);
    analogWrite(blue, 255);
        for(int z=0;z<5;z++)
    {

    for(j=0;j<255;j++)
    {
            analogWrite(green, 255-j);
             delay(20);
    }
    for(k=0;k<255;k++)
    {
            analogWrite(blue, 255-k);
             delay(20);
    }
    
        for(i=0;i<=180;i++)
    {
            analogWrite(red, 180-i);
            delay(20);
    }
    analogWrite(red,180);
     x = param.asInt();
     if(x==0)
     break;
    }
   if(x==0)
   break;
  }
    analogWrite(red, 255);
    analogWrite(green, 255);
    analogWrite(blue, 255);
}

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




Post a Comment

Post a Comment