0% menganggap dokumen ini bermanfaat (0 suara)
35 tayangan11 halaman

Laboratorium Mikroprosesor

Program mengatur empat lampu menyala secara berurutan dari kanan ke kiri dan kemudian mati secara bersamaan. Program selanjutnya mengatur lampu menyala secara berurutan dari kiri ke kanan. Program terakhir mengatur lampu hanya satu yang menyala pada satu waktu dengan arah nyala berlawanan bergantian saat tombol ditekan.

Diunggah oleh

Wahyu Anantyo Akbar
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
35 tayangan11 halaman

Laboratorium Mikroprosesor

Program mengatur empat lampu menyala secara berurutan dari kanan ke kiri dan kemudian mati secara bersamaan. Program selanjutnya mengatur lampu menyala secara berurutan dari kiri ke kanan. Program terakhir mengatur lampu hanya satu yang menyala pada satu waktu dengan arah nyala berlawanan bergantian saat tombol ditekan.

Diunggah oleh

Wahyu Anantyo Akbar
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 11

LABORATORIUM MIKROPROSESOR

PENGATURAN RUNNING LIGHT

Disusun oleh:

Wahyu Anantyo Akbar


19642005

KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET, DAN TEKNOLOGI


POLITEKNIK NEGERI SAMARINDA
JURUSAN TEKNIK ELEKTRO
PROGRAM STUDI S1 TERAPAN TEKNIK LISTRIK
2022
I. Tujuan :
1. Mengetahui cara menghubungkan port digital mikrokontroler dengan beban listrik
AC.
2. Mengetahui cara mengatur running light.
3. Memanfaatkan pin masukan dan keluaran digital dalam aplikasi pengaturan

II. Teori :
Sebagaimana layaknya rangkaian-rangkaian mikrokontroler yang lain, board
Arduino hanya mampu mengatur beban yang bekerja dengan tegangan DC hingga 5V
serta arus beberapa puluh mili Ampere seperti lampu LED. Oleh karena itu untuk
mengatur beban-beban listrik dengan tegangan dan arus yang besar diperlukanlah
rangkaian penggerak (driver).
Rangkaian penggerak bisa menggunakan relay, kontaktor, transistor, dan
komponen-komponen elektronika daya seperti SCR, TRIAC, IGBT, dan lain sebagainya.
Setiap komponen mempunyai kelebihan dan kekurangannya sendiri, dan biasanya
digunakan untuk keperluan tertentu.
Salah satu rangkaian penggerak sederhana untuk beban bertegangan AC 220V
dengan arus di bawah 2 A ditunjukkan dalam Gambar 1. Rangkaian transistor
menggunakan rangkaian Darlington untuk menaikkan gain. Sumber tegangan DC untuk
relay disesuaikan dengan spesifikasi relay. Walaupun relay perlu tegangan 5V, sumber
tegangannya sebaiknya tidak menggunakan tegangan 5V pada board Arduino. Alasannya
karena suplai arus yang diberikan oleh board Arduino biasanya terbatas, sehingga kerja
Arduino bisa terganggu jika arus relay terlalu besar.
Gambar 1. Rangkaian penggerak beban bertegangan AC

Kapasitas arus kontak relay harus disesuaikan dengan arus yang diperlukan oleh
beban lampu. Relay-relay DC berukuran kecil umumnya mampu dilalui arus hingga 2
atau 3 Ampere.
Pada Gambar 1, ketika pin digital keluaran Arduino berlogika High, terminal basis
transistor juga mendapat tegangan positif. Akibatnya, arus IC dapat mengalir dari
kolektor ke emitor. Aliran IC menyebabkan inti koil relay menjadi magnet dan menarik
kontak NO pada relay (Normally Open) untuk menutup. Akibatnya arus mengalir
melalui lampu 220V dan menyebabkannya menyala.
Sebaliknya, ketika pin digital keluaran Arduino berlogika Low, tegangan terminal
basis transistor menjadi nol. Akibatnya arus IC tidak dapat mengalir dan menyebabkan
inti koil kehilangan gaya magnetnya. Sehingga kontak relay terbuka dan mematikan
lampu.
Untuk mengatur empat lampu dibutuhkan empat set rangkaian pada Gambar 1.
Agar rangkaian menjadi lebih sederhana, dapat digunakan IC ULN 2003 yang
mengandung tujuh set rangkaian Darlington termasuk diode suppressor yang berfungsi
untuk menekan arus balik beban induktif. Diagram rangkaian IC ULN 2003 ditunjukkan
dalam Gambar 2.
Gambar 2. Rangkaian IC ULN 2003
(Sumber: hobbytronics.co.uk)
III. Alat Percobaan :
 Komputer atau Laptop
 Board Arduino Uno
 Kabel USB
 2 saklar push button
 2 resistor 1k Ω
 IC ULN2003
 4 relay 12 V
 4 lampu 220V dan kabel.

