Kali ini kita akan belajar tentang konsep input output digital pada arduino dan bagaimana menggunakan input output digital pada arduino.
Secara umum pin pada Arduino dapat dikonfigurasi ke dalam dua mode, yaitu mode input dan output. Mode input berarti mengeset pin agar dapat digunakan untuk menerima masukan sinyal. Mode output berarti mengeset pin agar dapat mengirimkan sinyal.
Untuk mengeset mode pin, kita gunakan fungsi pinMode(). Fungsi ini biasanya dipanggil di dalam fungsi setup(). fungsi ini memerlukan dua parameter, pinMode([nomorPin], [mode]). Parameter pertama diisi oleh nomor pin, dan parameter kedua diisi oleh konstanta INPUT atau OUTPUT, sesuai dengan mode yang ingin kita gunakan. Sebagai contoh, lihat pada kode berikut.
Input digital digunakan untuk mendeteksi perubahan logika biner pada pin tertentu. Adanya input digital memungkinkan mikrokontroler untuk dapat menerjemahkan 0V menjadi logika LOW dan 5V menjadi logika HIGH.
Membaca sinyal digital pada Arduino dapat menggunakan sintaks digitalRead(pin);
Berikut contoh sederhana membaca state dari sebuah push button, lalu menampilkan kondisi state push button tersebut pada teminal.
Komponen yang digunakan :
- Arduino
- Resistor 330 ohm
- Push Button
- Protoboard
- Kabel jumper
Setelah rangkaian sudah kamu buat hubungkan Arduino ke PC menggunakan kabel downloader. Selanjutnya buka software arduino dan copas program dibawah ini ke software Arduino, kemudian upload lah programnya.
Jika Push Button ditekan maka akan muncul tulisan "Tombol on" dan jika Push Button tidak ditekan / dilepas maka akan muncul tulisan "Tombol off". "Tombol on" dan "Tombol off" merupakan state digital push button yang terbaca pada pin input digital Arduino yang digunakan.
PENJELASAN
Apabila pushbutton ditekan, maka rangkaian akan menjadi closed circuit yang mengakibatkan tegangan 5V timbul pada input pin nomor 9, sehingga Arduino akan mendeteksi logika HIGH (state = Tombol on) pada pin nomor 9. Arduino kemudian mengirimkan state tersebut pada serial komputer dan kita bisa melihat data yang dikirim ke serial komputer tersebut melalui serial monitor.
Sebaliknya, apabila push button dalam keadaan dilepas, maka rangkaian menjadi open circuit, sehingga tidak ada arus yang muncul pada pin nomor 9, maka input digital menganggap (state =Tombol off) karena tidak ada beda potensial antara pin nomor 9 dengan GND.
Untuk menghasilkan output kita dapat menggunakan sintaks digitalWrite(pin,nilai); yang sebelumnya pin sudah diset ke mode OUTPUT, lalu parameter kedua adalah set nilai HIGH atau LOW. Apabila pin diset dengan nilai HIGH, maka voltase pin tersebut akan diset ke 5V atau 3.3V dan bila pin diset ke LOW, maka voltase pin tersebut akan diset ke 0V.
Komponen yang digunakan :
- Arduino
- LED ( 3 )
- Resistor 330 ohm ( 3 )
- Protoboard
- Kabel jumper
Setelah rangkaian sudah kamu buat hubungkan Arduino ke PC menggunakan kabel downloader. Selanjutnya buka software arduino dan copas program dibawah ini ke software Arduino, kemudian upload lah programnya.
Dengan program di bawah ini led akan menyala secara running dengan terus menerus.
PERINGATAN!
Untuk mengaktifkan LED tidak harus menggunakan logika HIGH. Karena penggunaannya sesui dengan rangkaian yang ingin kalian buat. Ada dua jenis pengaktifan yaitu Aktif-High dan Aktif-Low.
Pada rangkaian LED Aktif-High, LED akan menyala jika diberi logika 1 (HIGH) dan akan mati jika diberi logika 0 (LOW)
Pada rangkaian LED Aktif-Low, LED akan menyala jika diberi logika 0 (LOW) dan akan mati jika diberi logika 1 (HIGH).
TUGAS!
Buatlah program di Arduino dimana jika Push Button ditekan maka LED1 menyala, LED2 mati dan jika Push Button dilepas atau tidak ditekan maka LED2 menyala, LED1 mati. Dengan ketentuan jika PB ditekan maka pada serial monitor akan muncul tulisan "HIDUP" dan jika PB dilepas maka akan muncul tulisan "MATI".
JAWAB :
Buatlah rangkaian seperti di atas dengan Arduino kemudian Upload program di bawah ini menggunakan software Arduino kamu :
Secara umum pin pada Arduino dapat dikonfigurasi ke dalam dua mode, yaitu mode input dan output. Mode input berarti mengeset pin agar dapat digunakan untuk menerima masukan sinyal. Mode output berarti mengeset pin agar dapat mengirimkan sinyal.
Untuk mengeset mode pin, kita gunakan fungsi pinMode(). Fungsi ini biasanya dipanggil di dalam fungsi setup(). fungsi ini memerlukan dua parameter, pinMode([nomorPin], [mode]). Parameter pertama diisi oleh nomor pin, dan parameter kedua diisi oleh konstanta INPUT atau OUTPUT, sesuai dengan mode yang ingin kita gunakan. Sebagai contoh, lihat pada kode berikut.
void setup() { pinMode(1, INPUT); //deklarasikan 1 sebagai INPUT pinMode(2, OUTPUT); //deklarasikan 2 sebagai OUTPUT }
INPUT DIGITAL
Input digital digunakan untuk mendeteksi perubahan logika biner pada pin tertentu. Adanya input digital memungkinkan mikrokontroler untuk dapat menerjemahkan 0V menjadi logika LOW dan 5V menjadi logika HIGH.
Membaca sinyal digital pada Arduino dapat menggunakan sintaks digitalRead(pin);
Berikut contoh sederhana membaca state dari sebuah push button, lalu menampilkan kondisi state push button tersebut pada teminal.
Komponen yang digunakan :
- Arduino
- Resistor 330 ohm
- Push Button
- Protoboard
- Kabel jumper
int tombol = 9; //deklarasi pin 9 dengan nama 'tombol' void setup() { Serial.begin(9600); //komunikasi serial dgn baud rate 9600 bits per second pinMode(tombol, INPUT); //deklarasikan tombol sebagai INPUT } void loop() { int keadaanTombol = digitalRead(tombol); //baca state tombol if (keadaanTombol == 1) { Serial.println("Tombol on"); //print state tombol melalui serial } else { Serial.println("Tombol off"); //print state tombol melalui serial } delay(100); //delay 100 milisekon }
Setelah program selesai kamu upload di software Arduino kemudian buka serial monitor yang berada di pojok kanan atas dengan cara mengekliknya.
Jika Push Button ditekan maka akan muncul tulisan "Tombol on" dan jika Push Button tidak ditekan / dilepas maka akan muncul tulisan "Tombol off". "Tombol on" dan "Tombol off" merupakan state digital push button yang terbaca pada pin input digital Arduino yang digunakan.
PENJELASAN
Apabila pushbutton ditekan, maka rangkaian akan menjadi closed circuit yang mengakibatkan tegangan 5V timbul pada input pin nomor 9, sehingga Arduino akan mendeteksi logika HIGH (state = Tombol on) pada pin nomor 9. Arduino kemudian mengirimkan state tersebut pada serial komputer dan kita bisa melihat data yang dikirim ke serial komputer tersebut melalui serial monitor.
Sebaliknya, apabila push button dalam keadaan dilepas, maka rangkaian menjadi open circuit, sehingga tidak ada arus yang muncul pada pin nomor 9, maka input digital menganggap (state =Tombol off) karena tidak ada beda potensial antara pin nomor 9 dengan GND.
OUTPUT DIGITALOutput digital terdiri dari dua buah logika, yaitu kondisi logika HIGH dan kondisi logika LOW.
Untuk menghasilkan output kita dapat menggunakan sintaks digitalWrite(pin,nilai); yang sebelumnya pin sudah diset ke mode OUTPUT, lalu parameter kedua adalah set nilai HIGH atau LOW. Apabila pin diset dengan nilai HIGH, maka voltase pin tersebut akan diset ke 5V atau 3.3V dan bila pin diset ke LOW, maka voltase pin tersebut akan diset ke 0V.
Untuk lebih jelasnya dibawah ini adalah contoh bagaimana mengaktifkan LED sebagai OUTPU.
Komponen yang digunakan :
- Arduino
- LED ( 3 )
- Resistor 330 ohm ( 3 )
- Protoboard
- Kabel jumper
Setelah rangkaian sudah kamu buat hubungkan Arduino ke PC menggunakan kabel downloader. Selanjutnya buka software arduino dan copas program dibawah ini ke software Arduino, kemudian upload lah programnya.
Dengan program di bawah ini led akan menyala secara running dengan terus menerus.
int led1 = 11; //deklarasi pin 11 dengan nama 'led1'
int led2 = 12; //deklarasi pin 11 dengan nama 'led2'
int led3 = 13; //deklarasi pin 11 dengan nama 'led3'
void setup() {
pinMode (led1,OUTPUT); //deklarasi led1 sebagai OUTPUT
pinMode (led2,OUTPUT); //deklarasi led2 sebagai OUTPUT
pinMode (led3,OUTPUT); //deklarasi led3 sebagai OUTPUT
}
void loop() {
digitalWrite (led1,HIGH);
digitalWrite (led2,LOW);
digitalWrite (led3,LOW);
delay(500);
digitalWrite (led1,LOW);
digitalWrite (led2,HIGH);
digitalWrite (led3,LOW);
delay(500);
digitalWrite (led1,LOW);
digitalWrite (led2,LOW);
digitalWrite (led3,HIGH);
delay(500);
}
PERINGATAN!
Untuk mengaktifkan LED tidak harus menggunakan logika HIGH. Karena penggunaannya sesui dengan rangkaian yang ingin kalian buat. Ada dua jenis pengaktifan yaitu Aktif-High dan Aktif-Low.
Pada rangkaian LED Aktif-High, LED akan menyala jika diberi logika 1 (HIGH) dan akan mati jika diberi logika 0 (LOW)
Pada rangkaian LED Aktif-Low, LED akan menyala jika diberi logika 0 (LOW) dan akan mati jika diberi logika 1 (HIGH).
TUGAS!
Buatlah program di Arduino dimana jika Push Button ditekan maka LED1 menyala, LED2 mati dan jika Push Button dilepas atau tidak ditekan maka LED2 menyala, LED1 mati. Dengan ketentuan jika PB ditekan maka pada serial monitor akan muncul tulisan "HIDUP" dan jika PB dilepas maka akan muncul tulisan "MATI".
JAWAB :
Buatlah rangkaian seperti di atas dengan Arduino kemudian Upload program di bawah ini menggunakan software Arduino kamu :
int tombol = 2; //Pin digital no 2 telah dipasang Push button dan diberi nama 'tombol'
int led1 = 12; //pin digital nomer 12 telah dipasang LED dan diberi nama led1
int led2 = 13; //pin digital nomer 13 telah dipasang LED dan diberi nama led2
void setup() {
Serial.begin(9600); //mulai komunikasi serial dengan baud rate 9600 bits per second
pinMode(tombol, INPUT); //deklarasikan tombol sebagai INPUT
pinMode(led1, OUTPUT); //deklarasikan led1 sebagai OUTPUT
pinMode(led2, OUTPUT); //deklarasikan led2 sebagai OUTPUT
}
void loop() {
int keadaanTombol = digitalRead(tombol); //baca state tombol
//print state tombol melalui serial
if (keadaanTombol == 1) {
Serial.println("HIDUP");
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
}
else {
Serial.println("MATI");
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
}
delay(100); //delay 100 milisekon
}
Dibawah ini adalah hasil program
Hasil rangkaian yang sudah jadi
Semoga artikel di atas dapat bermanfaat bagi semuanya ^_^
Mampir juga boleh Klinik Fisioterapi