Chase Lamp (Lampu Sirine) Delay Berdasarkan Potensiometer (Prinsip Flip Flop)

Haii….. Palcomster bertemu lagi dengan saya. Kali ini kita rehat dulu dengan konfig server, kali ini kita refreshing dulu cari suasana baru. Kalian tahu apa itu mikrocontroller ? Mikrokontroler merupakan salah satu piranti atau alat pengendali digital terpadu yang sangat …

Review Overview

User Rating: 2.53 ( 2 votes)
0

Haii….. Palcomster bertemu lagi dengan saya. Kali ini kita rehat dulu dengan konfig server, kali ini kita refreshing dulu cari suasana baru. Kalian tahu apa itu mikrocontroller ? Mikrokontroler merupakan salah satu piranti atau alat pengendali digital terpadu yang sangat terkenal (minimal di kalangan Elektronika dan Komputer). Mikrokontroler sendiri merupakan mikroprosesor dengan tambahan fitur yang memungkinkan mikrokontroler untuk menjadi piranti independen. Piranti-piranti yang ditambahkan supaya bisa independen. Mikrokontroller/mikroprosesor sendiri secara instruksinya terbagi menjadi dua :

  1. RISC (Reduced Instruction Set Computer) yang mana jumlah dari instruksi-instruksi/script program yang digunakan disederhanakan dan lebih mudah untuk di pahami dan di pelajari.
  2. CISC (Complex Instruction Set Computer) yang mana jumlah dan instruksi-instruksi/script program yang digunakan di perbanyak supaya lebih dapat mencakup lebih banyak kegunaannya

Secara pengalamatan (addressing) pada mikrokontroler/mikroprosesor terbagi jadi dua, yaitu :

  1. Von Neumann, yang menggabung jalur data dan program (instruksi)
  2. Harvard, yang memisahkan jalur data dan program (instruksi)

Arduino merupakan salah satu mikrokontroller yang biasa digunakan. Arduino adalah platform yang terdiri dari software dan hardware yang pada umumnya ditambahakan penamaan pin agar mudah diingat. Arduino terdiri dari microcontroller megaAVR seperti ATmega8, Atmega168, Atmega328, Atmega 1280, Atmega 2560 yang menggunakan kristal osilator 16MHz tetapi ada juga yang menggunakan kristal osilator 8MHz. Catu daya minimum yang digunakan oleh arduino adalah 5VDC. Arduino Atmega series menggunakan 20 pin yang terdiri dari 14 pin digital dan 6 pin analog, di 14 pin digital termuat 6 pin yang dapat berfusi sebagai PWM (Pulse Width Modulation). Arduino tidak perlu lagi menggunakan flash programmer external karena di dalam chip microcontroller arduino sudah menggunakan bootloader sehingga proses upload menjadi lebih mudah. Kita hanya memasukkan coding programnya saja yang nantinya akan di konversi menjadi bahasa assembler.

Penjelasan diatas merupakan pengetahuan tambahan untuk microcontroller. Kalau diatas dijelaskan dari sisi hardware secara pintas, untuk tutorial ini kita bahas masalah coding program yang mudah untuk di pelajari, apakah kalian tahu lampu sirine, sekarang ini ada banyak tipe lampu sirine, ada yang menggunakan rotator lampu sirine yang memutar dan ada juga yang menggunakan lampu led. sebagai contoh kali ini saya membahasa CHASE LAMP (prinsip lampu sirine non rotator) pada tutorial sebelumnya pernah di bahas juga untuk chase lamp hanya saja delay pergantian lampu di atur waktunya di dalam program, nah untuk delay ini bisa kita atur secara manual menggunakan potensio meter.

Potensiometer atau sering disebut sebagai (POT) merupakan salah satu jenis Resistor dimana Nilai Resistansinya dapat diatur sesuai dengan kebutuhan dalam Rangkaian Elektronika ataupun kebutuhan pemakainya. Potensiometer masuk dalam Keluarga Resistor yang tergolong dalam Kategori Variable Resistor. Potensiometer terdiri dari 3 kaki Terminal dengan sebuah shaft atau tuas yang berfungsi sebagai pengaturnya.

potensi1

Pada sample ini hasil akhir lampu sirinenya nanti berjalan dari sisi kanan/kiri dan kembali ke posisi awal, untuk proses buatnya kita menggunakan bantuan arduino, di tutorial sebelumnya saya pernah membahas prinsip lampu flip flop dan sandi morse, traffic light nah di tutorial ini pun masih sama tidak jauh berbeda hanya logika programnya saja yang diubah. Ok kita langsung saja, yang harus dilakukan antara lain :

