İçindekiler:
- Adım 1: Yapılması Gereken Şeyler
- 2. Adım: Kavramları Anlamak
- 3. Adım: Gerekli Araçlar
- Adım 4: AVR Kodlama Kavramları
- Adım 5: Donanım Bağlantıları:
- 6. Adım: Kod
- 7. Adım: Video
Video: Arduino Kullanan Utrasonik Kaçınma Robotu: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu derste size kendi engelden kaçan robotunuzu nasıl yapacağınızı göstereceğim! Arduino UNO kartı ve ultrasonik sensör kullanacağız. Robot, önünde bir cisim algılarsa, küçük bir servo motor yardımıyla, dönmenin en iyi yolunu bulmak için sol ve sağ alanı tarar. Ayrıca bir bildirim LED'i, bir nesne algılandığında ses çıkaran bir zil ve robotun işlevini değiştirmek (durdu/ileri hareket etmek) için bir düğme vardır.
Bunu yapmak çok kolay!
Adım 1: Yapılması Gereken Şeyler
Bu proje için ihtiyacınız olacak:
- Arduino UNO (gearbest.com'dan satın alın)
- Mini breadboard (gearbest.com'dan satın alın)
- L298 motor sürücü modülü (gearbest.com'dan satın alın)
- Tekerlekli 2x DC motor HC-SR04 ultrasonik sensör (gearbest.com'dan satın alın)
- Mikro servo motor (gearbest.com'dan satın alın)
- Düğme Kırmızı LED220 Ohm rezistör9V pil tutucu (güç jakı olan veya olmayan)
- 8 ara parça (erkek-dişi),
- 8 somun ve 8 vidaya da ihtiyacınız olacak bir büyük (metal)
arka destek tekerleğini yapmak için ataç ve bir boncuk.
Robot tabanı için Aliexpress'den bir Akrilik Şasi kullandım. Bir parça tahta veya metal (veya iki elektrikli Plaka) da kullanabilirsiniz.
Tüm projenin maliyeti yaklaşık 20$
Araçlar: Matkap makinesi süper yapıştırıcı mürettebat sürücüsü sıcak tabanca yapıştırıcısı (isteğe bağlı) Güç:
Küçük ve ucuz olduğu için robotumuzu çalıştırmak için 9V pil kullanacağız, ancak çok güçlü değil ve yaklaşık bir saat sonra boş olacak. Daha güçlü ama aynı zamanda daha pahalı ve 9V pilden daha büyük olacak bir şarj edilebilir pil takımı (min 6V, maks 7V) kullanmak isteyip istemediğinizi düşünün. YouTube Kanalımıza Abone Olun Burayı Tıklayın
2. Adım: Kavramları Anlamak
Amaç, robotun önündeki engellerin farkına varmasını sağlamaktır, böylece yön değiştirip onlardan kaçınabilir. Önceki makalede robotu hareket ettirdik – şimdi ona biraz özerklik vereceğiz.
Ultrasonik sensör
HC-SR04, ultrasonik dalgalar kullanarak 4 metreye kadar olan nesnelere olan mesafeyi ölçebilen bir devredir. Bir ping (denizaltı gibi) gönderir ve herhangi bir şeyi geri gönderme ve alma arasındaki süreyi (mikrosaniye cinsinden) ölçer. Bu süre, dalga ileri geri hareket ederken 2'ye bölünür. Ardından, santimetre (veya inç için 74) olarak bir mesafe elde etmek için 29'a bölün, çünkü ses santimetre başına 29,4 µs (340 m/s) hareket eder. Sensör ~3 mm toleransla çok hassastır ve Arduino ile entegre edilmesi kolaydır.
AVR Mikrodenetleyici ile Ultrasonik Sensör Arayüzleme
Herhangi bir otonom robotun bir engelden kaçınma ve bağlı bir mesafe ölçüm sensörü olmalıdır. Bir IR alıcı-verici çifti veya bir gri tonlamalı sensör, 1cm-10cm aralığında engel tespiti için kolaylıkla çalışabilir. Kızılötesi telemetreler (örneğin keskin olanlar) 100 cm'ye kadar menzil ile en yakın engele olan mesafeyi ölçebilir. Ancak IR sensörleri güneş ışığından ve diğer ışık kaynaklarından etkilenir. IR telemetreler daha az menzile sahiptir ve yaptıkları için pahalıdır. Ultrasonik sensörler (aynı zamanda inekler için ultrasonik yakınlık sensörleri veya sonar olarak da bilinir) bu görevlerin her ikisini de makul bir maliyet ve olağanüstü doğrulukla yapar. Menzil, ~3mm doğrulukla 3 cm ila 350 cm arasındadır. Bu ultrasonik sensörlerden birini robotumuza bağlayarak hem engel önleyici hem de mesafe ölçüm sensörü görevi görebilir.
“Ultrasonik” ses, duyulabilir sesin frekanslarının üzerindeki herhangi bir şeyi ifade eder ve nominal olarak 20.000 Hz veya 20 kHz'in üzerindeki her şeyi içerir! Robotik için kullanılan ucuz Ultrasonik sensörler genellikle 40 kHz ila 250 kHz aralığında çalışırken, tıbbi cihazlarda kullanılanlar 10MHz'e kadar çıkıyor.
3. Adım: Gerekli Araçlar
- multimetre
- ekmek tahtası
- Kargaburun
- tel striptizci
- Tel makası
- Tutkal tabancası
MultimetreA Multimetre aslında öncelikle voltaj ve direnci ölçmek ve bir devrenin kapalı olup olmadığını belirlemek için kullanılan basit bir cihazdır. Bilgisayar kodunda hata ayıklamaya benzer şekilde, Multimetre elektronik devrelerinizde "hata ayıklamanıza" yardımcı olur.
Yapı malzemeleri
Mekanik çerçeveyi yapmak için hazır bir ince ahşap ve/veya pleksiglas kaynağı çok faydalıdır. Alüminyum ve çelik gibi metaller genellikle bir makine atölyesine erişimi olanlarla sınırlıdır, ancak ince alüminyum makasla kesilebilir ve elle bükülebilir. Mekanik çerçeveler, plastik kaplar gibi ev eşyalarından bile yapılabilir.
Plastik (Plexiglas dışında) gibi diğer malzemeler veya fiberglas ve karbon fiber gibi daha egzotik malzemeler mümkün olsa da, bu kılavuzda bunlar ele alınmayacaktır. Birçok üretici, çoğu hobici için kendi mekanik parçalarını üretmenin kolay olmadığını ve modüler mekanik parçalar yarattığını belirtti. Bu konuda lider, kendi özel robotlarınızı yapmak için gereken parçaların yanı sıra çok çeşitli robotik tasarımlar sunan Lynxmotion'dır.
El aletleri
Çeşitli tip ve boyutlarda tornavidalar ve penseler (kuyumcu alet takımı dahil: dolar mağazalarında yaygın olarak bulunan küçük tornavidalar) gereklidir. Bir matkap (tercihen düz delikler için bir matkap presi) de önemlidir. İnşaat malzemelerini (veya yönlendiriciyi) kesmek için bir el testeresi de önemli bir varlıktır. Bütçe izin veriyorsa, küçük bir masa üstü şerit testere (200 $ aralığında) kesinlikle dikkate alınması gereken bir araçtır.
Lehimsiz Breadboard
Lehimsiz bir devre tahtası, düzeninizi optimize etmenize ve bileşenleri kolaylıkla bağlamanıza olanak tanır. Lehimsiz devre tahtası ile birlikte, lehimsiz devre tahtası ile kullanılması amaçlanan önceden kesilmiş ve bükülmüş tellerden oluşan önceden oluşturulmuş bir atlama teli seti satın almalısınız. Bu, bağlantıları çok kolaylaştırır.
Küçük tornavida seti
Elektronikle çalışırken bu küçük tornavidalar gereklidir. Onları çok fazla zorlamayın - boyutları onları daha kırılgan hale getirir.
Normal tornavida seti
Tüm atölyeler, düz / Phillips ve diğer tornavida kafalarını içeren çok amaçlı bir alete veya alet takımına ihtiyaç duyar.
Kargaburun
kargaburun seti, küçük parçalar ve parçalarla çalışırken inanılmaz derecede kullanışlıdır ve alet çantanız için çok ucuz bir ektir. Küçük alanlara girebilecek bir noktaya geldikleri için normal penselerden farklıdırlar.
Tel sıyırıcılar/kesiciler
Herhangi bir kabloyu kesmeyi planlıyorsanız, bir kablo sıyırıcı size önemli ölçüde zaman ve emek kazandıracaktır. Doğru kullanıldığında kablo sıyırıcı yalnızca kablo yalıtımını kaldıracak ve herhangi bir bükülme veya iletkenlere zarar vermeyecektir. Bir tel sıyırıcıya diğer alternatif, bir çift makastır, ancak sonuç dağınık olabilir. Makas, cetvel, tükenmez kalem, keçeli kalem, Exacto bıçağı (veya başka bir el tipi kesme aleti) Bunlar her ofiste olmazsa olmazlardır.
Adım 4: AVR Kodlama Kavramları
Ultrasonik sensörlere göre ses hızının hesaplanması
Biraz matematik, ama korkma. Düşündüğünden daha basit.
Oda sıcaklığında (~20°C) kuru havada sesin hızı = 343 metre/saniye
Ses dalgasının vurup yakındaki nesneye gidiş-dönüş yapması için = 343/2 = 171.5 m/'dir, çünkü ucuz bir ultrasonik sensörün maksimum menzili 5 metreden (gidiş dönüş) fazla olmadığı için, daha mantıklı olacaktır. birimleri santimetre ve mikrosaniye olarak değiştirin.
1 Metre = 100 santimetre1 saniye = 10^6 mikrosaniye = (s / 171.5) x (m / 100 cm) x ((1x10^6)/s) = (1/171.5) x (1/100) x (1000000/ 1) = 58.30903790087464 us/cm = 58.31 us/cm (hesaplamayı kolaylaştırmak için iki haneye yuvarlama)Bu nedenle, bir darbenin bir nesneye gitmesi ve 1 santimetre geri sıçraması için geçen süre 58.31 mikrosaniyedir.
AVR saat döngülerindeki küçük arka plan
AVR saat döngülerini anlamak tamamen farklı bir bölüm alır, ancak hesaplamalarımızı kolaylaştırmak için nasıl çalıştığını kısaca anlayacağız.
Örneğimiz için 8-bit AVR – Atmega328P mikrodenetleyiciye sahip AVR Draco kartını kullanacağız. İşleri basit tutmak için bir mikro denetleyicinin ayarlarını değiştirmeyeceğiz. Hiçbir sigorta ucuna dokunulmadı; Ekli harici kristal yok; Baş ağrısı yok. Fabrika ayarlarında, /8 ön ölçekleyicili dahili bir 8MHz osilatör üzerinde çalışır; Tüm bunları anlamadıysanız, mikrodenetleyicinin 1MHz dahili RC Osilatörde çalıştığı ve her saat döngüsünün 1 mikrosaniye sürdüğü anlamına gelir.
1 2 1MHz = saniyede 1000000 döngü Bu nedenle, 1s/1000000 = 1/1000000 = 1us
AVR saatleri ve mesafe dönüştürme
Neredeyse geldik! AVR saat döngülerini ses dalgalarının kat ettiği mesafeye nasıl dönüştüreceğimizi öğrendikten sonra, mantığı bir programa uygulamak kolaydır.
Ultrasonik sesin ideal ortamdaki hızının 58,31 us/cm olduğunu biliyoruz.
AVR mikrodenetleyicisinin çözünürlüğünün 1us/saat döngüsü (CLK) olduğunu biliyoruz.
Bu nedenle, saat döngüsü (CLK) başına sesin kat ettiği mesafe:
1 2 3 = (58.31 us/cm) x (1us/ clk) = 58.31 saat döngüsü / cm veya = 1/58.31 cm/clk
Sesin seyahat etmesi ve geri dönmesi için gereken saat döngülerinin sayısı biliniyorsa, mesafeyi kolayca hesaplayabiliriz. Örneğin, sensörün hareket etmesi ve geri dönmesi için 1000 saat döngüsü varsa, sensörden en yakın nesneye olan mesafe = 1000/58.31 = 17.15 cm (yaklaşık) olur.
Şimdi her şey mantıklı mı? Numara? Tekrar oku
Yukarıda bahsedilen tüm mantıktan eminseniz, AVR Arduino kartımıza ucuz bir HC-SR04 ultrasonik sensör bağlayarak gerçek dünya senaryosunda uygulayacağız.
Adım 5: Donanım Bağlantıları:
Arduino Board, herhangi bir harici sensörü bağlamayı ve sonuçları LCD'de görüntülemeyi kolaylaştırır. Ultrasonik menzil algılama için ucuz bir HC-SR04 modülü kullanıyoruz. Modülün mikrodenetleyici kartına bağlanabilen 4 pini vardır: VCC, TRIG, ECHO ve GND.
Arduino kartındaki VCC pinini 5V'a ve GND pinini toprağa bağlayın.
TRIG pini ve ECHO pini kart üzerindeki mevcut pinlere bağlanabilir. Tetik pimine minimum 10us 'yüksek' sinyal göndermek, sekiz adet 40 kHz ses dalgası gönderir ve yankı pimini yükseğe çeker. Ses yakındaki bir nesneden sekip geri dönerse, dönüştürücü tarafından yakalanır ve yankı pimi 'düşük' çekilir.
Ultrasonik sensör modüllerinin diğer çeşitleri de sadece 3 pimli olarak mevcuttur. Çalışma prensibi hala aynı, ancak tetik ve eko pinlerinin işlevselliği tek bir pinde birleştirildi.
Bağlandıktan sonra, Tetikleyici ve Yankı Pinleri yazılım aracılığıyla yapılandırılabilir. Bu örneği basit tutmak için, bu örnekte herhangi bir kesme pimi (veya Giriş Yakalama Pimi) kullanmayacağız. Belirlenmiş kesme pinlerini kullanmamak ayrıca bize modülü kart üzerindeki mevcut pinlere bağlama özgürlüğü verir.
6. Adım: Kod
KodAşağıdaki kod, önceki makaleden bir H-Bridge kullanarak DC motor kontrolüne yalnızca "ultrasonik" bir uzantı içerir. Robot önünde bir engel algıladığında (rastgele derece) döner ve ilerlemeye devam eder. Bu işlevsellik, aynı anda dönmeye ve engelleri algılamaya devam etmek için kolayca genişletilebilir - böylece robot rastgele dönmez, ancak yalnızca hiçbir nesne algılanmadığında ilerlemeye başlar.
Kod Açıklaması İçin Kanalda Listelenen Youtube Videosuna Bakınız.
7. Adım: Video
Tüm Süreç İçin Videoyu İzleyin.
Önerilen:
TM1637 LED Ekran ve Engelden Kaçınma Sensörü Kullanan Arduino Sayacı: 7 Adım
TM1637 LED Ekran ve Engelden Kaçınma Sensörü Kullanan Arduino Sayacı: Bu derste LED Display TM1637 ve engellerden kaçınma sensörü ve Visuino kullanarak basit bir rakam sayacı yapmayı öğreneceğiz.Videoyu izleyin
5'i 1 Arada Arduino Robotu - Beni Takip Et - Satır Takip - sumo - Çizim - Engelden Kaçınma: 6 Adım
5'i 1 Arada Arduino Robotu | Beni Takip Et | Satır Takip | sumo | Çizim | Engelden Kaçınma: Bu robot kontrol panosu, bir ATmega328P mikro denetleyici ve bir L293D motor sürücüsü içerir. Elbette bir Arduino Uno kartından farkı yok ama motoru sürmek için başka bir kalkana ihtiyaç duymadığı için daha kullanışlı! Zıplamaktan muaftır
Arduino'da IR Engelden Kaçınma Sensörü Nasıl Kullanılır: 4 Adım
Arduino Üzerinde IR Engelden Kaçınma Sensörü Nasıl Kullanılır: Herkese merhaba,Bu yazımda Arduino üzerinde Engelden Kaçınma IR Sensörünün nasıl kullanılacağını yazacağım.Gerekli Bileşenler: IR Engel Kaçınma Sensörü Arduino Nano V.3 Jumpe tel USBminiYazılımGerekli: Arduino IDE
Boe-Bot: Engelden Kaçınma Robotu: 6 Adım
Boe-Bot: Engelden Kaçınan Robot: Bu küçük robot, engelleri tespit etmek için bıyıklarını kullanır. Bıyıklarından biri veya ikisi birden tetiklendiğinde, geri çekilir ve farklı bir yöne döner. Aksi takdirde ileriye doğru hareket eder. 4 adet AA pil ile çalışan Paralax anakart, bu küçük
Şimdiye Kadarki En Küçük ve En Şirin Arduino Engelden Kaçınma Robotu: 5 Adım
Şimdiye Kadarki En Küçük ve En Şirin Arduino Engelden Kaçınma Robotu: Odanızda yarım raf alan büyük beceriksiz robotlardan bıktınız mı? Robotunuzu yanınıza almak istiyor ancak cebinize sığmıyor mu? Hadi bakalım! Size şimdiye kadar görebileceğiniz en şirin ve en küçük engellerden kaçınma robotu Minibot'u sunuyorum