Assalamualaikum… apa kabarnya nih sobat arduino, semoga selalu sehat dan selalu meningkatkan belajar kita, dengan moto jangan puas dengan apa yang kita dapatkan sekarang, belajar dan terus belajar lagi… hehe.. semangat banget.
Percobaan kita kali ini (masih yang sederhana) adalah Mengendalikan LED dengan Tombol/Tactile Switch simple banget ya… ini merupakan rangkaian dasar dalam mempelajari arduino.
Komponen yang dibutuhkan dalam proyek ini adalah sebagai berikut :
Arduino Leonardo 1 unit
Led warna 1 unit
Saklar tactile switch 1 unit
Resistor 220/270/330 ohm 1 unit
Resistor 22k ohm 1 unit
Papan breadboard 1 unit
Kabel penghubung secukupnya
Pin-pin yang digunakan adalah sbb:
Pin 7 = input saklar
Pin 12 = output Led
Gambar rangkaian/board
Untuk cara kerja rangkaiannya adalah selama saklar ditekan maka lampu led akan menyala jika tidak ditekan lampu akan mati.
Berikut ini source kode programnya :
// tombol - mengontrol LED dengan tombol tekan
const int PIN_7 = 7;
const int PIN_12 = 12;
void setup() {
pinMode(PIN_7, INPUT);
pinMode(PIN_12, OUTPUT);
}
void loop() {
int keadaanTegangan = digitalRead(PIN_7);
if (keadaanTegangan == HIGH)
digitalWrite(PIN_12, HIGH);
else
digitalWrite(PIN_12, LOW);
delay(1000);
}
Dari program diatas dapat kita variasikan konsep penekanan tombolnya yaitu led akan menyala jika saklar ditekan satu kali dan akan mati jika saklar ditekan satu kali lagi (saklar on dan off). Berikut ini sketch programnya :
// tombol2 - mengontrol LED dengan tombol tekan
// dan berfungsi sebagai tombol on-off
// (Versi 1)
const int PIN_7 = 7;
const int PIN_12 = 12;
boolean ledMenyala = false;
void setup() {
pinMode(PIN_7, INPUT);
pinMode(PIN_12, OUTPUT);
digitalWrite(PIN_12, LOW);
}
void loop() {
int keadaanTegangan = digitalRead(PIN_7);
if (keadaanTegangan == HIGH) {
ledMenyala = not ledMenyala;
if (ledMenyala)
digitalWrite(PIN_12, HIGH);
else
digitalWrite(PIN_12, LOW);
}
}
Pada percobaan diatas saklar on off tidak berfungsi dengan baik jika kita tekan dengan cepat, ini karena ada efek memantul karena terjadi on-off beberapa kali. Maka diperlukan variable lagi seperti contoh sketch dibawah ini :
// tombol3 - mengontrol LED dengan tombol tekan
// dan berfungsi sebagai tombol on-off
// (Versi 2)
const int PIN_7 = 7;
const int PIN_12 = 12;
boolean ledMenyala = false;
int keadaanSebelumnya = LOW;
void setup() {
pinMode(PIN_7, INPUT);
pinMode(PIN_12, OUTPUT);
}
void loop() {
int keadaanSekarang = digitalRead(PIN_7);
if ((keadaanSekarang != keadaanSebelumnya) &&
(keadaanSekarang == HIGH)){
ledMenyala = not ledMenyala;
if (ledMenyala)
digitalWrite(PIN_12, HIGH);
else
digitalWrite(PIN_12, LOW);
delay(30);
}
keadaanSebelumnya = keadaanSekarang;
}
Selamat mencoba . . . .
0 komentar:
Post a Comment