TUJUAN:
1. 1 Mahasiswa memahami rangkaian mikrokontroller dengan interface ke saklar.
2. Mahasiswa dapat memahami program Arduino untuk mengambil data saklar dan
mengeluarkan data ke LED.
3. Mahasiswa memahami beberapa instruksi Arduino dasar, digitalRead, if, dan for.
PERALATAN
1. Sebuah Komputer
2. Satu set trainer mikrokontroler
Pendahuluan
Push Button adalah saklar tekan yang berfungsi untuk menghubungkan atau
memisahkan bagian – bagian dari suatu instalasi listrik satu sama lain (suatu sistem saklar tekan
push button terdiri dari saklar tekan start. Pada dasarnya, terdapat 2 jenis Push-Button di
pasaran: Push - On dan Push-Off . Tetapi yang kita gunakan pada tutorial ini adalah yang
berjenis Push- On, yaitu komponen yang terdiri atas dua kutub yang saling terpisah / tidak
terhubung, dan sebuah tombol yang ketika ditekan akan menghubungkan kedua kutub tersebut
sehingga akan mengalirkan arus listrik dari satu sisi kutub ke sisi kutub berikutnya.
Mikroprosessor-Unsada-2016-adam-sayuti 1
Percobaan 1
Pada percobaan 1 digunakan saklar tekan/switch button ebagai inputan untuk menghidupkan
dan mematikan LED
Gambar rangkaian
Mikroprosessor-Unsada-2016-adam-sayuti 2
Ketikkan program Arduino di bawah ini
void setup () {
// inisialisasi digitalpin 7 input, 8 output
pinMode(pinLED, OUTPUT);
pinMode(pinS1, INPUT);
digitalWrite(pinS1,HIGH); // Internal Pullup aktif
digitalWrite(pinLED,LOW);
}
void loop() {
//Jika Tekan S1 dan var sw=0 , Led dinyalakan
If (digitalRead(pinS1)==0 && sw==0){
digitalWrite(pinLED,HIGH); // nyalakan Led
sw=1; // set sw=1 menandakan Led nyala
} else
//Jika Tekan S1 dan var sw=1, Led diPadamkan
if(digitalRead(pinS1)==0 && sw==1){
digitalWrite(pinLED,LOW); // padamkan Led
sw=0; // set sw=0, menandakan Led Padam
}
delay(300); // jeda 300 mS
}
Mikroprosessor-Unsada-2016-adam-sayuti 3
Percobaan 2
Pada percobaan 2 digunakan dua buah switch button sebagai inputan untuk menyalakan dan
mematikan lampu.
Gambar rangkaian
Mikroprosessor-Unsada-2016-adam-sayuti 4
Ketikkan program arduino di bawah ini
const int pinS2 = 6; //input Switch 1
const int pinS1 = 7; //input Switch 2
const int pinLED = 8; //LED Display
void setup () {
// inisialisasi digitalpin 6,7 input, 8 output
pinMode(pinLED, OUTPUT);
pinMode(pinS1, INPUT);
pinMode(pinS2, INPUT);
digitalWrite(pinS1,HIGH); // Internal Pullup aktif
digitalWrite(pinS2,HIGH); // internal Pullup aktif
digitalWrite(pinLED,LOW);
}
void loop() {
//Jika Tekan S1, LED Nyala
if(digitalRead(pinS1)==0 && digitalRead(pinS2)==1){
digitalWrite(pinLED,HIGH);
} else //Jika Tekan S2, LED Padam
if(digitalRead(pinS2)==0 && digitalRead(pinS1)==1){
digitalWrite(pinLED,LOW);
}
delay(100); // jeda 300 mS
}
Mikroprosessor-Unsada-2016-adam-sayuti 5
Percobaan 3
Pada percobaan 3 akan digunakan LDR (Light Dependet Resistor). ialah jenis resistor
yang berubah hambatannya karena pengaruh cahaya. Bila cahaya gelap nilai tahanannya
semakin besar, sedangkan cahayanya terang nilainya menjadi semakin kecil. Resistansi LDR
berubah seiring dengan perubahan intensitas cahaya yang mengenainya. Dalam keadaan gelap
resistansi LDR sekitar 10 M dan dalam keadaan terang sebesar 1 k atau kurang. LDR terbuat
dari bahan semikonduktor seperti cadmium sulfide. Dengan bahan ini energy dari cahaya yang
jatuh menyebabkan lebih banyak muatan yang dilepas atau arus listrik meningkat. Artinya
resistansi bahan telah mengalami penurunan.
LDR digunakan untuk mengubah energy cahaya menjadi energy listrik. Saklar
cahaya otomatis dan alarm pencuri adalah beberapa contoh alat yang menggunakan LDR. Akan
tetapi karena responnya terhadap cahaya cukup lambat, LDR tidak digunakan pada situasi di
mana intensitas cahaya berubah secara drastis. Sensor ini akan berubah nilai hambatannya
apabila ada perubahan tingkat kecerahan cahaya.
Gambar LDR
Mikroprosessor-Unsada-2016-adam-sayuti 6
Gambar Rangkaian skematik
Mikroprosessor-Unsada-2016-adam-sayuti 7
Tuliskan program di bawah ini dan jalankan
void setup() {
Serial.begin(9600); //inisialisasi serial 9600bps
pinMode(7, OUTPUT); //output digital
pinMode(A0,INPUT); //input analog
}
int batasNyala=50;
void loop() {
int tegAnalog=analogRead(A0); //baca teg analog pd pinA0
Serial.println(tegAnalog); //kirim ke serial
tegAnalog=map(tegAnalog,0,1023,0,255);//maping rentang data
if(tegAnalog<=batasNyala){ //kalau LDR mendapat gelap
digitalWrite(7,HIGH); //Nyalakan LED
} else {
digitalWrite(7,LOW);
}
delay(100); //jeda beberapa saat
}
Mikroprosessor-Unsada-2016-adam-sayuti 8
Mikroprosessor-Unsada-2016-adam-sayuti 9