Senin, 25 Maret 2013

miniatur pintu otomatis with arduino and friend

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...!!!!!!!!!!!!!!!

10 komentar:

  1. mas thanks info nya,,bisa bantu saya buat tugas akhir gak mas?
    https://www.facebook.com/alvianno.wijaya
    itu fb saya tolong konfirmasi ke fb saya ya mas,,salam knal :)

    BalasHapus
  2. Ora iso peka sensorku ndud.. kan progam LCD kak non aktifno.. trus si servo iki g di apak" no muter terus.. kadang ngrespon kadang ora

    BalasHapus
  3. mas ultrasonik ini bisa diganti dengan sensor lm35 ga ?

    BalasHapus
  4. g bisa mas. cz ultrasonik sama lm 35 beda fungsinya .
    kan ada di artikel saya yg pake lm35

    BalasHapus
  5. ARDUINO JENIS APA YANG DI PAKAI MAS ?

    BalasHapus
  6. mas klo lcdnya g da tulisan knp ya mas padahal programnya sudah berjalan dengan baik??? bisa kasih masukan mas???

    BalasHapus
  7. kalo untuk motor dc nya gimana mas lebih baik nya untuk montor dc nya apa mas / kak

    BalasHapus
  8. mas kok kodingannya eror ya mohon sepon

    BalasHapus