Jumat, 22 November 2013

Prototype Lampu Merah Menggunakan Arduino (UNO)

Arduino merupakan 1 unti mikrokontroler yang telah dilengkapi pin-pin tertentu dan kabel USB untuk sarana upload sketch program dari komputer ke arduino. Arduino mengunakan bahasa yang mirip dengan bahasa pemrograman C. Karenanya, bagi anda yang sudah familiar dengan bahasa C, tidak akan sulit untuk memprogram arduino.




Dalam artikel ini kita akan mencoba untuk memprogram nyala rambu lampu lalulintas menggunakan arduino. Dalam lampu rambu lalu lintas, ada 3 buah warna, yaitu merah, kuning dan hijau. Pada kali ini akan dibuat nyala dari masing-masing lampu tersebut menggunakan Arduino (UNO).

Dalam proyek ini, urutan dari nyala lampu adalah seperti gambar diatas.
urutannya yaitu:

1. merah nyala, kuning mati, hijau mati
2. merah nyala, kuning berekedip, hijau mati
3. merah mati, kuning mati, hijau nyala
4. merah mati, kuning berkedip, hijau mati
5. kembali lagi ke awal (loop)

Membuat Desain Hardware

Berikut merupakan desain yang dapat dibuat secara instan menggunakan breadboard. Sebelum led masuk ke pin-pin arduino harus diberi resistor 220ohm agar arus listrik yang masuk ke led tidak terlalu besar.
Berikut adalah gambar rancangannya:




Keterangan:
1. Kaki anoda led merah diberi resistor 220ohm masuk ke pin no 11
2. Kaki anoda led kuning diberi resistor 220ohm masuk ke pin no 10
3. Kaki anoda led hijau diberi resistor 220ohm masuk ke pin no 9
4. Kaki katoda dari masing-masing led diparalel dan masuk ke pin ground

Setelah disimulasikan ke breadbord, lalu kita pasang masing-masing komponen pada PCB lubang. Hasilnya akan tampak seperti gambar dibawah

a. Pemasangan komponen-kompinen pada breadboard



b. Membuat jalur-jalur pada pcb






c. Pasang board pada port-port di arduino. Pada PCB lubang tersebut, socket pin sudah disesuaikan pada settingan di arduino




d. Hasilnya




Setelah pembuatan hardware selesai, maka dilanjut dengan pembuatan sketch program.

Langkah-langkahnya adalah sebagai berikut:

1. Membuka program Arduino yang bisa didownload secara gratis di www.arduino.cc


2. Kemudian pilih Tool>Board>Arduino UNO


3. Setelah itu ketik sketch program rambu lalu lintas


4. Setelah selesai menulis sketch program, kemudian tekan tombol verify untuk mengecek apakah ada yang error, apabila sketch program berhasil, maka akan tertera "Done Compiling"


5. Setelah selesai dan tidak ada error, kemudian upload sketch program ke arduino dengan menekan tombol upload. Bila berhasil, maka akan tampil gambar di bawah ini.




Listing program dari arduino (sketch) adalah sebagai berikut:

/*
TEKNIK ANTARMUKA TUGAS 1
PROTOTYPE LAMPU LALU LINTAS
oleh:
Afada Rio T./D400110033/Teknik Elektro
 */


int merah = 11;           // mendefinisikan pin 11 dengan nama 'merah'
int kuning = 10;          // mendefinisikan pin 10 dengan nama 'kuning'
int hijau = 9;              // mendefinisikan pin 9 dengan nama 'hijau'
int x;                         // mendefinisikan 'x' yang kelak akan dijadikan variabel dalam fungsi for

  // program akan mulai dari sini ketika tombol reset pada arduino ditekan
void setup() {               
  // menginisialisasi pin-pin sebagai output
  pinMode(merah, OUTPUT);
  pinMode(kuning, OUTPUT); 
  pinMode(hijau, OUTPUT);
 
}
 void hati2 ()                             //  sketch instruksi dari fungsi bernama hati2
{                                               //  lampu kuning hidup kedap-kedip
  .for(x=0; .x<4 br="" x="">     digitalWrite(kuning, HIGH); //  menginstruksi lampu kuning untuk hidup
    delay(500);                         //  memberi jeda hidup lampu kuning selama setengah detik
    digitalWrite(kuning, LOW);  //  menginstruksi lampu kuning untuk mati
    delay(500);                          //  memberi jeda mati lampu kuning selama setengah detik
  } 
}
  // pada loop ini, program akan mengulang-ulang hingga akhir
