Mundarija:

Arduino tomonidan boshqariladigan lazerli itlarni ta'qib qilish o'yinchog'i: 6 qadam
Arduino tomonidan boshqariladigan lazerli itlarni ta'qib qilish o'yinchog'i: 6 qadam

Video: Arduino tomonidan boshqariladigan lazerli itlarni ta'qib qilish o'yinchog'i: 6 qadam

Video: Arduino tomonidan boshqariladigan lazerli itlarni ta'qib qilish o'yinchog'i: 6 qadam
Video: Manipulyatorlar va sanoat robotlari 12 2 2024, Noyabr
Anonim
Image
Image
Arduino tomonidan boshqariladigan lazerli itlarni ta'qib qilish o'yinchog'i
Arduino tomonidan boshqariladigan lazerli itlarni ta'qib qilish o'yinchog'i

Taxminan ikki yil oldin, men bu o'yinchoqni itim uchun qurdim, u erda lazer nuqtasi qochib ketadigan tasodifiy harakatni berish uchun ikkita servo bilan lazer boshqariladi. Lazer juda yaxshi ishladi, lekin mening so'nggi harakatim paytida u shikastlandi, shuning uchun biz uni ko'rsatma qo'llanmasida tuzatamiz va men ishlash tamoyillarini tushuntiraman.

1 -qadam: materiallar

Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar

Loyiha 4 qismdan iborat: Arduino platasi, 2 ta mikro servo va lazer moduli. Ularning barchasi qaymoqli plastik idishga joylashtirilgan, bu erda Arduino taxtasi pastda yopishtirilgan, servo va lazer tepada.

Quyida sizga kerakli narsalarni olishingiz mumkin bo'lgan sotib olish havolalari ro'yxati keltirilgan:

  • Arduino taxtasi:

    www.banggood.com/custlink/vKGvhaBTl3

  • 9 g Mini Servo:

    www.banggood.com/custlink/v33GdlgfaE

  • Lazerli diodli modul:

    s.click.aliexpress.com/e/crrJMQgs

2 -qadam: qurilish

Qurilish
Qurilish
Qurilish
Qurilish
Qurilish
Qurilish

Ilgari men servolarni qopqoqqa issiq elim bilan yopishtirgandim, lekin u ushlab turmadi. Buni tuzatish uchun men ikki tomonlama ko'pikli lentani ishlataman, chunki bu men ishlatgan joyda juda bardoshli. Qopqoqning hizalanishi unchalik muhim emas, chunki uni har doim aylantirish orqali sozlash mumkin.

Boshqa servo birinchisiga to'g'ridan -to'g'ri biriktirilgan bo'lib, ular birgalikda lazerni ikki yo'nalishda harakatlantira oladi. Birinchisi uni chapga va o'ngga, ikkinchisi esa yuqoriga va pastga siljitadi. Lazer moduli hali ham ushlab turgandek ko'rinadigan issiq elim bilan ikkinchi servo qo'lga biriktirilgan.

3 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Loyihaning elektr kabellari nisbatan oson. Servo dvigatellarda uchta sim bor: quvvat, er va signal. Quvvat kabeli odatda qizil rangga ega va Arduino kartasidagi 5V piniga ulangan bo'lishi kerak. Topraklama simlari odatda qora yoki jigarrang rangga ega bo'lib, Arduino platasidagi topraklama piniga ulanishi kerak. Signal pimi odatda sariq, to'q sariq yoki oq rangga ega va Arduino kartasidagi raqamli pinga ulangan bo'lishi kerak. Bizning holatda biz 9 va 11 raqamli pinlardan foydalanamiz. E'tibor bering, servolar katta quvvat sarflaydi, shuning uchun agar siz bir yoki ikkitadan ko'p haydashingiz kerak bo'lsa, ularni +5V pinidan emas, balki alohida manbadan quvvatlantirishingiz kerak bo'ladi. Arduino.

Lazer modulida uchta pim bor, lekin ulardan faqat ikkitasi ishlatiladi. Chap tarafdagi aloqa - bu ijobiy ulanish va u odatda katta S harfi bilan belgilanadi, manfiy aloqa esa o'ngda va minus bilan belgilanadi. To'liq sxemaga havolani video tavsifidan olishingiz mumkin.

To'liq sxema EasyEda -da mavjud:

easyeda.com/bkolicoski/Arduino-Laser-Toy

4 -qadam: ishlash tamoyillari

Ishlash tamoyillari
Ishlash tamoyillari
Ishlash tamoyillari
Ishlash tamoyillari

Endi ta'mirlash tugagandan so'ng, keling, kodni va bu qurilma qanday ishlashini ko'rib chiqaylik. Odatda 9g mikro servo 180 graduslik harakatga ega va u PWM signali bilan boshqariladi. Bu signal Arduino -dan Servo kutubxonasi yordamida ishlab chiqariladi. Kutubxona "yozish" deb nomlangan qulay usulni ta'minlaydi, u servoga qiymat yozadi va milni mos ravishda boshqaradi. Standart servoda bu milning burchagini (gradusda) o'rnatib, milni shu yo'nalishga o'tkazadi.

Bizning holatda, biz bu harakatni har bir yo'nalishda maksimal 50-70 daraja bilan cheklamoqchimiz, shuning uchun it yuguradigan joy unchalik katta emas, shuning uchun u tez charchamaydi. Bundan tashqari, men lazer perimetrini itim ko'chishi kerak bo'lgan joydan chiqmasligi uchun o'rnatdim. Ular eskiz boshida ikkita servo ta'rifi va biz o'z pozitsiyasi uchun ishlatadigan o'zgaruvchilar bilan o'rnatiladi.

5 -qadam: Arduino kodi

Arduino kodi
Arduino kodi
Arduino kodi
Arduino kodi

O'rnatish funktsiyasida biz avval servolarni ishga tushiramiz va ularni Arduino -dagi to'g'ri pinlarga biriktiramiz. Bu kutubxonaga PWM signalini shu pimdan chiqarishni aytadi. Keyin biz ikkala servoga ham boshlang'ich pozitsiyasini yozamiz va o'yinchoqni to'g'ri joylashtirishimiz uchun men belgilangan chegaraning chetida servolarni 3 marta aylana shaklida siljitadigan kod qo'shdim. Shunday qilib, siz nuqta qayerda harakatlanishini ko'rishingiz va o'yinchoqning joylashishini mos ravishda sozlashingiz mumkin.

Loop funktsiyasida biz birinchi navbatda ikkita servoning keyingi burchaklarini ifodalovchi ikkita raqam hosil qilamiz va biz ilgari o'rnatgan chegaralarni ta'minlaymiz. Arduino tasodifiy funktsiyasi minimal va maksimal qiymatni qabul qilishi mumkin. Keyin bu qiymatlar servolarga birma -bir, yarim soniya kechikish bilan yuboriladi.

To'liq kodni GitHub sahifamda topishingiz mumkin:

github.com/bkolicoski/LaserToy

6 -qadam: Xursand bo'ling

Xursand bo'ling!
Xursand bo'ling!
Xursand bo'ling!
Xursand bo'ling!

Umid qilamanki, bu ko'rsatma ta'limiy va qiziqarli bo'ldi, shuning uchun menga ergashishni va YouTube kanalimga obuna bo'lishni unutmang.

Tavsiya: