Arduino ile Akıllı Çöp Kutusu Projesi

 Arkadaşlar herkese merhaba, bugünkü yazımda arduino ile birlikte bizi gördüğünde algılayıp kendisi açılan akıllı bir çöp kutusu yapacağız. Haydi başlayalım!

 

Malzemeler

Arduino Uno

1 adet HC-SR04 mesafe sensörü

1 adet servo motor

9 adet erkek erkek jumper 

1 adet breadboard

Çalışma Prensibi

Öncelikle mesafe sensörümüz ile yaklaşan elin mesafesi algılanıyor sonrasında kapağa bağlanan  servo motor 180 derece dönerek kapağın açılmasını sağlıyor.Belli bir süre geçtikten sonra 0 dereceye geri geldiğinde kapat geri kapanmış oluyor.

Devre Şeması

  1. adım: Mesafe sensörünü breadboarda yerleştiriyoruz.

VCC pinini breadboard üzerinde bulunan artı hatla birleştiriyoruz.

GND pinini breadboard üzerinde bulunan eksi hatla birleştiriyoruz.

TRIG pinini arduino üzerinde bulunan 7. pinle birleştiyoruz.

ECHO pinini arduino üzerinde bulunan 6. pinle birleştiyoruz.

 

2. adım: Servo motorun bağlantısını yapıyoruz.

Güç pinini breadboard üzerinde bulunan artı hatla birleşttiyoruz.

Toprak pinini breadboard üzerinde bulunan eksi hata bağlıyoruz.

Sinyal pinini Arduino üzerinde bulunan 9. pine bağlıyoruz.

 

Kod

#include <Servo.h> // servo kütüphanesi

Servo motor; // motora motor ismini verdik

int santimetre; //değişken

int sure; //değişken

int trigPin = 7; // trig pininin bağlı olduğu pin

int echoPin = 6; //echo pininin bağlı olduğu pin

 

void setup()

{

  pinMode(trigPin, OUTPUT); // trig pininden çıkış aldık

  pinMode(echoPin, INPUT); // echo pininden giriş aldık

  motor.attach(9); // servo motorun bağlı olduğu pin

  Serial.begin(9600); // seri monitörle bağlantıyı sağladık

  motor.write(0); // motor sıfır derecede bekleyecek

}

 

void loop()

  digitalWrite(trigPin, LOW); // mesafeyi santimetre olarak yazdırma

  delayMicroseconds(2);

 

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

 

  digitalWrite(trigPin, LOW);

  

  sure=pulseIn(echoPin, HIGH);

 

  santimetre = (sure/2) / 29.1;

 

  if(santimetre<40) // mesafe 40 cm’den küçükse aşağıdaki komutlar uygulanır

 

  {

    motor.write(180); // motor 180 derece döner

    delay(10000); //  bekleme

  }

 

  else{  // mesafe 40 cm’den büyükse 

    motor.write(0); //motor açılmaz

    delay(10); 

  }

  Serial.print(santimetre); // mesafeyi serial monitöre yazdırma

  Serial.println(“cm”);

  delay(100);

}

 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top