Isi




*klik teks untuk menuju 

1. Listing Program [kembali] 

     1.1 Listing Program Untuk Rangkaian Simulasi
 
#include <Servo.h>                                            //memanggil  library motor servo       
#include <Wire.h>
#include <LiquidCrystal.h>                             //memanggil library LCD
#define echoPin 8                                            //mendeklarasikan echoPin terhubung ke pin 8 Arduino
#define trigPin 7                                            //mendeklarasikan trigPin terhubung ke pin 7 Arduino
long ping;
float jarak;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);         //mendeklarasikan kaki LCD terhubung ke pin-pin Arduino
Servo myservo;

void setup() {   // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);                     //mendeklarasikan trigPin sebagai output
  pinMode(echoPin, INPUT);                       //mendeklarasikan echoPin sebagai output
  myservo.attach(9);                               //mendeklarasikan motor servo dihubungkan ke pin9 Arduino
  lcd.begin(16, 2);                                  //memulai proses di lcd karakter 16 x 2
}

void loop() {
 
  digitalWrite(trigPin, LOW);                    //mendeklarasikan trigPin berlogika low
  delayMicroseconds(2);                           //delay 2 ms
  digitalWrite(trigPin, HIGH);                   //mendeklarasikan trigPin berlogika high
  delayMicroseconds(10);                         //delay 10 ms
  digitalWrite(trigPin, LOW);                   //mendeklarasikan trigPin berlogika low
  ping = pulseIn(echoPin, HIGH);
  jarak = ping/330/2;

  lcd.clear();
  lcd.setCursor(0, 0);                               // men set kursor pada lcd di posisi kolom 0 baris 0
  lcd.print("Jarak =");                             //menampilkan karakter "jarak =" di lcd
  lcd.setCursor(8, 0);                              // men set kursor karakter sesudah "jarak =" di kolom 8 baris 0
  lcd.print(jarak);                                   //manampilkan karakter "jarak" di lcd
  lcd.setCursor(12, 0);                           //men set kursor karakter sesudah "jarak =" di kolom 12 baris 0
  lcd.print("Cm");                                  //menampilkan karakter "Cm" di  lcd
  delay(500);                                          //delay 500 ms

  if (jarak < 20) {
      myservo.write(90);       // meberitahu motor servo untuk bergerak sebesar 90 dari pos sebelumnya
      delay(15);                        // delay 15 ms dari reaksi motor servo
    }
  else {
    myservo.write(0);          // memberitahu motor servo untuk bergerak ke 0 dari pos sebelumnya
      delay(15);                          // delay 15 ms dari reaksi motor servo
    }
}       


·         Penjelasan Program
               Awal Program, memanggil library dari motor servo, dan LCD. lalu, mendeklarasikan echoPin terhubung ke pin 8 Arduino, mendeklarasikan trigPin terhubung ke pin 7 Arduino, mendeklarasikan kaki LCD terhubung ke pin-pin Arduino dan mendeklarasikan motor servo dihubungkan ke pin 9 pada Arduino. Selanjutnya fungsi 'void setup' adalah membaca fungsi-fungsi yang akan dipakai dalam sekali. Untuk fungsi selanjutnya adalah 'void loop' dimana fungsi yang digunakan untuk perulangan, pada fungsi 'void loop' terdapat mendeklarasikan 'pinMode' untuk 'trigPinsebagai OUTPUT, lalu mendeklarasikan 'pinMode' untuk 'echoPinsebagai INTPUT, lalu mendeklarasikan ‘digitalWrite’ untuk 'trigPin' berlogika ‘LOW’ delay selama 2 ms, lalu mendeklarasikan ‘digitalWrite’ untuk 'trigPin' berlogika ‘HIGH’ delay selama 10 ms, lalu mendeklarasikan ‘digitalWrite’ untuk 'trigPin' berlogika ‘LOW’ , dengan rumus mencari jarak = ping/330/2.
            Jika jarak benda kecil dari 20 cm, motor bergerak sebesar 90o  dan delay selama 15 ms. Dan Jika jarak benda besar dari 20 cm, motor bergerak sebesar 0o  dan delay selama 15 ms.
 


  1.2      Listing Program Untuk Alat

#include <Servo.h>                             //memanggil libray motor servo
#include <Wire.h>                             
#include <LiquidCrystal_I2C.h>       //memanggil library LCD I2C

#define ping 8                                    //mendaklarasikan sensor ping (jarak) di hubungkan pin 8 arduino


LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo myservo;
int pos = 0;                                          //posisi di 0