Langkah 1

Aktifkan aplikasi arduino kalau yang belum punya langsug download saja di home page resminya arduino.

Langkah 2

Tuliskan script berikut ini, tetapi jangan asal copas harus di baca dan dimengerti, agar delay bisa di atur menggunakan potensiometer maka yang harus di ubah adalah pada bagian delayLed di hapus nilai muatan waktunya, kemudian tambahkan variabel int potensiometer = 2;

// nomor pin yang digunakan type data byte

byte pinLed[] = {5, 6, 7, 8, 9, 10, 11, 12, 13};

int delayLed;   //delay pergantian lampu 20ms (optional semakin besar nilai delay, maka pergantian lampu makin lama)

int arah = 1; //arah lampu dimulai dari lampu urutan pertama

int saatIni = 0; //saat ini tidak ada yang aktif

int potensiometer = 2; // pin 2 pada pin analog sebagai pin input potensiometer

unsigned long perubahanWaktu; //variabel panjang yang mampu menyimpan 32 bit (4byte) angka dari 0- 2^32-1

void setup() { for (int a=0; a<9; a++){ // jika a kurang dari 9, maka a ditambah 1, sampai a = 9 

pinMode (pinLed[a], OUTPUT);} // nilai a dijadikan nilai array dari pinLed (nilai OUTPUT/ yg keluar) 

perubahanWaktu = millis(); // unsigned logn di kembalikan ke nilai 0 // milis adalah mengembalikan jumlah milidetik sejak mulai menjalankan program // di kembalikan ke nilai 0 atau lebih tepatnya reset time. }

void loop() { delayLed = analogRead(potensiometer); // nilai dari variabel delayLed adalah potensiometer 

if ((millis() - perubahanWaktu) > delayLed) { // jika milis di kurang unsigned long lebih kecil dari delayLed 

ubahLed();     // maka jalankan ubahled() 

perubahanWaktu = millis(); // dimana unsigned dikembalikan ke nilai 0

 } }   void ubahLed() { for (int a=0; a<9; a++){ // jika a kurang dari 9, maka a ditambah 1, sampai a = 9 

digitalWrite(pinLed[a], LOW); //nilai a dijadikan nilai array dari pinLed dan nilai array dinyatakan LOW (off), HIGH (ON) 

} digitalWrite(pinLed[saatIni], HIGH); //menyatakan pin yang berjalan saat ini dalam kondisi ON/ dinyalakan

saatIni += arah; if (saatIni == 9) {arah = -1;} // jika yang berjalan di lampu ke 9 maka nilai kembali di kurang 1 (9, 8, 7, 6, 5, 4, 3, 2, 1, 0(off))

 if (saatIni == 0) {arah = 1;} // jika yang berjalan dalam keadaan off maka nilai di tambah 1 menuju 9 (0 (off), 1, 2, 3, 4, 5, 6, 7, 8, 9) }

Langkah 3

Kelengkapan perangkat yang dibutuhkan.

potensi2

Langkah 4

Buat rangkaian seperti gambar di bawah ini, pin sosled yang keluar dari pin 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 dan pin ini bukannlah pin yang mutlak di gunakan boleh anda ubah dengan urutan pin yang lain.

potensi3

Langkah 5

Dari sketsa gambar di atas jika di implementasikan kurang lebih seperti gambar berikut:

potensi4

Langkah 6

Kemudian verifikasi kode yang kita buat untuk memeriksa apakah ada error script atau tidak.

potensi5

Kemudian compile untuk di masukkan ke dalam microcontroller, dan hasilnya kurang lebih seperti gambar-gambar di bawah ini dan video berikut ini :

[fvplayer src=’http://news.palcomtech.com/wp-content/uploads/2014/04/chase-lamp-potensio.flv’ width=500 height=300 autoplay=true  splash=http://news.palcomtech.com/wp-content/uploads/2014/04/potensi4.jpg]

Selamat mencoba dan bereksperimen

Guntoro Barovih

Guntoro Barovih adalah seorang Dosen Program Studi Teknik Informatika di STMIK PalComTech

Leave a Reply

Your email address will not be published. Required fields are marked *

*

[+] kaskus emoticons nartzco

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Yuk kita share...