Selasa, 25 Oktober 2016

MODIFIKASI ARDUINO UNO DENGAN VISUAL BASIC
          
          Membuat flip - flop dengan 2 tombol menggunakan visio basic 6.0
          Menyalakan LED menggunakan 2 tombol memiliki deskripsi seperti dibawah 
  • Tombol ON = flip-flop menyala 3 lampu.
  • Tombol OFF = flip-flop menyala 2 lampu.

ALAT DAN BAHAN

   1. Arduino UNO
   2. Kabel Jamper Male
   3. LED
   4. Seperangkat PC
   5. Kabel Data Arduino UNO
   6. Protoboard
   
TUJUAN

   Untuk melatih kemampuan dalam memprogram Arduino UNO dengan logika - logika tertentu dan fungsi - fungsi pemrograman.

CARA KERJA
  •     Jika tombol ON pada visio ditekan maka led Hijau akan menyala bersamaan dan LED Biru akan mati.
  •     Jika tombol OFF pada visio ditekan maka LED Biru akan menyala bersamaan dan LED Hijau akan mati.
  •     Jika Serial Monitor Menerima data angka "6" dari Keyboard maka Led Hijau akan menyala secara bersamaan dan LED Biru akan mati.
  •    Jika Serial Monitor Menerima data angka "9" dari Keyboard maka Led Biru akan menyala secara bersamaan dan LED Hijau akan mati.
PROSES KERJA
1. Nyalakan komputer/PC
2. Tulis baris program
    berikut baris program yang saya buat untuk contoh :

char val;
int M1 = 13;
int M2 = 12;
int M3 = 11;
int M4 = 10;
int M5 = 9;

void setup() {
   pinMode(M1,OUTPUT);
   pinMode(M2,OUTPUT);
   pinMode(M3,OUTPUT);
   pinMode(M4,OUTPUT);
   pinMode(M5,OUTPUT);
   Serial.begin(9600);
}

void loop() {
    if( Serial.available() >0 )     
{
    val = Serial.read();
    Serial.println(val);
}
    if( val == '6' )             
       { 
       digitalWrite(M1,HIGH);
       digitalWrite(M2,LOW);
       digitalWrite(M3,HIGH);
       digitalWrite(M4,LOW);
       digitalWrite(M5,HIGH);}
    else if( val == '9' )             
       { 
       digitalWrite(M1,LOW);
       digitalWrite(M2,HIGH);
       digitalWrite(M3,LOW);
       digitalWrite(M4,HIGH);
       digitalWrite(M5,LOW);
       }
}

3. Compile rangkaian dengan menekan CTRL + R
4. Buka program Visual Basic untuk membuat tombol.
5. Masukkan program agar tombol yang dibuat dapat disambungkan pada arduino.
6. Rangkai LED dengan arduino dengan jumper.
7. Sambungkan Arduino dengan Port USB pada PC
8. Periksa Port dan COM Arduino pada Softwere Arduino IDE
9. Setelah Port dan COM tersambung dan terbaca di Softwere Arduino IDE maka Upload Program         dengan cara menekan CTRL + U
10. Setelah "Done Uploading" maka jalankan rangkaian dengan menekan Keyboard atau Tombol           pada Visual Basic.

LAIN - LAIN






untuk melihat contoh klik disini.

Selasa, 11 Oktober 2016

KOMUNIKASI SERIAL ARDUINO UNO DENGAN KEYBOARD DAN PUSH BUTTON


A. Alat dan Bahan
   1. Arduino UNO (1 buah)
   2. Potensio/VR 100k (1 buah)
   3. Resistor 330Ohm (5 buah)
   4. LED (9 buah)
   5. Kabel Jumper Mele (18 buah)
   6. Push Button (2 buah)
   7. Protoboard (2 buah)
   8. Seperangkat PC
   9. Kabel Data Arduino Uno

B. Tujuan
   Untuk melatih siswa - siswi SMK LEONARDO agar lebih tangkas dalam memprogram arduino uno dengan logika - logika tertentu.

C. Cara Kerja
   1. Jika push button 1 ditekan maka led akan menyala secara running dan led indikator push button 1        akan menyala.
   2. Jika push button 2 ditekan maka led akan menyala secara flip - flop dan led indikator push button        2 akan menyala.
   3. Saat serial port menerima huruf "r" dari keyboard maka led akan menyala secara running dan led        indikator akan menyala. (seperti cara kerja 1)
   4. Saat serial port menerima huruf "f" dari keyboard maka led akan menyala secara flip - flop dan            led indikator akan menyala. (seperti cara kerja 2)

D. Langkah Kerja

   1. Hidupkan Komputer
   2. Siapkan alat dan bahan lainnya
   3. Buka program arduino uno yang ada pada desktop
   4. Lalu tuliskan program yang akan digunakan.
#define PB A0
#define PBdua A1
#define POT A2
int kondisiPOT = 0;
int kondisiPB = 0;
int kondisiPBdua = 0;
int dataserial = 0;
#define led1 2
#define led2 3
#define led3 4
#define led4 5
#define led5 6
#define led6 7
#define led7 8
#define ledPB 9
#define ledPBdua 10
void setup() {
  Serial.begin(9600);
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  pinMode(led4,OUTPUT);
  pinMode(led5,OUTPUT);
  pinMode(led6,OUTPUT);
  pinMode(led7,OUTPUT);
  pinMode(ledPB,OUTPUT);
  pinMode(ledPBdua,OUTPUT);
}

