Praktikum 2 - Push Button
Praktikum 2 - Push Button
NIM : 11140970000003
Jurusan : Fisika
Nomor percobaan :2
Asisten : Ika
PRAKTIKUM 2
A. TUJUAN
2. Mahasiswa dapat memahami program Anduino untuk mengambil data saklar dan mengeluarkan
data ke LED.
3. Mahasiswa memahami beberapa instruksi Arduino dasar, digitalRead, if, dan for.
B. TEORI DASAR
Salah satu jenis saklar yang Anda gunakan setiap hari adalah lampu. Sebuah lampu adalah
perangkat sederhana dengan dua posisi, dan mematikan. Ketika di, dua kawat yang terhubung di
dalam, yang memungkinkan arus mengalir. Ketika off, dua kabel yang terputus.
Di sebelah kiri, saklar terbuka dan tidak ada arus mengalir. Di sebelah kanan, saklar ditutup, arus dan
lampu menyala. 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
1. Project Board
2. LED
3. Push Button
4. Arduino ATMega2560
5. Kabel USB
6. Kabel Jumper
7. Resistor
D. LANGKAH-LANGKAH PERCOBAAN
3. Menyambungkan kabel-kabel jumper sesuai dengan praktikum yang dilaksanakan seperti pada
UJI PERTAMA
Gambar Rangkaian satu push-button dan satu LED
UJI KEDUA
UJI KETIGA
UJI PERTAMA
//Menghidupkan satu LED dengan satu Push Button
const int ledPin = 13;
const int inputPin = 5;
void setup() {
pinMode (ledPin, OUTPUT);
pinMode (inputPin, INPUT);
digitalWrite(inputPin, HIGH);
void loop() {
int val = digitalRead(inputPin);
if (val == HIGH) {
digitalWrite(ledPin, LOW);
}
else
{
digitalWrite (ledPin, HIGH);
}
}
UJI KEDUA
//Menghidupkan dua LED dengan dua Push Button
unsigned int inputPin[] = {4,5};
unsigned int ledPin[] = {12,13};
void setup() {
for (int indeks = 0; indeks < 2; indeks++)
{
//Declare LED as output
pinMode (ledPin[indeks],OUTPUT);
pinMode (inputPin[indeks],INPUT);
//Mengaktif resistor Pull-Up
digitalWrite (inputPin[indeks],HIGH);
}
void loop() {
for (int indeks = 0; indeks < 2; indeks++)
{
//read input value
int val = digitalRead (inputPin[indeks]);
if (val == LOW) //cek switch ditekan
{
//switch ditekan LED on
digitalWrite (ledPin[indeks], HIGH);
}
else
{
//LED off
digitalWrite(ledPin[indeks], LOW);
}
}
}
UJI KETIGA
unsigned int inputPin[] = {5};
unsigned int ledPin[] = {10,11,12,13};
void setup() {
for(int indeks = 0; indeks < 4; indeks++)
{
pinMode(ledPin[indeks], OUTPUT);
pinMode(inputPin[indeks], INPUT);
digitalWrite(inputPin[indeks], HIGH);
}
void loop() {
for(int indeks = 0; indeks < 4; indeks++)
{
int val = digitalRead(inputPin[indeks]);
if (val == LOW)
{
digitalWrite(ledPin[indeks], HIGH);
}
else
{
digitalWrite(ledPin[indeks], LOW);
}
}
}
UJI KEEMPAT
unsigned int inputPin[] = {5};
void setup() {
digitalWrite(inputPin[i], HIGH);
digitalWrite(inputPin1[i], HIGH);
}
}
void loop() {
if (val == LOW)
digitalWrite(ledPin[i], HIGH);
else
digitalWrite(ledPin[i], LOW);
if (val1 == LOW)
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(500);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
delay(500);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(500);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(500);
6. Jika tidak terjadi error melanjutkan dengan mengupload program ke dalam mikrokontroler.
7. Mengamati hasil jika sudah sesuai dengan perintah instruktur atau belum, kalau belum mengulangi
E. DATA PERCOBAAN
1. UJI PERTAMA
2. UJI KEDUA
Kondisi saat kedua push-button sebelum ditekan Kondisi saat push-button pertama ditekan
Kondisi saat push-button kedua ditekan Kondisi saat kedua push-button sesudah ditekan
3. UJI KETIGA
Kondisi saat kedua push-button sebelum ditekan Kondisi saat push-button ditekan
4. UJI KEEMPAT
Push-button pertama berfungsi sebagai menyalakan LED berkedip, dan push-button kedua
Kondisi push-button kedua setelah ditekan, LED berjalan dari kiri ke kanan :
F. PEMBAHASAN
Pada praktikum ini membahas tentang percobaan push-button pada LED dengan
menggunakan alat dan aplikasi program Arduino ATMega2560. Push button berfungsi sebagai saklar
seperti memerintahkan program yang tersedia di program di Arduino tersebut, menyalakan dan
Praktikum pertama melakukan program menyalakan satu buah LED dengan satu buah push-
button. Dimana output terletak di pin 13 (const int ledPin=13) sebagai memanggil perintah untuk
LED, dan input pada pin 5 (cons tint inputPin=5) sebagai perintah memanggil program untuk push-
button. Pada program membuat perintah menggunakan fungsi if yang berfungsi memilih suatu
percabangan dalam program. Nilai Val bisa HIGH atau LOW, artinya jika HIGH maka menyala dan
LOW maka mati. Sedangkan fungsi digitalRead() berfungsi untuk membaca nilai input yaitu push-
button pada Pin 5. Sebagai contoh pada program jika fungsi if nilai Val HIGH maka yang terbaca
pada LED akan mati, jika tidak (LOW) maka yang terbaca pada LED akan menyala setelah menekan
push-button.
Pada praktikum kedua menggunakan dua LED dan dua push-button. Berarti satu LED akan di
kontrol oleh satu push-button. Dengan menggunakan program yang sama seperti pada percobaan
pertama dimana pin yang digunakan lebih dari satu, sehingga menggunakan perintah unsigned int,
yang artinya digunakan untuk mendeklarasikan tipe data, yaitu 12 dan 13 untuk perintah output LED
diatur sebagai ledPin untuk pin output, 4 dan 5 untuk perintah input push-buttonnya yang diatur
sebagai inputPin untuk inputnya supaya HIGH. Pada bagian loop, mendeklarasi sebuah variabel
indeks. Kemudian dilakukan pengulangan dengan menggunakan pernyataan for. Nilai inisiasi awal
untuk variabel indeks = 0, kemudian dilakukan test kondisi indeks < 2, artinya selama nilai variabel
indeks < 2, pengulangan terus dilakukan artinya semua LED terprogram secara bersamaan pada satu
instruksi. Variabel indeks merupakan pernyataan yang diulang-ulang secara teratur. Pada bagian loop,
membaca nilai input push-button. Jika kedua push-button ditekan maka dua LED akan menyala
bersamaan dan jika tidak ditekan maka LED akan LOW alias mati. Namun, jika push-button pertama
Kemudian praktikum ketiga menjalankan program empat LED menyala dengan satu buah
push-button. Sama dengan pada program praktikum kedua diatas tetapi dengan menambah perintah
dekalarasi ledPin dengan empat buah LED, pada pin output di pin 10, 11, 12, 13 dengan input push-
button di pin 5. Dan mengubah indeks < 2 menjadi indeks < 4 karena menggunakan empat buah LED
program. Dalam program ini ketika ditekankan push-button maka akan menyala keempat LED-nya.
Selanjutnya pada praktikum keempat menggunakan empat buah LED dan dua push button
dengan fungsi push-button yang berbeda-beda. Push button pertama difungsikan untuk program
perintah menyalakan LED ketika push-button itu ditekankan. Sedangkan push-button yang kedua
berfungsi sebagai program LED berjalan dari kiri ke kanan. Pada deklarasi program unsigned int
inputPin dibuat untuk program LED menyala, sedangkan unsigned int inputPin1 sebagai deklarasi
program LED berjalan, dan unsigned int ledPin untuk perintah output LED. Kemudian pada program
digitalRead berfungsi untuk membaca perintah (nilai) yang sudah diprogramkan pada Arduino dari
pin digital tertentu. Berarti dalam praktikum ini dibuat dua program yang diperintahkan yaitu program
menyalakan LED dan program LED berjalan. Jadi, artinya program Val dan digitalRead akan dibuat
secara terpisah.
G. KESIMPULAN
1. Sakelar atau push-button berfungsi sebagai penghubung atau pemutus aliran arus listrik dan diatur
HIGH atau LOW yang disambungkan dengan LED sebagai indikator fungsi saklar.
2. Pengambilan data pada saklar dan LED disesuaikan dengan pada bagian deklarasi awal, bagian
setup, dan bagian loop. Logika program harus sesuai pada masing-masing bagian.
3. Pada digitalRead berfungsi untuk membaca perintah (nilai) yang sudah diprogram pada arduino