IV. Langkah Percobaan :


1. Rangkai seluruh alat percobaan seperti pada Gambar 3. Berhati-hatilah terutama pada
bagian bertegangan 220 V. Jangan sampai tegangan tinggi tersebut terhubung dengan
tegangan rendah 5 V. Hubungkan terminal tegangan 0V power supply pada GND
board Arduino, sehingga mempunyai referensi yang sama.

Gambar 3 Rangkaian percobaan

2. Bukalah IDE Arduino, kemudian hubungkan computer dengan board Arduino


dengan menggunakan kabel USB.
3. Tuliskan program berikut pada editor IDE. Program asli terdapat dalam website
arduino.cc.
const int pinL1 = 10; // nomor pin untuk Lampu1
const int pinL2 = 11; // nomor pin untuk Lampu2
const int pinL3 = 12; // nomor pin untuk Lampu3
const int pinL4 = 13; // nomor pin untuk Lampu4

void setup() {
// Inisialisasi pinL1 sebagai output
pinMode(pinL1, OUTPUT);
// Inisialisasi pinL2 sebagai output
pinMode(pinL2, OUTPUT);
// Inisialisasi pinL3 sebagai output
pinMode(pinL3, OUTPUT);
// Inisialisasi pinL4 sebagai output
pinMode(pinL4, OUTPUT);
}

void loop() {
digitalWrite(pinL1, LOW);
digitalWrite(pinL2, LOW);
digitalWrite(pinL3, LOW);
digitalWrite(pinL4, LOW);
delay (400);

digitalWrite(pinL1, HIGH);
delay (400);
digitalWrite(pinL2, HIGH);
delay (400);
digitalWrite(pinL3, HIGH);
delay (400);
digitalWrite(pinL4, HIGH);
delay (400);
}

4. Compile dan upload program ke board Arduino.

5. Amati kerja rangkaian. Jelaskan fungsi dari perintah dalam program di atas.

6. Buat program yang menampilkan urutan nyala lampu yang berlawanan. Jangan lupa
beri komentar di tiap program.

7. Buat program serupa, namun pada tiap waktu hanya satu lampu yang menyala. Beri
komentar di tiap baris perintahnya.

8. Buat program seperti no. 7 dengan arah kebalikan. Beri pula komentar di tiap baris
perintahnya.
9. Tambahkan program agar bekerja seperti berikut. Jika Tombol1 ditekan, nyala lampu
menjadi seperti dalam soal no. 7. Sebaliknya, bila Tombol2 ditekan, nyala lampu
menjadi seperti dalam soal no. 8.
V. Data Hasil Percobaan dan Analisa :
 Percobaan 5
Pada percobaan 5 ini, ditulis sebuah program pada editor IDE seperti dibawah ini:
const int pinL1 =  10;      // nomor pin untuk Lampu1
const int pinL2 =  11;      // nomor pin untuk Lampu2
const int pinL3 =  12;      // nomor pin untuk Lampu3
const int pinL4 =  13;      // nomor pin untuk Lampu4

void setup() {
  // Inisialisasi pinL1 sebagai output
  pinMode(pinL1, OUTPUT);
  // Inisialisasi pinL2 sebagai output
  pinMode(pinL2, OUTPUT);
  // Inisialisasi pinL3 sebagai output
  pinMode(pinL3, OUTPUT);
  // Inisialisasi pinL4 sebagai output
  pinMode(pinL4, OUTPUT);
 }

void loop() {
   digitalWrite(pinL1, LOW); // Memadamkan Lampu1
digitalWrite(pinL2, LOW); // Memadamkan Lampu2
digitalWrite(pinL3, LOW); // Memadamkan Lampu3
digitalWrite(pinL4, LOW); // Memadamkan Lampu4
delay (400); // Waktu tunggu

    digitalWrite(pinL1, HIGH); // Menghidupkan Lampu1


delay (400); // Waktu tunggu
    digitalWrite(pinL2, HIGH); // Menghidupkan Lampu2
delay (400); // Waktu tunggu
    digitalWrite(pinL3, HIGH); // Menghidupkan Lampu3
delay (400); // Waktu tunggu
    digitalWrite(pinL4, HIGH); // Menghidupkan Lampu4
delay (400); // Waktu tunggu
}

Pada saat program telah diupload kedalam arduino UNO maka yang terjadi
adalah lampu akan menyala satu-persatu dari urutan terkanan sampai menyala
seluruhnya hingga urutan lampu terkiri, setelah lampu menyala secara bersamaan
maka seluruh lampu akan otomatis mati secara bersamaan dan terus-menerus terjadi
secara berulang-ulang dengan waktu delay tiap perbedaan kondisi adalah 0,4 detik.

 Percobaan 6