void setup() {                                      //sebuah membaca fungsi-fungsi yang akan dipakai dalam sekali
  myservo.attach(9);                            //mendeklarasikan motor servo dihubungkan ke pin9 Arduino
  lcd.init();                                      
  lcd.backlight();
}

void loop() {                                        //sebuah fungsi untuk perulangan
  long cm;
  pinMode(ping, OUTPUT);                //mendeklarasikan sensor ping sebagai output
  digitalWrite(ping, LOW);                  //mendeklarasikan sensor ping berlogika low
  delayMicroseconds(2);                      //delay 2 ms
  digitalWrite(ping, HIGH);                 //mendeklarasikan sensor ping berlogika high
  delayMicroseconds(5);                      //delay 5 ms
  digitalWrite(ping, LOW);                  //mendeklarasikan sensor ping berlogika low
  pinMode(ping, INPUT);                    //mendeklarasikan sensor ping sebagai input
  cm = pulseIn(ping, HIGH)/29/2;

  lcd.clear();
  lcd.setCursor(0, 0);                          //men set kursor di lcd di kolom 0 baris 0
  lcd.print("Jarak =");                        //menampilkan karakter "jarak =" di lcd
  lcd.setCursor(8, 0);                          //men set kursor di lcd di kolom 8 baris 0
  lcd.print(cm);                                   //menampilkan karakter "cm" di lcd
  lcd.setCursor(12, 0);                       //men set kursor di lcd di kolom 12 baris 0
  lcd.print("Cm");                             //menampilkan karakter "Cm" di lcd
  delay(500);                                     //delay 500 ms

  if (cm < 20) {
      myservo.write(90);        // meberitahu motor servo untuk bergerak sebesar 90 dari pos sebelumnya
      delay(15);                            // delay 15 ms dari reaksi motor servo
    }
  else {
      myservo.write(0);         // memberitahu motor servo untuk bergerak ke 0 dari pos sebelumnya
      delay(15);                               // delay 15 dari reaksi motor servo
    }
}


·         Penjelasan Program
               Awal Program, memanggil library dari motor servo, dan LCD I2C. lalu, mendeklarasikan sensor jarak (Ultrasonic) dihubungkan ke pin 8 pada Arduino, dan mendeklarasikan motor servo dihubungkan ke pin 9 pada Arduino. Selanjutnya fungsi 'void setup' adalah membaca fungsi-fungsi yang akan dipakai dalam sekali. Untuk fungsi selanjutnya adalah 'void loop' dimana fungsi yang digunakan untuk perulangan, pada fungsi 'void loop' terdapat mendeklarasikan 'pinMode' untuk 'ping / sensor jaraksebagai OUTPUT, lalu mendeklarasikan ‘digitalWrite’ untuk 'ping / sensor jarak' berlogika ‘LOW’ delay selama 2 ms, lalu mendeklarasikan ‘digitalWrite’ untuk 'ping / sensor jarak' berlogika ‘HIGH’ delay selama 5 ms, lalu mendeklarasikan ‘digitalWrite’ untuk 'ping / sensor jarak' berlogika ‘LOW’ dan mendeklarasikan 'pinMode' untuk 'ping / sensor jaraksebagai INPUT , dengan rumus mencari jarak = pulseIn(ping,HIGH)/29/2.
            Jika jarak benda kecil dari 20 cm, motor bergerak sebesar 90o  dan delay selama 15 ms. Dan Jika jarak benda besar dari 20 cm, motor bergerak sebesar 0o  dan delay selama 15 ms.


2. Flowchart [kembali]




3. Foto Rangkaian Simulasi [kembali]












5. Video Simulasi Alat [kembali]



5. Analisa [kembali]


       Dari alat yang sudah dibuat, yaitu alat pintu portal otomatis berbasis Arduino UNO dengan menggunakan Sensor Ultrasonic. Prinsip kerja dari alat yang sudah dibut adalah, pada Arduino UNO sudah dimasukkan sebuah program, yang mana isi program tersebut menginstruksikan motor untuk bergerak sebesar 90o  jika ada kendaraan yang mendekati portal, jarak kendaraan dengan portal kurang dari 20 cm, dan jika sebaliknya portal akan bergerak sebesar 0o. Adapun kekurang pada alat ini adalah portal akan tetap bergrak walaupun itu bukan kendaraan yang lewat.


6. Link Download [kembali]
File Rangkaian Proteus - Download
File Program Rangkaian - Download
File Program Alat - Download
Video Rangkaian Simulasi - Download
Video Simulasi Alat - Download

Tidak ada komentar:

Posting Komentar