Kali
ini saya akan membagikan bagaimana suatu sistem traffic light sebuah pertigaan
yang sederhana dapat bekerja dengan menggunakan program arduino dengan bahasa yang
mirip c++ namun lebih sederhana dan disimulasikan menggunakan proteus. Sebelumnya
akan saya jelaskan apa itu arduino dan perintah perintah apa saja yang akan kita gunakan dalam program
ini. Dan juga cara menggunakan proteus yang kita gunakan sebagai simulasinya.
Arduino
adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari
Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam
berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya
memiliki bahasa pemrograman sendiri.
Arduino
juga merupakan platform hardware terbuka yang ditujukan kepada siapa saja yang
ingin membuat purwarupa peralatan elektronik interaktif berdasarkan hardware
dan software yang fleksibel dan mudah digunakan. Mikrokontroler diprogram
menggunakan bahasa pemrograman arduino yang memiliki kemiripan syntax dengan
bahasa pemrograman C. Karena sifatnya yang terbuka maka siapa saja dapat
mengunduh skema hardware arduino dan membangunnya.
Arduino
menggunakan keluarga mikrokontroler ATMega yang dirilis oleh Atmel sebagai
basis, namun ada individu/perusahaan yang membuat clone arduino dengan
menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino pada level
hardware. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun
ada opsi untuk membypass bootloader dan menggunakan downloader untuk memprogram
mikrokontroler secara langsung melalui port ISP.(wikipedia-2016).
Aplikasi
arduino ketika dibuka.
Lalu
buat program seperti script dibawah ini
int
merah1 = 13; //inisialisasi port 13
sebagai lampu merah jalan pertama
int
kuning1 = 12; //inisialisasi port 12
sebagai lampu kuning jalan pertama
int
hijau1 = 11; //inisialisasi port 11
sebagai lampu hijau jalan pertama
int
hijau2 = 10; //inisialisasi port 10
sebagai lampu hijau jalan kedua
int
kuning2 = 9; //inisialisasi port 9
sebagai lampu kuning jalan kedua
int
merah2 = 8; //inisialisasi port 8
sebagai lamopu merah jalan kedua
int
hijau3 = 7; //inisialisasi port 7
sebagai lampu hijau jalan ketiga
int
kuning3 = 6; //inisialisasi port 6
sebagai lampu kuning jalan ketiga
int
merah3 = 5; //inisialisasi port 5
sebagai lampu merah jalan ketiga
void
setup() {
// masukkan masing masing mode port semuanya
sebagai output
pinMode
(merah1, OUTPUT);
pinMode
(kuning1, OUTPUT);
pinMode
(hijau1, OUTPUT);
pinMode
(merah2, OUTPUT);
pinMode
(kuning2, OUTPUT);
pinMode
(hijau2, OUTPUT);
pinMode
(merah3, OUTPUT);
pinMode
(kuning3, OUTPUT);
pinMode
(hijau3, OUTPUT);
}
void
loop () {
// masukkan program utama
digitalWrite
(hijau1, HIGH); //lampu hijau jalan
pertana hidup
digitalWrite
(merah2, HIGH); //lampu merah jalan
kedua hidup
digitalWrite
(merah3, HIGH); //lampu merah jalan
ketiga hidup
delay(5000); //delay atau penundaan selama 5000 mili sekon
digitalWrite
(hijau1, LOW); //lampu hijau jalan
pertama mati
digitalWrite
(merah2, LOW); // lampu merah jalan
kedua mati
digitalWrite
(merah3, LOW); //lampu merah jalan
ketiga mati
digitalWrite
(kuning1, HIGH); //lampu kuning jalan
pertama hidup
digitalWrite
(merah2, HIGH); //lampu merah jalan
kedua hidup
digitalWrite
(merah3, HIGH); //lampu merah jalan
ketiga hidup
delay(2000); //delay atau penundaan selama 2000 mili sekon
digitalWrite
(kuning1, LOW); //lampu kuning jalan
pertama mati
digitalWrite
(merah2, LOW); //lampu merah jalan kedua
mati
digitalWrite
(merah3, LOW); //lampu merah jalan
ketiga mati
digitalWrite
(merah1, HIGH); //lampu merah jalan
pertama hidup
digitalWrite
(hijau2, HIGH); //lampu hijau jalan
kedua hidup
digitalWrite
(merah3, HIGH); //lampu merah jalan
ketiga hidup
delay(5000); //delay atau penundaan selama 5000 mili sekon
digitalWrite
(merah1, LOW); //lampu merah jalan
pertama mati
digitalWrite
(hijau2, LOW); //lampu hijau jalan kedua
mati
digitalWrite
(merah3, LOW); //lampu merah jalan
ketiga mati
digitalWrite
(merah1, HIGH); //lampu merah jalan
pertama hidup
digitalWrite
(kuning2, HIGH); //lampu kuning jalan
kedua hidup
digitalWrite
(merah3, HIGH); //lampu merah jalan
ketiga hidup
delay(2000); //delay atau penundaan selama 2000 mili sekon
digitalWrite
(merah1, LOW); //lampu merah jalan
pertama mati
digitalWrite
(kuning2, LOW); // lampu kuning jalan
kedua mai
digitalWrite
(merah3, LOW); //lampu merah jalan
ketiga mati
digitalWrite
(merah1, HIGH); //lampu merah jalan
pertama hidup
digitalWrite
(merah2, HIGH); //lampu merah jalan
kedua hidup
digitalWrite
(hijau3, HIGH); //lampu hijau jalan
ketiga hidup
delay(5000);
// delay atau penundaan selama 5000 mili sekon
digitalWrite
(merah1, LOW); //lampu merah jalan
pertama mati
digitalWrite
(merah2, LOW); //lampu merah jalan kedua
mati
digitalWrite
(hijau3, LOW); //lampu hijau jalan
ketiga mati
digitalWrite
(merah1, HIGH); //lampu merah jalan
pertama hidup
digitalWrite
(merah2, HIGH); //lampu merah jalan
kedua hidup
digitalWrite
(kuning3, HIGH); //lampu kuning jalan
ketiga hidup
delay(2000); //delay atau penundaan selama 2000 mili sekon
digitalWrite
(merah1, LOW); //lampu merah jalan
pertama mati
digitalWrite
(merah2, LOW); //lampu merah jalan kedua
mati
digitalWrite
(kuning3, LOW); //lampu kuning jalan
ketiga mati
int
nLooping = 3;
while ( nLooping < 100 )
nLooping++; //
pengulangan sebanyak 100 kali }
setelah
program dibuat lalu klik verify tanda centang di pojok kiri atas.
Setelah
itu buat simulasi pertigaan menggunakan proteus isis dengan komponen:
-
Arduino
R3
-
Lampu
LED merah, kuning, dan hijau masing masing 3 buah
Buat
rangkaian seperti skema dibawah ini:
Setelah membuat skema rangkaian seperti ini
maka langkah selanjutnya adalah memasukkan program ke arduino yaitu dengan cara
double klick pada arduino maka akanmuncul kotak seperti gambar dibawah :
Alamat
file hex berada pada kotak merah, copy alamat tersebut lalu paste ke alamat
yang ada pada edit program.
Langkah
terakhir adalah mensimulasikannya yaitu dengan menekan tombol play yang ada di
pojok kiri bawah aplikasi proteus.
Daftar Pustaka
-
Materi
dari smk tentang arduino dan proteus
-
Materi
dari mas gilang
-
https://id.wikipedia.org/wiki/Arduino
Tidak ada komentar:
Posting Komentar