PENGANTAR
Sebelumnya kita telah membahas bagaimana bentuk, jenis-jenis komponen pada arduino seperti pin, controller, tombol dan lainnya, apa seja jenis-jenis papan arduino, sekarang kita akan fokus untuk membahas tentang pin di arduino uno.
Kasus yang akan kita buat pada studi kali ini adalah merangkai LED sebagai Output dimana LED ini akan dikontrol oleh Switch. Kita dapat menghidupkan dan mematikan LED tersebut menggunakan sebuah button
MATERI
Sebelum kita masuk ke dalam praktikum mari kita bahas sedikit tengan pin. Terdapat dua jenis pin pada arduino yaitu:
- Pin Digital: Berfungsi sebagai keluaran (Output) dari arduino. Artinya komponen yang berada pada pin ini akan dikontrol oleh arduino. Seperti lampu LED yang bisa dibuat berkedip-kedip, berlari-lari. Komponen output ada beberapa jenis:
- Display: Keluaran berupa teks/karakter seperti LCD
- Perangkat komunikasi sinyal: seperti speaker, motor DC, RFID dan lain sebagainya.
- Penghasil lainnya: seperti Lampu, Kipas angin, pompa air dan lain sebagainya
- Pin Analog: Merupakan pin masukkan (Input) dari arduino, artinya kita dapat memasukkan nilai ke arduino melewati pin ini. seperti memasukkan nilai 0/1 pada button/switch.
Persiapan:
- Kabel Jumper: penghubung perangkat
- LED: Digunakan sebagai OUTPUT dari arduino
- 2 buah Resistor 220 omh : Komponen Eletronik yang berfungsi untuk membatasi arus listrik
- Papan Arduino Uno: Modul yang berfungsi untuk mengontrol.
- switch/button: Berguna sebagai Input untuk Arduino.
- Hubungkan kaki LED yang pendek ke Ground.
- Hubungkan kaki yang panjang ke salah satu ujung Resistor.
- Hubungkan kaki Resistor yang satu lagi ke Pin 12. Perhatikan bentuk rangkaian dapat dilihat pada gambar dibawah ini:
- Buka halaman Code dan ketikan program ini:
int led = 12;void setup(){pinMode(led, OUTPUT);}void loop(){digitalWrite(led, HIGH);delay(1000);}
- int led =12: int merupakan tipe data, led adalah variabel (anda dapat mengganti dengan nama lain), sedangkan 12 adalah pin arduino. Anda dapat mengganti ke pin lain tergantung di pin mana kaki resistor anda hubungkan.
- pinMode(led, OUTPUT): menyatakan bahwa variabel led merupakan keluaran dari arduino.
- digitalWrite(led,HIGH): perintah agar bernilai 1 atau hidup.
- delay(1000): waktu yang dibutuhkan untuk hidup.
void loop(){digitalWrite(led, HIGH);delay(1000);digitalWrite(led, LOW);delay(1000);}
- digitalWrite(led,LOW): merupakan perintah agar led bernilai 0 atau mati.
Mengontrol LED dengan Switch
Setelah anda memahami tentang output dari arduino ke LED, Pin Digital mari kita mengontrol LED tersebut dengan input nilai 0/1 (Hidup/Mati) dimana nilai ini kita ambil dari tombol Switch. Sekarang buat rangkaian seperti berikut ini:
- Hubungkan kaki switch (terminal 1b) ke pin Digital.
- Hubungakn kaki switch (terminal 2) ke kaki resistor.
- Hubungkan kaki resistor satu lagi ke pin 5v/ 3,3v
- Hubungkan kaki switch (terminal 2a) ke GND.
Sekarang mari kita kontrol led tersebut. Modifikasi kodenya
Tambahkan 2 variabel
int led = 12;
int btnSwitch = 2;
int tekan = 0;
- btnSwitch merupakan variabel dari switch. karena kaki terminal 1b berada di pin Digital 2, maka nilainya kita beri 2.
- sedangkan variabel tekan kita set nilai awal menjadi 0. ini merupakan variabel yang mengirim nilai ke arduino
Sekarang mari kita tambahkan kode untuk setup().
void setup()
{
pinMode(led, OUTPUT);
pinMode(btnSwitch, INPUT);
}
pinMode(btnSwitch, INPUT); merupakan pernyataan yang menyatakan bahwa variabel btnSwitch merupakan input. jadi Arduino akan mengambil nilai yang diberikan oleh variabel ini.
Selanjutnya kita tambahkan code untuk function loop()
void loop()
{
tekan = digitalRead(btnSwitch);
if(tekan == HIGH){
digitalWrite(led, HIGH);
delay(tekan);
}else{
digitalWrite(led, LOW);
delay(tekan);
}
}
tekan = digitalRead(btnSwitch); merupakan code yang merubah nilai variabel tekan yang awal 0 menjadi 1/0. Jangan lupa untuk mengganti nilai dari delay(). Sekarang coba jalankan programnya.
Bagaimana apa anda sudah memahami tentang konsep Input/Output di arduino? Silahkan modif kembali projek anda. buat se kreatif mungkin agar anda dapat lebih memahami konsep ini. Terimakasih.