void loop(){
  looping:
   digitalWrite(led4,LOW);
   digitalWrite(led3,LOW);
   digitalWrite(led2,LOW);
   digitalWrite(led1,LOW);
   digitalWrite(led5,LOW);
   digitalWrite(led6,LOW);
   digitalWrite(led7,LOW);
    digitalWrite(ledPB,LOW);
     digitalWrite(ledPBdua,LOW);
  dataserial = Serial.read();
  kondisiPB = digitalRead(PB);
  kondisiPBdua = digitalRead(PBdua);
  Serial.print("UBAH KONDISI");
  Serial.println();
  delay(300);
 if (kondisiPB == HIGH){
  digitalWrite(ledPB,HIGH);
  Serial.print("PB Satu di Tekan");
  Serial.println();
  RunLed(); }
 if (kondisiPBdua == HIGH){
  digitalWrite(ledPBdua,HIGH);
  Serial.print("PB Dua di Tekan");
  Serial.println();
 Flipflop(); }
 if (dataserial == 'r'){
  digitalWrite(ledPB,HIGH);
  Serial.print("keyboard r di Tekan");
  Serial.println();
  RunLed(); }
 if (dataserial == 'f'){
  digitalWrite(ledPBdua,HIGH);
  Serial.print("keyboard f di Tekan");
  Serial.println();
  Flipflop();}

}
void RunLed(){
  digitalWrite(ledPBdua,LOW);
  kondisiPOT = analogRead(POT)+50;
  dataserial = Serial.read();
  kondisiPB = digitalRead(PB);
  kondisiPBdua = digitalRead(PBdua);
   digitalWrite(led4,LOW);
   digitalWrite(led3,LOW);
   digitalWrite(led2,LOW);
   digitalWrite(led1,LOW);
   digitalWrite(led5,LOW);
   digitalWrite(led6,LOW);
   digitalWrite(led7,LOW);
 
   if (kondisiPBdua == HIGH){
  digitalWrite(ledPB,LOW);
  Serial.print("PB dua di tekan");
  Serial.println();
  Flipflop(); }
   if (dataserial == 'f'){
  digitalWrite(ledPB,HIGH);
  Serial.print("keyboard f di tekan");
  Serial.println();
  Flipflop(); }

  digitalWrite(led1,HIGH);
    digitalRead(kondisiPBdua);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led1,LOW);

   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led2,HIGH);
  digitalRead(kondisiPBdua);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led2,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led3,HIGH);
  digitalRead(kondisiPBdua);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led3,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led4,HIGH);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led4,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led5,HIGH);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led5,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led6,HIGH);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led6,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led7,HIGH);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
  digitalWrite(led7,LOW);
   delay(kondisiPOT);
   kondisiPOT = analogRead(POT)+50;
 if (kondisiPBdua == HIGH){
  digitalWrite(ledPB,LOW);
  Serial.print("PB dua di tekan");
  Serial.println();
  Flipflop(); }
 if (dataserial == 'f'){
  digitalWrite(ledPB,HIGH);
  Serial.print("keyboard f di tekan");
  Serial.println();
  Flipflop(); }

  RunLed();
}
void Flipflop(){
  digitalWrite(ledPB,LOW);
  dataserial = Serial.read();
  kondisiPB = digitalRead(PB);
  kondisiPBdua = digitalRead(PBdua);
   digitalWrite(ledPBdua,HIGH);
  digitalWrite(led4,LOW);
   digitalWrite(led3,LOW);
   digitalWrite(led2,LOW);
   digitalWrite(led1,LOW);
   digitalWrite(led5,LOW);
   digitalWrite(led6,LOW);
   digitalWrite(led7,LOW);
  kondisiPOT = analogRead(POT)+100;
  digitalWrite(led1,HIGH);
  digitalWrite(led2,HIGH);
  digitalWrite(led3,HIGH);
  digitalWrite(led5,LOW);
  digitalWrite(led6,LOW);
  digitalWrite(led7,LOW);
delay(kondisiPOT);
  digitalWrite(led7,HIGH);
  digitalWrite(led6,HIGH);
  digitalWrite(led5,HIGH);
  digitalWrite(led3,LOW);
  digitalWrite(led2,LOW);
 digitalWrite(led1,LOW);
delay(kondisiPOT);
if (kondisiPB == HIGH){
  digitalWrite(ledPB,HIGH);
  Serial.print("PB Satu di Tekan");
  Serial.println();
  RunLed();}
if (dataserial == 'r'){
  digitalWrite(ledPB,HIGH);
  Serial.print("keyboard r di tekan");
  Serial.println();
  RunLed();
}
Flipflop();
}

 5. Compile program dengan menekan CTRL + R.
 6. Rangkai led, potensio, reistors, arduino, pada protoboard.
 7. Sambungkan bahan - bahan tersebut dengan kabel jamper mele.
 8. Sambungkan arduino dengan kabel data arduino pada komputer
 9. Periksa COMM pada softwere arduinoIDE.
10. Setelah arduino terhubung dengan COMM, Upload pprogram tersebut dengan menekan 
      CTRL + U]

E. Hasil Kerja




Contoh Hasil Kerja  "Klik Here"