Mündəricat:

Arduino Nəzarətli Lazer İt Chaser Oyuncağı: 6 addım
Arduino Nəzarətli Lazer İt Chaser Oyuncağı: 6 addım

Video: Arduino Nəzarətli Lazer İt Chaser Oyuncağı: 6 addım

Video: Arduino Nəzarətli Lazer İt Chaser Oyuncağı: 6 addım
Video: Introduction to M5Stack Core2 ESP32 2" Display Development Module -Robojax 2024, Noyabr
Anonim
Image
Image
Arduino Nəzarətli Lazer İt Chaser Oyuncağı
Arduino Nəzarətli Lazer İt Chaser Oyuncağı

Təxminən iki il əvvəl itim üçün lazer nöqtəsinin qaçdığı və onu təqib edə biləcəyi təsadüfi bir hərəkət vermək üçün lazerin iki servo ilə idarə olunduğu köpəyim üçün tikmişdim. Lazer mükəmməl işləyirdi, amma son hərəkətim zamanı zədələndi, ona görə də bu Təlimatda bunu düzəldəcəyik və iş prinsiplərini izah edəcəyəm.

Addım 1: Materiallar

Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar

Layihə 4 hissədən ibarətdir: Arduino lövhəsi, 2 mikro servo və lazer modulu. Hamısı, servo və lazer yuxarıda olarkən Arduino lövhəsinin altına yapışdırıldığı xama plastik bir qabda yerləşdirilmişdir.

Aşağıda ehtiyacınız olanı əldə edə biləcəyiniz satınalma bağlantılarının siyahısı verilmişdir:

  • Arduino lövhəsi:

    www.banggood.com/custlink/vKGvhaBTl3

  • 9g Mini Servo:

    www.banggood.com/custlink/v33GdlgfaE

  • Lazer diod modulu:

    s.click.aliexpress.com/e/crrJMQgs

Addım 2: Tikinti

Tikinti
Tikinti
Tikinti
Tikinti
Tikinti
Tikinti

Əvvəllər servoları bir az isti yapışqanla qapağa yapışdırdım, amma tutmadı. Bunu düzəltmək üçün istifadə etdiyim yerdə çox dayanıqlı olduğu üçün bir neçə tərəfli köpük lentdən istifadə edəcəyəm. Qapağın hizalanması o qədər də kritik deyil ki, həmişə fırlanaraq tənzimlənə bilər.

Digər servo birbaşa birinciyə bərkidilir, beləliklə lazeri birlikdə iki istiqamətdə hərəkət etdirə bilərlər. Birincisi sola və sağa, ikincisi isə yuxarı və aşağı hərəkət etdirir. Lazer modulu, ikinci servonun qoluna hələ də tutduğu kimi görünən isti yapışqan ilə bağlanır.

Addım 3: Kabel çəkmə

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

Layihənin elektrik naqilləri nisbətən asandır. Servo mühərriklərin üç teli var: güc, torpaq və siqnal. Elektrik naqili ümumiyyətlə qırmızıdır və Arduino lövhəsindəki 5V pininə qoşulmalıdır. Topraklama teli ümumiyyətlə qara və ya qəhvəyi rəngdədir və Arduino lövhəsindəki bir şnurun ucuna bağlanmalıdır. Siqnal pimi ümumiyyətlə sarı, narıncı və ya ağ rəngdədir və Arduino lövhəsindəki rəqəmsal bir pinlə bağlanmalıdır. Bizim vəziyyətimizdə rəqəmsal sancaqlar 9 və 11 -dən istifadə edirik. Nəzərə alın ki, servolar xeyli güc çəkir, buna görə də birdən çox sürmək lazımdırsa, ehtimal ki, onları +5V pinindən deyil, ayrı bir təchizatdan təmin etməlisiniz. Arduino.

Lazer modulunun üç sancağı var, ancaq onlardan yalnız ikisi istifadə olunur. Sol tərəfdəki əlaqə müsbətdir və adətən böyük S hərfi ilə, mənfi əlaqə isə sağda və mənfi ilə işarələnir. Videonun təsvirində tam sxemə keçid əldə edə bilərsiniz.

Tam sxem EasyEda -da mövcuddur:

easyeda.com/bkolicoski/Arduino-Laser-Oyun

Addım 4: Əməliyyat prinsipləri

Əməliyyat prinsipləri
Əməliyyat prinsipləri
Əməliyyat prinsipləri
Əməliyyat prinsipləri

Təmir edildikdən sonra, kodu və bu cihazın necə işlədiyini nəzərdən keçirək. Tipik 9g mikro servo 180 dərəcə bir hərəkətə malikdir və PWM siqnalı ilə idarə olunur. Bu siqnal Servo kitabxanasının köməyi ilə Arduinodan alınır. Kitabxana, mili buna uyğun olaraq idarə edən servoya bir dəyər yazan "yaz" adlı rahat bir üsul təqdim edir. Standart bir servoda bu, milin bucağını (dərəcə ilə) təyin edəcək və mili bu istiqamətə aparacaqdır.

Bizim vəziyyətimizdə, bu hərəkəti hər istiqamətdə maksimum 50 ilə 70 dərəcə arasında məhdudlaşdırmaq istəyirik, belə ki, itin qaçdığı sahə o qədər də böyük deyil ki, tez yorulmasın. Əlavə olaraq, bu məhdudiyyətləri köpəyimin hərəkət etməli olduğu ərazidən çıxmaması üçün lazerin ətrafını təyin etmək üçün istifadə etdim. Eskizin əvvəlində iki servonun tərifləri və mövqeləri üçün istifadə edəcəyimiz dəyişənlərlə birlikdə qurulur.

Addım 5: Arduino Kodu

Arduino kodu
Arduino kodu
Arduino kodu
Arduino kodu

Quraşdırma funksiyasında, əvvəlcə servoları işə salırıq və Arduino üzərindəki düzgün pinlərə bağlayırıq. Bu, kitabxanaya bu pin üzərində PWM siqnalını çıxarmasını söyləyəcək. Sonra hər iki servoya ilkin mövqeyi yazırıq və oyuncağı düzgün bir şəkildə yerləşdirə bilməyimiz üçün, müəyyən edilmiş həddin kənarında servoları 3 dəfə dairəvi bir şəkildə hərəkət etdirəcək bir kod əlavə etdim. Bu şəkildə nöqtənin harada hərəkət etdiyini görə bilərsiniz və oyuncağın yerləşdirilməsini buna uyğun olaraq tənzimləyə bilərsiniz.

Döngü funksiyasında əvvəlcə iki servonun növbəti açılarını təmsil edən iki ədəd yaradırıq və əvvəllər təyin etdiyimiz məhdudiyyətləri təmin edirik. Arduino təsadüfi funksiyası, yaratmaq üçün lazım olan minimum və maksimum dəyəri qəbul edə bilər. Bu dəyərlər arada yarım saniyə gecikmə ilə bir -bir servolara göndərilir.

Tam kodu GitHub səhifəmdə tapa bilərsiniz:

github.com/bkolicoski/LaserToy

Addım 6: Zövq alın

Zövq alın!
Zövq alın!
Zövq alın!
Zövq alın!

Ümid edirəm ki, bu Təlimat öyrədici və maraqlı idi, buna görə məni izləməyi və YouTube kanalıma abunə olmağı unutmayın.

Tövsiyə: