Kodingan Pintu Gerbang Otomatis
//Pemanggilan
library LCD dan Servo
#include <LiquidCrystal.h>
#include <Servo.h>
//Inialisasi
pin lcd
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
//Inialisasi
variable servo
Servo servo;
//Inialisasi
pin sensor ultrasonic
const int pinTrigger = 12;
const int pinEcho = 13;
//Inialisasi
varible durasi dan jarak
float durasi, jarak;
void
setup()
{
//Inialisasi jumlah baris dan kolom lcd
lcd.begin(16,
2);
//Deklarasi
status I/O pin ultrasonic
pinMode(pinTrigger, OUTPUT);
pinMode(pinEcho, INPUT);
//Inialisasi
pin servo
servo.attach(11);
//Deklarasi
awal derajat servo
servo.write(10);
//Membersihkan
lcd
lcd.clear();
//Set posisi kursor pada baris ke 0 dan kolom
ke 0
lcd.setCursor(0, 0);
//Menuliskan karakter pada lcd
lcd.print("Sistemu");
//Set posisi kursor
lcd.setCursor(0, 1);
//Menuliskan karakter pada lcd
lcd.print("Otomatis
//delay 5 detik
delay(5000);
}
void
loop()
{
//Mengaktifkan pin Trigger ultrasonic
digitalWrite(pinTrigger, HIGH);
//Delay 10 mikrodetik
delayMicroseconds(10);
//Mematikan pn Trigger
digitalWrite(pinTrigger, LOW);
//Durasi
adalah waktu tunggu pin Echo menjadi bernilai HIGH
//Setelah mendapat pantulan gelombang
ultrasonic dari pin Trigger
durasi
= pulseIn(pinEcho, HIGH);
//Konversi nilai durasi ke jarak
jarak = ((durasi * 0.034) / 2);
//Jika
jarak <= 6, maka
if
(jarak <= 6)
{
//Servo bergerak ke derajat 70
servo.write(70);
//Menuliskan karakter pada lcd
lcd.clear();
lcd.setCursor(0,
0);
lcd.print("Silahkank");
delay(10);
}
//Jika
tidak maka
else
{
//servo bergerak ke derajat 10
servo.write(10);
//Menuliskan karakter pada LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Dilarangk");
delay(10);
}
}
Komentar
Posting Komentar