Ultrasonik Sensör Kullanarak Zemin Temizleme Robotu Nasıl Yapılır?

Otomatik zemin temizleme robotu yeni bir konsept değildir. Ancak bu robotların büyük bir sorunu var. Onlar çok pahalı. Piyasada bulunan robot kadar verimli, düşük maliyetli bir zemin temizleme robotu yapabilirsek ne olur? Bu Robot ultrasonik bir sensör kullanacak ve yolundaki herhangi bir engelden kaçınacaktır. Bunu yaparak, tüm odayı temizleyecektir.

Otomatik Zemin Temizleme Robotu Yapmak İçin Ultrasonik Sensör Nasıl Kullanılır?

Artık projemizin özetini bildiğimiz gibi. Çalışmaya başlamak için biraz daha bilgi toplayalım.

Adım 1: Bileşenleri Toplama

Herhangi bir projeye başlamak için en iyi yaklaşım, başlangıçta eksiksiz bileşenlerin bir listesini yapmak ve her bir bileşenin kısa bir incelemesini yapmaktır. Bu, projenin ortasındaki rahatsızlıklardan kaçınmamıza yardımcı olur. Bu projede kullanılan tüm bileşenlerin tam listesi aşağıda verilmiştir.

Adım 2: Bileşenleri İncelemek

Şimdi tüm bileşenlerin tam bir listesine sahip olduğumuza göre, bir adım öne geçelim ve her bir bileşenin çalışmasını kısaca inceleyelim.

Arduino nano, bir devrede farklı görevleri kontrol etmek veya yürütmek için kullanılan bir mikrodenetleyici kartıdır. Biz yakarız C Kodu Arduino Nano'da mikrodenetleyici kartına nasıl ve hangi işlemlerin gerçekleştirileceğini anlatmak için. Arduino Nano, Arduino Uno ile tamamen aynı işlevselliğe sahiptir, ancak oldukça küçük bir boyuttadır. Arduino Nano kartındaki mikrodenetleyici, ATmega328p.

L298N, yüksek akım ve yüksek voltajlı bir entegre devredir. Standart TTL mantığını kabul etmek için tasarlanmış bir çift tam köprüdür. Cihazın bağımsız çalışmasına izin veren iki etkinleştirme girişi vardır. Aynı anda iki motor bağlanabilir ve çalıştırılabilir. Motorların hızı PWM pinleri ile değiştirilir.

HC-SR04 kartı, iki nesne arasındaki mesafeyi belirlemek için kullanılan ultrasonik bir sensördür. Bir verici ve bir alıcıdan oluşur. Verici, elektrik sinyalini bir ultrasonik sinyale dönüştürür ve alıcı, ultrasonik sinyali tekrar elektrik sinyaline dönüştürür. Verici bir ultrasonik dalga gönderdiğinde, belirli bir nesneyle çarpıştıktan sonra yansıma yapar. Uzaklık, ultrasonik sinyalin vericiden gidip alıcıya geri gelmesi için geçen süre kullanılarak hesaplanır.

Adım 3: Bileşenleri Birleştirme

Artık tüm bileşenlerin nasıl çalıştığını bildiğimize göre, tüm bileşenleri bir araya getirelim ve bir robot yapmaya başlayalım.

Bir araba tekerleği şasisi alın ve şasilerin önüne bir gösteri fırçası monte edin. Scotch Brite'ı robotun altına monte edin. Ayakkabı fırçasının hemen arkasında olduğundan emin olun. Şimdi şaselerin üstüne ve arkasına küçük bir devre tahtası takın, Motor sürücüsünü takın. Motorların motor sürücüsüne uygun bağlantılarını yapın ve motor sürücüsünün pinlerini dikkatlice Arduino'ya bağlayın. Kasanın arkasına bir pil takın. Pil, motorlara güç sağlayacak olan Motor sürücüsünü çalıştıracaktır. Arduino ayrıca Motor sürücüsünden güç alacaktır. Vcc pini ve ultrasonik sensörün topraklaması Arduino'nun 5V ve topraklamasına bağlanacaktır.

Adım 4: Arduino'ya Başlarken

