Mündəricat:
- Addım 1: Ediləcək şeylər
- Addım 2: Anlayışları Anlamaq
- Addım 3: Lazımi vasitələr
- Addım 4: AVR kodlaşdırma anlayışları
- Addım 5: Avadanlıq Bağlantıları:
- Addım 6: Kod
- Addım 7: Video
Video: Arduino istifadə edən ultrasəsdən qaçınma robotu: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu təlimatda, robotdan qaçaraq öz maneənizi necə düzəldəcəyinizi sizə göstərəcəyəm! Arduino UNO lövhəsindən və ultrasəs sensorundan istifadə edəcəyik. Robot kiçik bir servo mühərrikin köməyi ilə qarşısındakı bir obyekti algılarsa, dönməyin ən yaxşı yolunu tapmaq üçün sola və sağa tarar. Həm də bir bildiriş LEDi, bir obyekt aşkar edildikdə bir ton çalmaq üçün bir siqnal və robotun funksiyasını dəyişdirmək üçün bir düymə (dayanmış/irəli hərəkət edən) var.
Bunu etmək çox asandır!
Addım 1: Ediləcək şeylər
Bu layihə üçün sizə lazım olacaq:
- Arduino UNO (onu gearbest.com saytından alın)
- Mini çörək taxtası (gearbest.com saytından alın)
- L298 motor sürücü modulu (gearbest.com saytından alın)
- HC-SR04 təkərli ultrasəs sensoru olan 2x DC mühərrikləri (gearbest.com saytından alın)
- Mikro servo motor (gearbest.com saytından alın)
- Düymə Qırmızı LED220 Ohm müqavimət 9V batareya tutacağı (elektrik cekli və ya olmadan)
- 8 boşluq (kişi-qadın),
- 8 ədəd qoz -fındıq və 8 vida da bir böyükə (metal) ehtiyacınız olacaq.
arxa dayaq təkəri etmək üçün ataç və muncuq.
Robot bazası üçün Aliexpress -dən bir Akril Chasis istifadə etdim. Bir ağac və ya metaldan (və ya iki elektrik lövhəsindən) də istifadə edə bilərsiniz.
Bütün layihənin qiyməti təxminən 20 dollardır
Alətlər: Qazma maşını super yapışqan ekipaj sürücüsü isti silah yapışqan (isteğe bağlı) Güc:
Kiçik və ucuz olduğu üçün robotumuzu işə salmaq üçün 9V batareyadan istifadə edəcəyik, lakin çox güclü deyil və təxminən bir saat sonra boşalacaq. Daha güclü olacaq, eyni zamanda 9V batareyadan daha bahalı və daha böyük olacaq təkrar doldurulan bir batareya (min 6V, maksimum 7V) istifadə etmək istədiyinizi düşünün.
Addım 2: Anlayışları Anlamaq
Məqsəd, robotu qarşısındakı maneələri xəbərdar etməkdir ki, istiqaməti dəyişə və onlardan qaça bilsin. Əvvəlki məqalədə robotu hərəkətə gətirdik - indi ona bir az muxtariyyət verəcəyik.
Ultrasonik sensor
HC-SR04, ultrasəs dalğaları istifadə edərək 4 metrə qədər olan obyektlərə olan məsafəni ölçə bilən bir dövrədir. Ping göndərir (sualtı kimi) və bir şeyi geri göndərməklə almaq arasındakı vaxtı (mikrosaniyələrdə) ölçür. Dalğa irəli və irəli hərəkət edərkən bu zaman 2 -ə bölünür. Və sonra santimetr (və ya düym üçün 74) məsafə əldə etmək üçün 29 -a bölün, çünki səs hər santimetrdə 29.4µs (340 m/s) məsafədə hərəkət edir. Sensor ~ 3 mm dözümlülüklə çox dəqiqdir və Arduino ilə inteqrasiyası asandır.
AVR Mikrokontrolör ilə Ultrasonik Sensor Arası
Hər hansı bir avtonom robotun qarşısını almaq üçün bir maneə və məsafə ölçmə sensoru olmalıdır. İQ ötürücü cütü və ya boz rəngli sensor 1sm-10sm aralığında maneələrin aşkarlanması üçün asanlıqla işləyə bilər. IR uzaq məsafə axtaranlar (məsələn, kəskindən olanlar) ən yaxın maneəyə qədər olan məsafəni 100 sm -ə qədər ölçə bilir. Bununla birlikdə, IR sensorlar günəş işığı və digər işıq mənbələrindən təsirlənir. IR aralığını tapanların daha az diapazonu var və gördüyü işlərə görə də bahalıdır. Ultrasonik sensorlar (geeks üçün ultrasəs yaxınlıq sensoru və ya sonar olaraq da bilinir) bu vəzifələri həm məqbul bir qiymətlə, həm də müstəsna dəqiqliklə yerinə yetirirlər. Aralığı ~ 3 mm dəqiqliklə 3 sm -dən 350 sm -ə qədərdir. Bu ultrasəs sensorlarından birini robotumuza bağlayaraq həm maneə aradan qaldırıcı, həm də məsafə ölçmə sensoru kimi çıxış edə bilər.
"Ultrasonik" səs, səsli səslərin tezliyindən yuxarı olan hər şeyi ifadə edir və nominal olaraq 20 000 Hz və ya 20 kHz -dən yuxarı olan hər şeyi ehtiva edir! Robototexnika üçün istifadə olunan ucuz Ultrasonik sensorlar ümumiyyətlə 40 kHz -dən 250 kHz -ə qədər, tibbi avadanlıqlarda istifadə olunanlar isə 10 MHz -ə qədər işləyir.
Addım 3: Lazımi vasitələr
- Multimetr
- Çörək lövhəsi
- İğne burun kəlbətinləri
- Tel çıxarıcı
- Tel kəsici
- Yapışqan Tabancası
Multimetre, əslində gərginliyi və müqaviməti ölçmək və bir dövrənin bağlı olub olmadığını müəyyən etmək üçün istifadə olunan sadə bir cihazdır. Kompüter kodunu düzəltmək kimi, Multimetr də elektron sxemlərinizi "düzəltməyə" kömək edir.
Tikinti materiallari
Mexaniki çərçivəni düzəltmək üçün hazır ağac və/və ya pleksiglas tədarükü çox faydalıdır. Alüminium və polad kimi metallar tez -tez maşın emalatxanasına çıxışı olanlarla məhdudlaşdırılır, baxmayaraq ki, nazik alüminium qayçı ilə kəsilərək əllə əyilə bilər. Mexanik çərçivələr hətta plastik qablar kimi ev əşyalarından da tikilə bilər.
Plastik kimi digər materiallar (Pleksiglasdan başqa) və ya fiberglas və karbon lifi kimi ekzotik materiallar mümkün olsa da, bu təlimatda nəzərə alınmayacaq. Bir neçə istehsalçı, həvəskarların çoxunun öz mexaniki hissələrini istehsal etməsinin asan olmadığını və modul mexaniki hissələr yaratdığını qeyd etdi. Bunun lideri Lynxmotion, geniş bir robot dizaynı və öz xüsusi robotlarınızı hazırlamaq üçün lazım olan hissələri təqdim edir.
Əl alətləri
Müxtəlif növ və ölçüdə tornavidalar və penslər (zərgərin alət dəsti də daxil olmaqla: dollar mağazalarında satılan kiçik tornavidalar) lazımdır. Bir qazma (tercihen düz deliklər üçün bir qazma maşını) da vacibdir. Tikinti materiallarının (və ya marşrutlaşdırıcının) kəsilməsi üçün əl testerəsi də vacib bir varlıqdır. Büdcə imkan verərsə, kiçik bir masa üstü lent mişarı (200 dollar aralığında) mütləq nəzərə alınacaq bir vasitədir.
Lehimsiz Çörək Paneli
Lehimsiz çörək taxtası, planınızı optimallaşdırmağa və komponentləri asanlıqla birləşdirməyə imkan verir. Lehimsiz çörək taxtası ilə yanaşı, lehimsiz çörək taxtası ilə istifadə üçün nəzərdə tutulmuş əvvəlcədən kəsilmiş və əyilmiş tellərdən ibarət əvvəlcədən formalaşdırılmış tullanan tel dəsti satın almalısınız. Bu əlaqələri çox asanlaşdırır.
Kiçik tornavida dəsti
Bu kiçik tornavidalar elektronika ilə işləyərkən lazımdır. Onları çox məcbur etməyin - ölçüləri onları daha kövrək edir.
Daimi tornavida dəsti
Bütün emalatxanalarda düz / Phillips və digər tornavida başlıqlarını ehtiva edən çox alətli və ya alət dəstinə ehtiyac var.
İğne burun kəlbətinləri
iynə burun pensləri dəsti kiçik komponentlər və hissələrlə işləyərkən inanılmaz dərəcədə faydalıdır və alətlər qutunuza çox ucuz bir əlavədir. Kiçik sahələrə girə biləcək bir nöqtəyə gəldikləri üçün bunlar adi kəlbətinlərdən fərqlənir.
Tel çıxarıcılar/kəsicilər
Hər hansı bir tel kəsməyi planlaşdırırsınız, bir tel soyucu sizə xeyli vaxt və səy sərf edəcək. Düzgün istifadə edildikdə, bir tel soyucu yalnız bir kabel izolyasiyasını çıxaracaq və heç bir əyilmə və ya keçiriciyə zərər verməyəcək. Bir tel soyucunun digər alternativi, nəticəsi qarışıq ola bilsə də, bir qayçıdır. Qayçı, hökmdar, qələm, marker qələmi, Exacto bıçağı (və ya digər əl kəsmə aləti) Bunlar hər hansı bir ofis üçün zəruridir.
Addım 4: AVR kodlaşdırma anlayışları
Ultrasonik sensorlara nisbətən səs sürətinin hesablanması
Kiçik riyaziyyat, amma qorxma. Düşündüyünüzdən daha sadədir.
Otaq temperaturunda (~ 20 ° C) quru havada səs sürəti = 343 metr/saniyə
Səs dalğasının vurması və yaxınlıqdakı obyektə gediş -gəliş etməsi üçün = 343/2 = 171.5 m/ucuz ultrasəs sensorunun maksimum diapazonu 5 metrdən çox olmadığından (gediş -dönüş), vahidləri santimetr və mikrosaniyələrə dəyişdirin.
1 Metr = 100 santimetr 1 saniyə = 10^6 mikrosaniyə = (s/171.5) x (m/100 sm) x ((1x10^6)/s) = (1/171.5) x (1/100) x (1000000/ 1) = 58.30903790087464 us/cm = 58.31 us/cm (hesablamaları asanlaşdırmaq üçün iki rəqəmə yuvarlaqlaşdırmaq)Bu səbəbdən bir nəbzin bir cisimə gedib 1 santimetr geri sıçraması üçün çəkilən vaxt 58.31 mikrosaniyədir.
AVR saat dövrü haqqında kiçik məlumat
AVR saat dövrlərini başa düşmək üçün tamamilə fərqli bir fəsil lazımdır, ancaq hesablamalarımızı asanlaşdırmaq üçün necə işlədiyini qısaca anlayacağıq.
Nümunəmiz üçün 8 bitlik AVR-Atmega328P mikrokontrolörlü AVR Draco lövhəsindən istifadə edəcəyik. İşləri asanlaşdırmaq üçün bir mikro nəzarətçinin parametrlərini dəyişdirməyəcəyik. Sigorta bitlərinə toxunulmadı; Xarici kristal əlavə edilmir; Baş ağrısı yoxdur. Zavod parametrlərində, a /8 prescaler ilə daxili 8MHz osilatorda işləyir; Bütün bunları başa düşmürsənsə, bu, sadəcə olaraq mikrokontrolörün 1MHz daxili RC Osilatorda işlədiyi və hər saat dövrü 1 mikrosaniyəni tutduğu anlamına gəlir.
1 2 1MHz = saniyədə 1000000 dövrə görə 1s/1000000 = 1/1000000 = 1us
AVR saatları və məsafə çevrilməsi
Demək olar ki, oradayıq! AVR saat dövrlərini səs dalğalarının keçdiyi məsafəyə necə çevirəcəyimizi bildikdən sonra məntiqi bir proqramda tətbiq etmək çox asandır.
İdeal mühitdə ultrasəs səsinin sürətini bilirik: 58.31 us/sm
AVR mikrokontrolörünün qətnaməsinin 1us/saat dövrü olduğunu bilirik (CLK)
Buna görə də, səs dövrəsinin saata düşdüyü məsafə (CLK):
1 2 3 = (58.31 us/ cm) x (1us/ clk) = 58.31 saat dövrü/ sm və ya = 1/ 58.31 sm/ clk
Səsin hərəkət etməsi və geri dönməsi üçün lazım olan saat dövrlərinin sayı məlumdursa, məsafəni asanlıqla hesablaya bilərik. Məsələn, sensor hərəkət etmək və geri dönmək üçün 1000 saat dövrü çəkirsə, o zaman sensordan ən yaxın obyektə olan məsafə = 1000/58.31 = 17.15 sm -dir (təxminən.)
İndi hər şeyin mənası varmı? Yox? Yenidən oxuyun
Yuxarıda göstərilən bütün məntiqlə aydınsınızsa, AVR Arduino lövhəmizə ucuz bir HC-SR04 ultrasəs sensoru bağlayaraq bunu real dünya ssenarisində həyata keçirəcəyik.
Addım 5: Avadanlıq Bağlantıları:
Arduino Board, hər hansı bir xarici sensoru birləşdirməyi və nəticələrini LCD -də izləməyi asanlaşdırır. Ultrasonik diapazon algılaması üçün ucuz bir HC-SR04 modulundan istifadə edirik. Modulda mikrokontrolör lövhəsinə qoşula bilən 4 pin var: VCC, TRIG, ECHO və GND.
VCC pinini 5V və GND pinini Arduino lövhəsində yerə bağlayın.
TRIG pin və ECHO pin lövhədə mövcud olan hər hansı bir sancağa bağlana bilər. Pimi tetiklemek üçün minimum 10us 'yüksək' siqnal göndərmək səkkiz 40 kHz səs dalğası göndərir və echo pinini yüksək çəkir. Səs yaxınlıqdakı bir obyektdən sıçrayır və geri qayıdırsa, ötürücü qəbul edilərək tutulur və əks -sancaq "aşağı" çəkilir.
Ultrasonik sensor modullarının digər variantları da yalnız 3 sancaqla mövcuddur. İş prinsipi yenə də eynidir, ancaq tetikleyicinin və yankı sancaqlarının funksionallığı tək bir pində birləşdirilir.
Bağlandıqdan sonra Trigger və Echo Pins proqram vasitəsi ilə konfiqurasiya edilə bilər. Bu nümunəni sadə saxlamaq üçün bu nümunədə heç bir kəsmə pinindən (və ya Giriş Çəkmə Pinindən) istifadə etməyəcəyik. Təyin olunmuş kəsmə pinlərindən istifadə etməmək, modulu lövhədəki mövcud pinlərə bağlamaq azadlığımızı da verir.
Addım 6: Kod
Kod Aşağıdakı kod, əvvəlki məqalədəki H-Bridge istifadə edərək DC motor idarəetməsinə yalnız "ultrasəs" uzantısını ehtiva edir. Robot qarşısındakı bir maneəni algıladığında (təsadüfi dərəcə) çevrilir və irəliləməyə davam edir. Bu funksiya eyni zamanda maneələri döndərmək və aşkar etmək üçün asanlıqla uzadıla bilər - buna görə də robot təsadüfi dönməz, ancaq heç bir cisim aşkar edilmədikdə irəliləməyə başlayar.
Kodun izahı üçün Kanalda Listelenen Youtube Videolarına baxın.
Addım 7: Video
Bütün proses üçün videoya baxın.
Tövsiyə:
TM1637 LED Ekran və Maneələrin Qaçınma Sensorundan istifadə edən Arduino Sayğacı: 7 addım
TM1637 LED Göstərici və Maneələrin Qaçınma Sensorundan istifadə edən Arduino Sayğacı: Bu dərsdə LED Ekran TM1637 və maneələrdən qaçınma sensoru və Visuino istifadə edərək sadə rəqəmsal sayğac düzəltməyi öyrənəcəyik
Arduino Uno -nu 20 $ -dan Aşağıda istifadə edən İnsan Robotu: 9 Addım
Arduino Uno -nu 20 $ -dan aşağı istifadə edən insan izləyən robot: bu robotu təxminən bir il əvvəl hazırladım və bəyəndim ki, sizi hər yerdə və hər yerdə izləyə bilər. bu it üçün ən yaxşı alternativdir. indiyə qədər yanımdadır. Bir youtube kanalım da var ki, bunu videoda görmək prosesini görə bilərsiniz
HC12 Simsiz Modulundan istifadə edən Simsiz Arduino Robotu: 7 addım
HC12 Simsiz Modulundan istifadə edən Simsiz Arduino Robotu: Hey uşaqlar, yenidən xoş gəlmisiniz. Əvvəlki yazımda, H Körpü Devrinin nə olduğunu, L293D motor sürücüsü IC, yüksək cərəyanlı motor sürücülərini idarə etmək üçün piggybacking L293D Motor sürücüsü IC və öz L293D motor Sürücü Kartını necə dizayn edə biləcəyinizi izah etdim
Arduino istifadə edən Google köməkçisi robotu: 3 addım
Arduino istifadə edən Google köməkçisi robotu: Son yazıda, Raspberry Pi -də Google köməkçisini necə quracağınızı və Google Assistant -ı IFTTT -ə necə inteqrasiya edəcəyinizi göstərdim. Bu təlimatda sizə Google köməkçisi ilə idarə oluna bilən bir robotun necə qurulacağını göstərəcəyəm. Narahat olmağınız lazım deyilsə
Səs İdarə Edilən Arduino Robotu + Wifi Kamera + Tutucu + Tətbiq və Manual İstifadə və Maneələrin Qaçınma Modu (KureBas Ver 2.0): 4 Addım
Səs İdarə Edilən Arduino Robot + Wifi Kamera + Tutucu + APP & Manual İstifadə və Maneələrdən Qaçınma Modu (KureBas Ver 2.0): KUREBAS V2.0 geri döndü Yeni xüsusiyyətlərlə çox təsir edicidir. Bir tutucu, Wifi Kamera və onun üçün istehsal olunan yeni bir tətbiqə sahibdir