void loop() {
  digitalWrite(merah, HIGH);   //  mengistruksikan lampu merah untuk hidup
  delay(5000);                        //  memberi jeda hidup lampu merah selama 5 detik
  hati2();                                 //  memanggil fungsi hati2 untuk diproses program
  digitalWrite(kuning, LOW);   //  mengistruksikan lampu kuning untuk mati
  digitalWrite(merah, LOW);    //  mengistruksikan lampu merah untuk mati
  digitalWrite(hijau, HIGH);     //  mengistruksikan lampu hijau untuk hidup
  delay(5000);                         //  memberi jeda waktu 5 detik dari lampu merah, kuning dan hijau sesuai pengkondisian
  digitalWrite(hijau, LOW);     //  menginstruksikan lampu hijau untuk mati
  hati2();                                 //  memanggil fungsi hati2 untuk diproses program
   
}


Video hasil pemrograman arduino:




Prototype Lampu Lalu Lintas & Penyebrang Dengan Pushbutton

Setelah program yang sederhana diatas selesai, maka kita akan mencoba membuat hardware dan sketch yang lebih rumit.Dalam priyek kedua ini, pada hardware menggunakan 3 buah led merah, kuning, hijau sebagai lampu lalu lintas dan led merah, hijau sebagai lampu penyebrangan serta 1 buah pushbutton.

Berikut merupakan skema rangkaian menggunakan breadboard:






Keterangan:
  1. 3 lampu sebelah kiri (merah, kuning, hijau) merupakan lampu lalu lintas, sedangkan 2 lampu di sebelah kanan merupakan lampu penyebrangan (merah & hijau)
  2. Pemasangan Led
  • led merah lalu lintas pada kaki anoda diberi resistor 220 ohm lalu masuk pin 11
  • led kuning lalu lintas pada kaki anoda diberi resistor 220 ohm lalu masuk pin 10
  • led hijau lalu lintas pada kaki anoda diberi resistor 220 ohm lalu masuk pin 9
  • led merah penyebrangan pada kaki anoda diberi resistor 220 ohm lalu masuk pin 6
  • led hijau penyebrangan pada kaki anoda diberi resistor 220 ohm lalu masuk pin 5
  • semua kaki katoda led masuk ke pin ground
    3.   Penasangan pushbutton terhubung dari pin +5 volt ke pin 2, lalu resistor 220 ohm terhubung dari pinn  2 ke ground



Urutan Proses



Dalam desain kedua ini, urutan dari nyala lampu adalah seperti gambar diatas.
urutannya yaitu:

  1. Saat pushbutton belum ditekan, maka lampu lalu lintas akan menyala lampu hijau dan pada lampu penyebrang akan menyala lampu merah.
  2. Saat pushbutton ditekan, maka pada lampu lalu lintas di lampu kuning akan berkedip 4 kali namun saat itu terjadi, lampu penyebrang masih menyala lampu merah.
  3. Kemudian pada saat lampu lalulintas menyala lampu merah  pada saat itu juga lampu penyebrangan akan berganti warna hijau.
  4. Setelah proses tersebut, lampu lalu lintas pada led merah meyala, sedang led kuning berkedip dan pada lampu penyebrang led meyala merah.
  5. Kemudian proses mengulang dari awal (loop)


Langkah memasukkan sketch program ke dalam arduino sama seperti langkah sebelumnya, yang berbeda adalah sketch programmnya.

Sektch program pada projek kedua ini adalah sebagai berikut:

/*

TEKNIK ANTARMUKA TUGAS 2
PROTOTYPE LAMPU LALU LINTAS DENGAN TOMBOL LAMPU PENYEBRANGAN
oleh:
Afada Rio T./D400110033/Teknik Elektro


 Turns on and off a light emitting diode(LED) connected to digital 
 pin 13, when pressing a pushbutton attached to pin 2.


 The circuit:
 * LED attached from pin 13 to ground
 * pushbutton attached to pin 2 from +5V
 * 10K resistor attached to pin 2 from ground

 */


// menseting nomor pin
const int buttonPin = 2;     // definisi konstan dari pin 2 dengan nama 'buttonPin'
const int merahor =  6;      // definisi konstan dari pin 6 dengan nama 'merahor'
const int hijauor = 5;       // definisi konstan dari pin 5 dengan nama 'hijauor'
const int merah = 11;        // definisi konstan dari pin 11 dengan nama 'merah'
const int kuning = 10;       // definisi konstan dari pin 10 dengan nama 'kuning'
const int hijau = 9;         // definisi konstan dari pin 9 dengan nama 'hijau'
int x;                       // mendefinisikan 'x' yang kelak akan dijadikan variabel dalam fungsi for
int buttonState = 0;         // variabel untuk membaca status pushutton dengan nama 'buttonState'