Pada percobaan 6 ini, dibuat sebuah program yang menampilkan urutan nyala
lampu yang berlawanan. Berikut program yang telah dibuat :
const int pinL1 =  10;      // nomor pin untuk Lampu1
const int pinL2 =  11;      // nomor pin untuk Lampu2
const int pinL3 =  12;      // nomor pin untuk Lampu3
const int pinL4 =  13;      // nomor pin untuk Lampu4

void setup() {
  // Inisialisasi pinL1 sebagai output
  pinMode(pinL1, OUTPUT);
  // Inisialisasi pinL2 sebagai output
  pinMode(pinL2, OUTPUT);
  // Inisialisasi pinL3 sebagai output
  pinMode(pinL3, OUTPUT);
  // Inisialisasi pinL4 sebagai output
  pinMode(pinL4, OUTPUT);
 }

void loop() {
   digitalWrite(pinL1, LOW); // Memadamkan Lampu1
digitalWrite(pinL2, LOW); // Memadamkan Lampu2
digitalWrite(pinL3, LOW); // Memadamkan Lampu3
digitalWrite(pinL4, LOW); // Memadamkan Lampu4
delay (400); // Waktu tunggu

    digitalWrite(pinL4, HIGH); // Menghidupkan Lampu1


delay (400); // Waktu tunggu
    digitalWrite(pinL3, HIGH); // Menghidupkan Lampu2
delay (400); // Waktu tunggu
    digitalWrite(pinL2, HIGH); // Menghidupkan Lampu3
delay (400); // Waktu tunggu
    digitalWrite(pinL1, HIGH); // Menghidupkan Lampu4
delay (400); // Waktu tunggu
}

Pada saat program telah diupload kedalam Arduino UNO maka yang terjadi
adalah lampu akan menyala satu-persatu dari urutan yang berlawanan dari percobaan
ke-5 yang awalnya dari kanan ke kiri dari kiri ke-kanan.

 Percobaan 7
Pada percobaan 7 ini, di buat sebuah program yang serupa, namun pada tiap waktu
hanya satu lampu yang menyala. Berikut program yang telah dibuat :
const int pinL1 = 10; // nomor pin untuk Lampu1
const int pinL2 = 11; // nomor pin untuk Lampu2
const int pinL3 = 12; // nomor pin untuk Lampu3
const int pinL4 = 13; // nomor pin untuk Lampu4

void setup() {
// Inisialisasi pinL1 sebagai output
pinMode(pinL1, OUTPUT);
// Inisialisasi pinL2 sebagai output
pinMode(pinL2, OUTPUT);
// Inisialisasi pinL3 sebagai output
pinMode(pinL3, OUTPUT);
// Inisialisasi pinL4 sebagai output
pinMode(pinL4, OUTPUT);
}
void loop() {
digitalWrite(pinL1, LOW);
digitalWrite(pinL2, LOW);
digitalWrite(pinL3, LOW);
digitalWrite(pinL4, LOW);
delay (400);

digitalWrite(pinL1, HIGH);
delay (400);
digitalWrite(pinL1, LOW);
digitalWrite(pinL2, HIGH);
delay (400);
digitalWrite(pinL2, LOW);
digitalWrite(pinL3, HIGH);
delay (400);
digitalWrite(pinL3, LOW);
digitalWrite(pinL4, HIGH);
delay (400);
digitalWrite(pinL4, LOW);
}

Pada saat program telah diupload kedalam Arduino UNO maka yang terjadi adalah
lampu menyala satu-persatu dan seketika padam secara berurutan dari kanan ke kiri.
kemudian semua lampu padam dan terus-menerus terjadi secara berulang-ulang
dengan waktu delay nyala tiap lampu adalah 0,4 detik.

 Percobaan 8
Pada percobaan 8 ini, dibuat sebuah program seperti no 7 yaitu yang pada tiap
waktu hanya satu lampu yang menyala, namun dengan arah nyala lampunnya
berlawanan dari no 7. Berikut program yang telah dibuat :
const int pinL1 = 10; // nomor pin untuk Lampu1
const int pinL2 = 11; // nomor pin untuk Lampu2
const int pinL3 = 12; // nomor pin untuk Lampu3
const int pinL4 = 13; // nomor pin untuk Lampu4

void setup() {
// Inisialisasi pinL1 sebagai output
pinMode(pinL1, OUTPUT);
// Inisialisasi pinL2 sebagai output
pinMode(pinL2, OUTPUT);
// Inisialisasi pinL3 sebagai output
pinMode(pinL3, OUTPUT);
// Inisialisasi pinL4 sebagai output
pinMode(pinL4, OUTPUT);
}

