Arduino Devreleri #45 Arduino İle Servo Motor ve HC-SR04 Ultrasonik Sensör Devresi
Merhabalar, bu yazımızda Arduino İle Servo Motor ve HC-SR04 Ultrasonik Sensör Devresi hakkında bilgi vereceğim. Servo motor ve ultrasonik sensör kullanarak mesafeye göre açılan garaj kapısı, açılan garaj giriş bariyeri veya akıllı çöp kutusu projesi nasıl yapılır? bu konuda bilgilendirme yapacağım.
Arduino programı ayrıntılı kod kısmı, devre bağlantı şeması, devre kurulumu detaylı anlatımı ve devre çalışma videosu şu şekildedir.
Bir önceki makalemizde Servo Motor nedir? Nasıl çalışır? Servo motor iç yapısı nasıldır? Servo motor ile ne kadar yük kaldırılır? Servo motor nerelerde kullanılır? sorularını görsellerle anlatmıştık. Ayrıca Servo motoru 90 derece döndürme, Servo motoru 0 – 90 – 180 derece döndürme, Servo motoru 180 derece sağa sola döndürme, Servo motoru potansiyometre ile 180 derece döndürme konularını anlattık. Bu konuyu okumadan önce önceki anlatıma aşağıdaki linkten göz atabilirsiniz.
https://egitim.ahmetcandemir.com.tr/arduino-devreleri-43-arduino-ile-servo-motor-uygulamalari/
NOT: Kod bölümü içerisinde yer alan ve // işareti ile başlayan satırlar açıklama satırlarıdır. O satırdaki kod bloğunun ne anlama geldiği ve nasıl çalıştığı ile ilgili bilgi verir. Arduino // işaretli alanı çalıştırmaz. Kod satırından isterseniz // işaret ile başlayan açıklama satırlarını silebilirsiniz.
HC-SR04 ULTRASONİK SENSÖR İLE SERVO MOTORU ÇALIŞTIRMA
ULTRASONİK SENSÖR ve SERVO MOTOR İLE MESAFEYE GÖRE AÇILAN BARİYER DEVRESİ, AKILLI ÇÖP KUTUSU
KOD BÖLÜMÜ:
//Ultrasonik Sensör İle Servo Motor Çalıştırma
#include <Servo.h> //servo kütüphanesini ekledik
Servo motor; //servo için motor ismini verdik
const int trig =8;
const int echo= 7;
int sure;
int mesafe;
void setup()
{
pinMode(trig, OUTPUT); //trig pinini çıkış sinyali olarak ayarlıyoruz.
pinMode(echo, INPUT); //echo pinini giriş sinyali olarak ayarlıyoruz.
motor.attach(9); // Servo motor çıkış pinini ayarladık
Serial.begin(9600);
}
void loop()
{
digitalWrite(trig, HIGH); //trig pinimizin ses dalgası göndermesi için emir veriyoruz.
delayMicroseconds(1000); // Ses dalgasını kısa bir süre kesiyoruz.
digitalWrite(trig, LOW); //Yeni ses dalgası üretebilmesi için trig pinimizi pasif durumuna getiriyoruz.
sure = pulseIn(echo, HIGH); //Gönderilen ses dalgasının geri dönmesindeki süre ölçülüyor.
mesafe = (sure/2) / 29.1; //Ölçtüğümüz süre gidiş geliş olduğu için önce 2'ye, sonra 29.1 e bölerek değeri uzaklığa (cm) çeviriyoruz.
Serial.print("Uzaklık: "); // Seri monitör ekranına yazdıracağımız Uzaklık yazısı
Serial.print(mesafe); // Seri monitör ekranına yazdıracağımız mesafe değeri
Serial.println(" cm");
delay(100);
if (mesafe <= 7)
{
motor.write(90);
delay(500); // sensör algıladıktan sonra bir sonraki algılama için 500 milisaniye bekler.
}
else
{
motor.write(0);
delay(500);
}
}
DEVRENİN ÇALIŞMASI:
Mesafe sensörüne 7 cm den az bir nesne yaklaştırıldığında servo motor 90 derece dönecektir. Mesafe 7 cm den daha fazla olduğunda servo motor eski haline geri gelecektir.
DEVRE BAĞLANTI ŞEMASI:
DEVRE KURULUMU:
Malzemeler:
Arduino Uno
1 adet SG90 Servo Motor
1 adet HC-SR04 Ultrasonik Sensör
9 adet iki ucu erkek jumper kablo
Breadboard üzerine HC-SR04 Ultrasonik Sensör yerleştirilir. Sensörün Vcc pini, breadboard alt sırasındaki (+) artı şeridine bağlanır. Sensörün GND pini, breadboard alt sırasındaki (-) eksi şeridine bağlanır. Sensörün Trig pini Arduino’nun 8 numaralı pinine, sensörün Echo pini, Arduino’nun 7 numaralı pinine bağlanır.
Servo motorun kırmızı uç çıkışına (+), jumper kablo bağlanarak kablonun diğer ucu breadboardın artı şeridine bağlanır. Servo motorun kahverengi uç çıkışına (-), jumper kablo bağlanarak kablonun diğer ucu breadboardın eksi şeridine bağlanır. Servo motorun turuncu uç çıkışına (data) jumper kablo bağlanarak kablonun diğer ucu Arduino’nun 9 numaralı PWM dijital girişine bağlanır. Breadboard artı şeridine kablo bağlanarak Arduino’nun +5 Volt pinine, breadboard eksi şeridine kablo bağlanarak Arduino’nun GND pinine bağlanarak devre tamamlanır.
Arduino İle Servo Motor ve HC-SR04 Ultrasonik Sensör Devresi
Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.
https://www.youtube.com/@candemirahmet
Yorum Yap