Arduino IDE'ye zaten aşina değilseniz, endişelenmeyin çünkü Arduino IDE'yi bir mikrodenetleyici kartıyla kurmak ve kullanmak için adım adım prosedür aşağıda açıklanmıştır.

  1. Arduino IDE'nin en son sürümünü Arduino'dan indirin.
  2. Arduino Nano kartınızı dizüstü bilgisayarınıza bağlayın ve kontrol panelini açın. kontrol panelinde tıklayınDonanım ve ses. Şimdi tıklayınCihazlar ve yazıcılar.Burada mikrodenetleyici kartınızın bağlı olduğu portu bulun. benim durumumda öyle COM14ama farklı bilgisayarlarda farklıdır.
  3. Araç menüsüne tıklayın ve tahtayı Arduino Nano.
  4. Aynı Araç menüsünde, bağlantı noktasını daha önce görüntülemede gözlemlediğiniz bağlantı noktası numarasına ayarlayın. Cihazlar ve yazıcılar.
  5. Aynı Araç menüsünde, İşlemciyi ATmega328P (Eski Önyükleyici).
  6. Aşağıda ekli kodu indirin ve Arduino IDE'nize yapıştırın. Tıkla yükle mikrodenetleyici panonuzdaki kodu yazmak için düğmeye basın.

Kodu indirmek için buraya tıklayın.

Adım 5: Kodu Anlama

Kod oldukça iyi yorumlanmış ve açıklayıcıdır. Ancak yine de aşağıda kısaca açıklanmıştır.

1. Başlangıçta, Arduino'nun kullanacağımız tüm pinleri başlatıldı.

int enable1pin = 8; // İlk Motor için pinler int motor1pin1=2; int motor1pin2=3; int etkinleştir2pin=9; // İkinci Motor için pimler int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Ultrasonik Sensör için Pinler const int echoPin = 10; const int buzzPin = 6; uzun süre; // Ultrasonik Sensör şamandıra mesafesi için değişkenler;

2. geçersiz kurulum()INPUT veya OUTPUT olarak kullanılacak tüm pinleri ayarladığımız bir fonksiyondur. Baud Rate de bu fonksiyonda ayarlanır. Baud hızı, mikrodenetleyici kartının bağlı sensörlerle iletişim kurma hızıdır.

geçersiz kurulum() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(buzzPin, OUTPUT); pinMode(enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode(motor1pin1, ÇIKIŞ); pinMode(motor1pin2, ÇIKIŞ); pinMode(motor2pin1, ÇIKIŞ); pinMode(motor2pin2, ÇIKIŞ); }

3. boşluk döngüsü()bir döngü içinde sürekli çalışan bir fonksiyondur. Bu döngüde mikrodenetleyiciye 50cm'de herhangi bir engel bulunmazsa ne zaman ilerleyeceğini söyledik. Bir engel bulunduğunda robot keskin bir sağa dönüş yapacaktır.

void loop() { digitalWrite(trigPin, LOW); gecikme Mikrosaniye (2); digitalWrite(trigPin, YÜKSEK); gecikme Mikrosaniye (10); digitalWrite(trigPin, DÜŞÜK); süre = pulseIn (echoPin, HIGH); mesafe = 0.034*(süre/2); if(mesafe>50) // Engel bulunmazsa İleri Git { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, YÜKSEK); digitalWrite(motor1pin1, YÜKSEK); digitalWrite(motor1pin2, DÜŞÜK); digitalWrite(motor2pin1, YÜKSEK); digitalWrite(motor2pin2, DÜŞÜK); } else if(mesafe<50) // Bir engel bulunursa Sağa Keskin Dönüş { digitalWrite(enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite(motor1pin1, YÜKSEK); digitalWrite(motor1pin2, DÜŞÜK); digitalWrite(motor2pin1, DÜŞÜK); digitalWrite(motor2pin2, DÜŞÜK); } gecikme(300); // gecikme }

Şimdi, otomatik bir zemin temizleme robotu yapmak için ihtiyacınız olan her şeyi tartıştığımız için, kendi düşük maliyetli ve verimli zemin temizleme robotunuzu yapmanın tadını çıkarın.

Facebook Twitter Google Plus Pinterest