void loop() {
digitalWrite(pinL1, LOW);
digitalWrite(pinL2, LOW);
digitalWrite(pinL3, LOW);
digitalWrite(pinL4, LOW);
delay (400);

digitalWrite(pinL4, HIGH);
delay (400);
digitalWrite(pinL4, LOW);
digitalWrite(pinL3, HIGH);
delay (400);
digitalWrite(pinL3, LOW);
digitalWrite(pinL2, HIGH);
delay (400);
digitalWrite(pinL2, LOW);
digitalWrite(pinL1, HIGH);
delay (400);
digitalWrite(pinL1, LOW);
}

Pada saat program telah diuplad kedalam Arduino UNO maka yang terjadi adalah
lampu menyala satu-persatu berlawanan dari percobaan ke 7 dan seketika padam
secara berurutan dari urutan kiri ke kanan.

 Percobaan 9
Pada percobaan 9 ini, ditambahkan sebuah program agar berkerja seperi berikut.
Jika Tombol1 ditekan, maka nyala lampu akan menjadi seperti dalam soal no 7
(lampu menyala secara berurut dari kanan ke-kiri). Sebaliknya, bila Tombol2 ditekan,
maka nyala lampu akan menjadi seperti dalam soal no 8 (lampu menyala secara
berurut dari kiri ke-kanan). Berikut program yang telah di tambahkan :
const int pinL1 = 10; // nomor pin untuk Lampu1
const int pinL2 = 11; // nomor pin untuk Lampu2
const int pinL3 = 12; // nomor pin untuk Lampu3
const int pinL4 = 13; // nomor pin untuk Lampu4
const int pinTombol1 = 2; // nomor pin untuk Tombol1
const int pinTombol2 = 3; // nomor pin untuk Tombol3

int statusTombol1 = 0; // variable status pinTombol1


int statusTombol2 = 0; // variable status pinTombol2

void setup() {
// Inisialisasi pinL1 sebagai output
pinMode(pinL1, OUTPUT);
// Inisialisasi pinL2 sebagai output
pinMode(pinL2, OUTPUT);
// Inisialisasi pinL3 sebagai output
pinMode(pinL3, OUTPUT);
// Inisialisasi pinL4 sebagai output
pinMode(pinL4, OUTPUT);
// Inisialisasi pinTombol1 sebagai input
pinMode(pinTombol1, INPUT);
// Inisialisasi pinTombol2 sebagai input
pinMode(pinTombol2, INPUT);
}

void loop() {
// baca status pinTombol1
statusTombol1 = digitalRead(pinTombol1);

// periksa apakah Tombol1 ditekan


if (statusTombol1 == HIGH) {

digitalWrite(pinL1, LOW);
digitalWrite(pinL2, LOW);
digitalWrite(pinL3, LOW);
digitalWrite(pinL4, LOW);
delay (400);

digitalWrite(pinL1, HIGH);
delay (400);
digitalWrite(pinL1, LOW);
digitalWrite(pinL2, HIGH);
delay (400);
digitalWrite(pinL2, LOW);
digitalWrite(pinL3, HIGH);
delay (400);
digitalWrite(pinL3, LOW);
digitalWrite(pinL4, HIGH);
delay (400);
digitalWrite(pinL4, LOW);
}

// baca status pinTombol1


statusTombol2 = digitalRead(pinTombol2);

// periksa apakah Tombol1 ditekan


if (statusTombol2 == HIGH) {

digitalWrite(pinL1, LOW);
digitalWrite(pinL2, LOW);
digitalWrite(pinL3, LOW);
digitalWrite(pinL4, LOW);
delay (400);

digitalWrite(pinL4, HIGH);
delay (400);
digitalWrite(pinL4, LOW);
digitalWrite(pinL3, HIGH);
delay (400);
digitalWrite(pinL3, LOW);
digitalWrite(pinL2, HIGH);
delay (400);
digitalWrite(pinL2, LOW);
digitalWrite(pinL1, HIGH);
delay (400);
digitalWrite(pinL1, LOW);
}
}

Pada saat program telah diupload kedalam Arduino UNO maka yang terjadi adalah
ketika tombol 1 ditekan maka lampu akan menyala secara berurutan dari yang paling
kiri ke paling kanan, dan jika tombol 2 ditekan maka lampu yang menyala secara
berurutan dari yang paling kanan ke paling kiri.
VI. Kesimpulan :

Setelah semua percobaan di atas dilakukan, maka yang dapat diambil kesimpulan sebagai
berikut :
1. Running Light dipraktekkan untuk mengetahui cara menghubungkan port digital
mikrokontroler dengan menggunakan rangkaian penggerak (driver) yang fungsinya
mengatur beban-beban listrik dengan tegangan dan arus besar.
2. Di dalam Job Running Light ini ada beberapa jenis program yang sesuai dengan fungsinya
masing-masing.
3. Pin input dan output digital dapat diatur kedalam beberapa aplikasi pengaturan.

Anda mungkin juga menyukai