Apa sih Arduino?
Salam,
Pada posting kali ini akan menjelaskan tentang tugas kuliah Interaksi Manusia dengan Komputer dan Antar Muka, yaitu membuat lampu push button menggunakan Arduino.
Saya anggap pembaca telah mengetahui apa itu arduino. Jika belum tahu, akan saya jelaskan sedikit.
Arduino bisa dikatakan sebagai alat untuk membuat sebuah prototye. Kita bisa membuat apapun (hampir apapun) dengan menggunakan arduino. Seperti membuat sensor panas/dingin,bahkan hingga membuat robot.
Arduino sebenarnya diperuntukkan bagi para artist maupun designer yang memerlukan kemudahan dalam merancang produk yang hendak mereka buat. Jadi, untuk menggunakannya tidak diperlukan keterampilan khusus yang tinggi karena di design untuk kemudahan (tentunya setelah tahu dasar-dasarnya).
Seperti apa sih Arduino itu?
Di bawah ini gambarnya
Lampu Push Button
Lampu push button yang akan kami buat cara kerjanya sederhana, yaitu ketika push-button ditekan sekali dan dilepas, lampu yang awalnya mati akan menyala. Kemudian jika ditekan sekali lagi dan dilepas, lampu yang menyala akan mati.
Cara kerja semacam itu banyak kita jumpai di berbagai alat di sekitar kita seperti tombol untuk menyalakan komputer atau laptop, atau tombol-tombol lain. Sayangnya, bekerja dengan push button untuk membuat tombol seperti itu tidak terlalu mudah, tapi juga tidak terlalu susah. Pasalnya, kerja default dari push button (misalnya untuk membuat tombol lampu) itu ketika tombol ditekan lampu menyala, dan ketika tombol dilepas, lampu mati. Bisa dibayangkan jika di malam hari kita harus memencet tombol sepanjang malam agar lampu tetap menyala. Sangat tidak diinginkan.
Cara kerja push button:
Lampu Push Button dengan Arduino
Sebelumnya, yang kita butuhkan adalah:
Setelah itu, hubungkan arduino dengan komputer kita.
Hasilnya seperti ini:
Pada awalnya, lampu seharusnya tidak menyala, pada foto di atas, lampu menyala karena sebelumnya sudah ada program di Arduinonya.
Setelah selesain membuat rangkain, selanjutnya kita perlu membuat kode program.
Jalankan software Arduino yang telah kita install di pc. Akan muncul jendela seperti berikut:
Lalu ketikkan kode berikut:
Salam,
Pada posting kali ini akan menjelaskan tentang tugas kuliah Interaksi Manusia dengan Komputer dan Antar Muka, yaitu membuat lampu push button menggunakan Arduino.
Saya anggap pembaca telah mengetahui apa itu arduino. Jika belum tahu, akan saya jelaskan sedikit.
Arduino bisa dikatakan sebagai alat untuk membuat sebuah prototye. Kita bisa membuat apapun (hampir apapun) dengan menggunakan arduino. Seperti membuat sensor panas/dingin,bahkan hingga membuat robot.
Arduino sebenarnya diperuntukkan bagi para artist maupun designer yang memerlukan kemudahan dalam merancang produk yang hendak mereka buat. Jadi, untuk menggunakannya tidak diperlukan keterampilan khusus yang tinggi karena di design untuk kemudahan (tentunya setelah tahu dasar-dasarnya).
Seperti apa sih Arduino itu?
Di bawah ini gambarnya
Image Source: https://dlnmh9ip6v2uc.cloudfront.net//images/products/1/1/0/2/1/11021-01a.jpg
Arduino ada banyak jenisnya yang bisa dilihat di website resminya: website arduino.
Bekerja dengan Arduino
Untuk bekerja dengan Arduino yang harus dipersiapkan adalah:
Bekerja dengan Arduino
Untuk bekerja dengan Arduino yang harus dipersiapkan adalah:
- Arduino
- Software (untuk diinstall di komputer kita)
Setelah di download, tinggal install dan ikuti petunjuknya.
- Kabel Port untuk menghubungkan Arduino dengan Komputer,
Lampu push button yang akan kami buat cara kerjanya sederhana, yaitu ketika push-button ditekan sekali dan dilepas, lampu yang awalnya mati akan menyala. Kemudian jika ditekan sekali lagi dan dilepas, lampu yang menyala akan mati.
Cara kerja semacam itu banyak kita jumpai di berbagai alat di sekitar kita seperti tombol untuk menyalakan komputer atau laptop, atau tombol-tombol lain. Sayangnya, bekerja dengan push button untuk membuat tombol seperti itu tidak terlalu mudah, tapi juga tidak terlalu susah. Pasalnya, kerja default dari push button (misalnya untuk membuat tombol lampu) itu ketika tombol ditekan lampu menyala, dan ketika tombol dilepas, lampu mati. Bisa dibayangkan jika di malam hari kita harus memencet tombol sepanjang malam agar lampu tetap menyala. Sangat tidak diinginkan.
Cara kerja push button:
Lampu Push Button dengan Arduino
Sebelumnya, yang kita butuhkan adalah:
- Arduino, kami menggunakan Arduino Uno R3,
- Bread Board,
- Beberapa Jumper, semacam kabel kecil untuk menghubung-hubungkan,
- Push Button,
- Resistor
- Lampu led
- Kabel port penghubung Arduino dengan komputer
- Software Arduino (untuk editor) yang telah terinstall di komputer
- Pasag lampu led ke Arduino dengan kaki pendek(-) ke ground dan kaki panjang (+) ke port 13.
- Pasang push button ke bread board.
- Pasang resistor dengan posisi satu kaku terhubung dengan salah satu kaki push button dan kaki resistor yang lain tidak terhubung ke manapun.
- Pasang sebuah jumper ke port Arduino no 7, sejajar dengan yang ada lampunya, dan hubungkan ke kaki push button yang terhubung dengan resistor.
- Hubungkan kaki resistor satunya (yang tak terhubung ke manapun) ke port arduino 5V, ada di seberang lampu.
- Hubungkan kaki push button lainnya (yang belum terhubung kemanapun) dengan post arduino ground, ada di samping port 5V.
Hasilnya seperti ini:
Pada awalnya, lampu seharusnya tidak menyala, pada foto di atas, lampu menyala karena sebelumnya sudah ada program di Arduinonya.
Setelah selesain membuat rangkain, selanjutnya kita perlu membuat kode program.
Jalankan software Arduino yang telah kita install di pc. Akan muncul jendela seperti berikut:
Lalu ketikkan kode berikut:
int ledPin = 13; int inPin = 7; int lamp = LOW; //variable mengecek state lampu void setup() { pinMode(ledPin, OUTPUT); pinMode(inPin, INPUT); } void loop() { int saklar = digitalRead(inPin); //Variable untuk mengecek saklar lamp = digitalRead(ledPin); //inisiasi var lamp if(saklar == LOW) //cek apakah saklar tidak dipencet { if (lamp == HIGH){ //cek apakah lampu menyala lamp = LOW; //jadikan lampu mati } else { //jika lampu mati lamp = HIGH; //jadikan menyala } digitalWrite(ledPin, lamp); //asign lamp ke ledPin }else{ } delay(200); //delay looping agar hasil lebih halus }
Delay digunakan untuk mengatur jarak looping. jika tidak ada delay, looping berlangsung sangat cepat dan hasilnya lampu terkadang menyala ketika dipencet dan terus menyala ketika dipencet sekali lagi, atau sebaliknya. Hal ini disebabkan karena ketika kita menekan tombol, looping terus terjadi banyak kali dan menghasilkan output high atau low karena proses pengecekkan lampu, hasilnya output yang dihasilkan tepat pada saat kita melepas tombol akan menjadi ramdom. Hal ini yang menyebabkan sedikit susah. Dengan adanya delay, loop yang dilakukan diperlambat agar ketika kita menekan tombol, loop hanya dilakukan sebisa mungkin maksimal hanya sekali saja, sehingga hasil bisa akurat.
Selanjutnya, klik tombol verify untuk meng-compile kode. setelah itu klik tombol upload untuk memasukkan kode ke arduino.
Hasilnya, lampu akan menyala ketika push button ditekan dan tetap menyala jika push button dilepas. Dan jika ditekan sekali lagi, lampu mati.
Sediki Masalah
Seperti dijelaskan di atas bahwa delay digunakan untuk mengatur agar looping berlangsung tidak terlalu cepat. Hal itu berhasil. Lampu menyala ketika ditekan dan mati setelah ditekan lagi.
Akan tetapi hal itu sedikit merepotkan, karena lamanya kita menekan tombol akan berpengaruh. Terkadang, jika terlalu lama atau terlalu cepat, lampu tidak berubah dari kondisi sebelumnya. Hal ini dikarenakan dan sangat bergantung pada delay yang digunakan, dalam hal ini kita mengatur waktu delay 200ms atau sekitar 0,2 second. Artinya,ketika menekan, kita harus mengkira-kira lamanya agar mendekati 200ms baru dilepas.
Kami ingin yang lebih 'stabil' yang lampunya lebih 'rensponsif'. Sehingga kami memperbaiki kodenya menjadi seperti berikut:
Kode ini kami ambil dari sini dengan sedikit penambahan dan perubahan:
int switchPin = 7; // set pin 7 int val; // variabel untuk membaca status pin int buttonState; // variable untuk membaca state terakhir button int ledPin = 13; //set pin 13 int led = LOW; //variable mengecek lampu void setup() { pinMode(switchPin, INPUT); // Set switch sebagai input pinMode(ledPin, OUTPUT); // Set ledPin sebagai output Serial.begin(9600); // Set up serial communication at 9600bps buttonState = digitalRead(switchPin); // membaca initial state } void loop(){ val = digitalRead(switchPin); // baca input dan assign ke val if (val != buttonState) { // state button berubah! if (val == LOW) { // cek jika button ditekan if(led == LOW){ led = HIGH; }else{ led=LOW; } digitalWrite(ledPin, led); } else { // button tidak ditekan } } buttonState = val; // simpan new state }Hasilnya, tombol lebih responsif. Tidak terjadi harus menekan beberapa kali untuk menyalakan lampu atau untuk mematikannya.
Berikut video hasil kerja kami:
Anggota kelompok:
- Subkhan Sarif
- Fady Noor Ilmi
- Mekaputra Yudahandika
- Nurafni Eka Agustina
- Arya Dhanang Dhewangga
Writen by:
Subkhan Sarif / 18211004
Sumber:
[1] http://www.ladyada.net/learn/arduino/lesson5.html
[2] http://www.arduino.cc
Comments
Post a Comment