untuk hari ini saya akan membuat rancangan untuk membuat pintu otomatis dengan menggunakan arduino...
yuk langsung aja menuju bahan yang qta perlukan:
-arduino
-sensor hc-sr04 (sensor jarak)
-motor servo (di-ibaratkan sebagai pintu )
-iic lcd (untuk menampilkan jarak yang di-diteksi hc-sr04)
-white board
-kabel jumper
-2 led 2 resistor (untuk indikator)
dan ini untuk programnya:
#define trigPin 13
#define echoPin 12
#define led 11
#define led2 10
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27,16,2);
Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created
int pos = 0; // variable to store the servo position
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
lcd.clear();
long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin, HIGH);
// delayMicroseconds(1000); - Removed this line
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 8) { // This is where the LED On/Off happens
digitalWrite(led,HIGH); // When the Red condition is met, the Green LED should turn off
digitalWrite(led2,LOW);
for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for(pos = 0; pos>=90; pos-=1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
else {
digitalWrite(led,LOW);
digitalWrite(led2,HIGH);
}
if (distance >= 40 || distance <= 0){
lcd.println("Out of range");
}
else {
lcd.print(distance);
lcd.println(" cm");
}
delay(500);
}
seperti biasa copy programnya..
jadi di program ini saya men-seting:
jika ada sesuatu mendekat dijarak 4 cm maka motor servo akan bergerak atau gampangnya ketika ada orang mendekat maka pintu akan membuka....
yuk qta langsung ke perangkaian manualnya:
-pin sda pada iic lcd pasangkan dengan pin A4 arduino
-pin scl pada iic lcd pasangkan dengan pin A5 arduino
-gnd pada iic lcd pasangkan dengan pin gnd arduino
-vcc pada iic lcd pasangkan dengan pin vcc 5v arduino
\
-
pin trig pada sensor hc-sr04 dipasangakan dengan pin 13 pada arduino.
-pin echo pada sensor hc-sr04 dipasangakan dengan pin 12 pada arduino.
-pin vcc pada sensor hc-sr04 dipasangakan dengan pin 5v pada arduino.
-pin Gnd pada sensor hc-sr04 dipasangakan dengan pin Gnd pada arduino.
-dan led nya dipaangkan dengan pin 10 dan 11 pada arduino
-pin vcc pada motor servo dipasangkan dengan pin 5v di arduino
-pin gnd pada motor servo dipasangkan dengan pin gnd di arduino
-pin output pada motor servo dipasangkan dengan pin 9 di arduino
(maaf saya masih belum bisa menggambarkan sketsa yang langsung jadi satu karena saya masih awam di dunia design software)
dan ini gambar jadinya:
(maaf gambar kurang bersih)
dan ini untuk vidionya:
selamat mencoba dan mengembangkan sendiri......thank's
GOOD LUCK...!!!!!!!!!!!!!!!