Belajar implementasi LED + Button + LCD menggunakan Arduino
Assalamu’alaikum… di sini, kita belajar bagaimana cara menghubungkan beberapa komponen yang saling terkait, dengan menggunakan LED + Button + LCD… okee langsung saja gess yakk.
Pertama, Siapkan Alat-alat nya:
- Arduino R3 (sebagai alat utama)
- Bread board (alat pendukung)
- LED
- Button
- LCD 16x2
- Resistor 100 Ω (Ohm)
Lalu, buat rangkaian awal, yaitu arduino dan breadboard:
- Hubungkan kabel GND (ground) ke pin negatif di breadboard
- Hubungkan kabel Power (5V / VCC) ke pin positif di breadboard
Pasang 3 LED yang berbeda warna (contoh: hijau, kuning, merah)
Untuk di tiap kaki LED (kanan pin digital, kiri GND), pasang resistor 100 Ω (ohm) di kaki kanan, lalu sambungkan ke pin digital di arduino:
Kenapa pakai resistor? apalagi 100 Ω (ohm)? Ya karena agar arus listrik yang mengalir ke LED tidak terlalu besar yang mengakibatkan LED kelebihan daya, jadinya bisa pecah deh :( … Trus cara baca resistor nya bagaimana ya? yuk disimak link di bawah ini:
Eitss, sebelum baca artikelnya alangkah baiknya lanjut ngerangkai dulu dehh..
Untuk di kaki kiri tiap LED, sambungkan ke pin GND Arduino yang sudah dipasang di pin breadboard (kutub negatif) :
Selanjutnya, kita pasang ketiga button lagi nih, langsung aja sekalian ngerangkai kabelnya gess yak:
Untuk kabel kaki atas di sebelah kiri hubungkan ke pin Digital, sedangkan kaki bawah di sebelah kanan hubungkan ke pin GND.
Kenapa kita membutuhkan 3 button? karena konsepnya di sini adalah menyalakan LED dengan masing-masing 1 button (di tiap button ada warna kabel yang sama dengan LED sebagai patokan bahwa button tersebut akan menyalakan LED tersebut <misal button kabel hijau untuk menyalakan LED hijau>)
Dah lah gess belibet juga ya penjelasannya, oke lanjut aja nihh
Kemudian, kita pasang LCD lagi nihh:
Rangkaiannya seperti gambar di bawah ini gess yakk:
Di atas adalah rangkaian pin LCD 16x2:
- GND (GND, VO, RW, LED kanan)
- VCC (VCC, LED kiri)
- R5 (pin Digital 2)
- E (pin Digital ~3)
- DB4 (pin Digital 4)
- DB5 (pin Digital ~5)
- DB6 (pin Digital ~6)
- DB7 (pin Digital 7)
Dan juga, dari rangkaian di atas ada ditambah resistor dengan tegangan 200 Ω (ohm), karena daya terima LCD lebih besar dari LED, maka diberi resistor yang tegangannya minimal 200 Ω (ohm).
Selanjutnya nihh, yang ditunggu-tunggu… yaitu pembuatan Script nya nihh:
Atau kalau mau sekalian mengcopy source code nya, ada di dawah ini:
#include <LiquidCrystal.h>
//push button
const int button_merah = 5;
int pencet_merah = 0;
const int button_kuning = 6;
int pencet_kuning = 0;
const int button_hijau = 7;
int pencet_hijau = 0;
//LED
int led_merah = 2;
int led_kuning = 3;
int led_hijau = 4;
//LCD
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
void setup()
{
//lcd
lcd.begin(16, 2);
Serial.begin(9600);
//LED
pinMode(led_merah, OUTPUT);
pinMode(led_kuning, OUTPUT);
pinMode(led_hijau, OUTPUT);
//push button
pinMode(button_merah,INPUT);
digitalWrite(button_merah,1);
pinMode(button_kuning,INPUT);
digitalWrite(button_kuning,1);
pinMode(button_hijau,INPUT);
digitalWrite(button_hijau,1);
}
void loop()
{
pencet_merah = digitalRead(button_merah);
pencet_kuning = digitalRead(button_kuning);
pencet_hijau = digitalRead(button_hijau);
if(pencet_merah == 0)
{
digitalWrite(led_merah, HIGH);
//lcd
{
lcd.clear();
lcd.print(“MERAH NYALA”);
delay(100);
}
}
else if(pencet_kuning == 0)
{
digitalWrite(led_kuning, HIGH);
//lcd
{
lcd.clear();
lcd.print(“KUNING NYALA”);
delay(100);
}
}
else if(pencet_hijau == 0)
{
digitalWrite(led_hijau, HIGH);
//lcd
{
lcd.clear();
lcd.print(“HIJAU NYALA”);
delay(100);
}
}
else
{
digitalWrite(led_merah, LOW);
digitalWrite(led_kuning, LOW);
digitalWrite(led_hijau, LOW);
//lcd
{
lcd.clear();
lcd.print(“MATI SEMUA”);
delay(100);
}
}
}
Dan, ketika source code nya berhasil… ketika dijalankan akan seperti ini:
Oke gess yakk, mungkin segitu dulu belajarnya, setelah ini kalian bebas mau ngapain aja nih, hehe… sekian terima kasih, wassalamu’alaikum ;)