*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 'trigPin' sebagai OUTPUT, lalu mendeklarasikan 'pinMode' untuk 'echoPin' sebagai 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
jarak' sebagai 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 jarak'
sebagai 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.
3. Foto Rangkaian Simulasi [kembali]
5. Video Simulasi Alat [kembali]
5. Analisa [kembali]
6. Link Download [kembali]
File Rangkaian Proteus - Download
File Program Rangkaian - Download
File Program Alat - Download
Video Rangkaian Simulasi - Download
Video Simulasi Alat - Download
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