Halo, Hai, Wuzzup, berjumpa lagi dengan ane pada penghujung hari dibulan Mei Tahun 2016.
Tak terasa hari demi hari, waktu demi waktu sudah berlalu begitu saja dengan cepat ya gan.
Pada hari saat ane mempublish artikel yang sedang ente baca ini bertepatan tanggal 31 Mei 2016. Ane memposting artikel ini di penghujung bulan, wew tumben sekali ya? ada apa memangnya? Nah, sebenarnya di Bulan Mei ini bisa dibilang juga ane masih lumayan banyak kesibukan di dunia nyata, terlebih lagi untuk fokus terhadap tugas yang diberikan oleh Dosen ane nih gan -_-
Dan ane memposting artikel ini karena ane merasa punya hutang kepada ente semua, karena Blog ane ini ane targetkan untuk memposting minimal 4 artikel dalam satu bulannya. Dan setelah ane login blogger dan melihat artikel bulan ini, ternyata ane belum memposting artikel ke-empat di bulan Mei ini, Okelah ane publish di penghujung pergantian bulan Mei 2016. By the way bagi ente yang Muslim, sebentar lagi kita akan berjumpa dengan Bulan Suci Ramadhan, semoga saja dibulan ini kita dapat memaksimalkan peribadatan kita dengan Maksimal. Amiin
Oke tak usah bertele - tele, di artikel atau tutorial arduino kali ini, kita akan mencoba mengontrol servo dengan arduino. Lebih tepatnya kita akan mengontrol derajat putar servo sesuai dari nilai potensiometer yang sudah kita Map range nilainya dari 0-1023 menjadi 0-180. Sama seperti artikel sebelumnya yang sudah di publish di blog ini berjudul "Mengontrol Servo dengan Potensiometer". Lalu apa bedanya dengan artikel kali ini? Bedanya adalah kita akan mengembangkannya dengan menambahkan button untuk merubah state untuk mode "Free mode", "Record mode" atau "Play mode". Penasaran? Mari langsung saja di simak artikelnya :)
Alat dan Bahan yang dibutuhkan :
1x Arduino / Genuino Board
1x Potensiometer 10K
1x LED (Warna bebas)
1x Resistor 220 Ohm
1x Resistor 10K Ohm
1x Button (Tacticle Switch)
1x Motor Servo
Kabel jumper secukupnya
Breadboard (Project Board)
Langkah - Langkahnya :
1.) Pertama, susunlah rangkaian seperti gambar dibawah ini
Keterangan Konfigurasi Kabel :
Hubungkan Pin 5V Arduino pada VCC di Breadboard
Hubungkan Pin GND Arduino pada GND di Breadboard
Hubungkan Pin A0 Arduino pada Kaki tengan Potensio
Hubungkan Pin 2 Arduino pada Salah satu kaki Button
Hubungkan Pin 3 Arduino pada kabel Kuning Servo
Hubungkan Pin 4 Arduino pada Anoda LED
2.) Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
3.) Download dan Install program Arduino IDE di Arduino.cc( If Needed )
4.) Setelah itu, jalankan program Arduino-nya. 5.) Klik menu "Tools -> Board -> Arduino Uno"
6.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )
7.) Lalu masukan Sketch dibawah ini.
Klik LIHAT DONG untuk melihat sketch
/* Mengontrol Servo dengan Metode Teaching * Created by Muhamad Andi Prasetyo * Senin, 21 Maret 2016 * Email : Muhandi.prasetyo@gmail.com * www.boarduino.web.id*/#include<Servo.h>ServoservoAne;intpotensio=0;inthasilPotensio;bytepenyimpanan[800];inthitungRekaman=0;constinttombol=2;constintindikator=4;intbutton_penghitung=0;intstatusButton=0;intstatusTerakhirButton=1;voidsetup(){pinMode(tombol,INPUT_PULLUP);pinMode(indikator,OUTPUT);Serial.begin(9600);servoAne.attach(3);}voidloop(){statusButton=digitalRead(tombol);if(statusButton!=statusTerakhirButton){if(statusButton==HIGH){digitalWrite(indikator,HIGH);button_penghitung++;delay(100);Serial.print("Counter : ");Serial.println(button_penghitung);}else{digitalWrite(indikator,LOW);}}if(button_penghitung==1){hasilPotensio=analogRead(potensio);hasilPotensio=map(hasilPotensio,0,1023,0,180);Serial.println(hasilPotensio);servoAne.write(hasilPotensio);delay(10);}elseif(button_penghitung==2){rekamNilaiPotensio();}elseif(button_penghitung==4){mainkanServo();}statusTerakhirButton=statusButton;}voidmainkanServo(){Serial.println("Servo sedang bermain, yeah!");while(true){for(inti=0;i<hitungRekaman;i++){digitalWrite(indikator,LOW);servoAne.write(penyimpanan[i]);delay(15);Serial.println(penyimpanan[i]);}}}voidrekamNilaiPotensio(){Serial.println("Merekam nilai potensio, Max 12 Detik");delay(15);for(inti=0;i<800;i++){hasilPotensio=analogRead(potensio);hasilPotensio=map(hasilPotensio,0,1023,0,180);servoAne.write(hasilPotensio);penyimpanan[i]=hasilPotensio;delay(15);Serial.println(hasilPotensio);statusButton=digitalRead(tombol);if(statusButton==LOW){digitalWrite(indikator,LOW);button_penghitung++;hitungRekaman=i;return;}else{digitalWrite(indikator,HIGH);}}button_penghitung++;hitungRekaman=800;}
Terimakasih telah berkunjung, selamat mencoba, semoga bermanfaat.