void setup() {
// menginisialisasi pin-pin pada lampu sebagai output
  pinMode(merahor, OUTPUT);
  pinMode(hijauor, OUTPUT);
  pinMode(merah, OUTPUT);
  pinMode(kuning, OUTPUT);
  pinMode(hijau, OUTPUT); 
// menginisialisasi pin pada pushbutton sebagai input
  pinMode(buttonPin, INPUT);    
}

 void hati2 ()                  //  sketch instruksi dari fungsi bernama hati2
{                                   //  lampu kuning hidup kedap-kedip
  for(x=0; x<4 awal="" fungsi="" nbsp="" nilai="" perulangan="" x="0</p">                                     //  nilai max x adalah kurang dari 4                                                 
                                     //  x++ fungsi penjumlah x+1
                                     //  x akan ditambah 1, hingga x<4 p="">  {
    digitalWrite(kuning, HIGH); //  menginstruksi lampu kuning untuk hidup
    delay(500);                 //  memberi jeda hidup lampu kuning selama setengah detik
    digitalWrite(kuning, LOW);  //  menginstruksi lampu kuning untuk mati
    delay(500);                 //  memberi jeda mati lampu kuning selama setengah detik
  }
}

void loop(){
 
  buttonState = digitalRead(buttonPin);  // membaca nilai dari pushbutton
  if (buttonState == HIGH) {             // mengecek apabila pushbutton ditekan
                                         // jika ditekan, nilai dari pushbutton adalah HIGH
                                         // lalu akan berlanjut dalam pengaturan nyala lampu-lampu
  digitalWrite(hijau, LOW);              // mengistruksikan lampu hijau untuk mati
  hati2();                               // memanggil fungsi hati2 untuk diproses program
  digitalWrite(merah, HIGH);             // mengistruksikan lampu merah untuk hidup
  digitalWrite(hijauor, HIGH);           // mengistruksikan lampu hijau-penyebrang untuk hidup
  digitalWrite(merahor, LOW);            // mengistruksikan lampu merah-penyebrang untuk mati
  delay(10000);                           // memberi jeda hidup lampu merah, merahor dan hijauor selama 10 detik
  hati2();                               // memanggil fungsi hati2 untuk diproses program
  digitalWrite(kuning, LOW);             // mengistruksikan lampu kuning untuk mati
  digitalWrite(merah, LOW);              // mengistruksikan lampu merah untuk mati
  digitalWrite(hijau, HIGH);             // mengistruksikan lampu hijau untuk hidup
  digitalWrite(hijauor, LOW);            // mengistruksikan lampu hijau-penyebrang untuk mati
  digitalWrite(merahor, HIGH);           // mengistruksikan lampu merah-penyebrang untuk hidup
  delay(10000);                           // memberi jeda waktu 10 detik dari lampu merah, merahor, hijauor kuning dan hijau sesuai pengkondisian
  digitalWrite(hijau, LOW);              // menginstruksikan lampu hijau untuk mati
 
  }
  else {
    // menginstruksi lampu-lampu dalam kondisi tertentu saat saklar tidak ditekan:
    digitalWrite(merah, LOW);            // mengistruksikan lampu merah untuk mati
    digitalWrite(kuning, LOW);           // mengistruksikan lampu kuning untuk mati
    digitalWrite(hijau, HIGH);           // mengistruksikan lampu hijau untuk hidup
    digitalWrite(merahor, HIGH);         // mengistruksikan lampu merah-penyebrang untuk hidup
    digitalWrite(hijauor, LOW);          // mengistruksikan lampu hijau-penyebrang untuk mati
  }
}


Video Hasil Dari Proyek Kedua




Memainkan LED Dengan Android via Bluetooth & Arduino

Dalam percobaan kali ini, kita akan mencoba mengontrol lampu LED dengan menggunakan smartphone android beserta alat yang utama yaitu dengan arduino dan modul bluetooth. Modul Bluetooth yang dipakai adalah seri HC-06.

Rangkaian alat ini adalah sebagai berikut:


Konfigurasi pin-pin:

  1. TX pada modul bluetooth HC-06 masuk ke pin arduino nomer 10

  2. RX pada modul bluetooth HC-06 masuk ke pin arduino nomer 11

  3. VCC pada bluetooth masuk pada pin 3,3 volt arduino

  4. GND pada bluetooth masuh pada pin GND pada arduino

  5. Lampu Led dipasang pada pin nomer 13

 

Listing Program:

#include // import the serial library

SoftwareSerial Genotronex(10, 11); // RX, TX
int ledpin=13; // led on D13 will show blink on / off
int BluetoothData; // the data given from Computer

void setup() {
  // put your setup code here, to run once:
  Genotronex.begin(9600);
  Genotronex.println("Bluetooth On please press 1 or 0 blink LED ..");
  pinMode(ledpin,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
   if (Genotronex.available()){
BluetoothData=Genotronex.read();
   if(BluetoothData=='1'){   // if number 1 pressed ....
   digitalWrite(ledpin,1);
   Genotronex.println("LED  On D13 ON ! ");
   }
  if (BluetoothData=='0'){// if number 0 pressed ....
  digitalWrite(ledpin,0);
   Genotronex.println("LED  On D13 Off ! ");
  }
}
delay(100);// }



Video Hasil Percobaan


Selasa, 26 Mei 2009

ZOIDS

Ringkasan ini tidak tersedia. Harap klik di sini untuk melihat postingan.