Turinys:

„Arduino“valdomas lazerinis šunų persekiojimo žaislas: 6 žingsniai
„Arduino“valdomas lazerinis šunų persekiojimo žaislas: 6 žingsniai

Video: „Arduino“valdomas lazerinis šunų persekiojimo žaislas: 6 žingsniai

Video: „Arduino“valdomas lazerinis šunų persekiojimo žaislas: 6 žingsniai
Video: Radiobangomis valdomas koceptinis BMW, 3D apšvietimas 2024, Lapkritis
Anonim
Image
Image
„Arduino“valdomas lazerinis šunų persekiotojų žaislas
„Arduino“valdomas lazerinis šunų persekiotojų žaislas

Maždaug prieš dvejus metus aš sukūriau šį žaislą savo šuniui, kur lazeris yra valdomas dviem servo prietaisais, kad jis atsitiktinai judėtų ten, kur lazerio taškas išbėga, ir jis gali jį persekioti. Lazeris puikiai veikė, tačiau per pastarąjį žingsnį jis buvo sugadintas, todėl šioje instrukcijoje mes ją pataisysime ir paaiškinsiu veikimo principus.

1 žingsnis: medžiagos

Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos
Medžiagos

Projektas susideda iš 4 dalių: „Arduino“plokštės, 2 mikro servo ir lazerio modulio. Visi jie yra plastikiniame inde iš grietinės, kur „Arduino“plokštė yra priklijuota prie apačios, o servo ir lazeris yra viršuje.

Žemiau pateikiamas pirkimo nuorodų sąrašas, kuriame galite gauti tai, ko jums reikia:

  • „Arduino“lenta:

    www.banggood.com/custlink/vKGvhaBTl3

  • 9 g mini servos:

    www.banggood.com/custlink/v33GdlgfaE

  • Lazerinio diodo modulis:

    s.click.aliexpress.com/e/crrJMQgs

2 žingsnis: Statyba

Statyba
Statyba
Statyba
Statyba
Statyba
Statyba

Anksčiau servos buvo priklijuotos prie dangtelio karštais klijais, tačiau jis neatlaikė. Norėdami tai išspręsti, naudosiu dvipusę putplasčio juostą, nes ji pasirodė labai patvari ten, kur ją naudojau. Dangčio išlyginimas nėra toks svarbus, nes jį visada galima reguliuoti sukant.

Kitas servo elementas yra tiesiogiai pritvirtintas prie pirmojo, todėl jie kartu gali judėti lazeriu dviem kryptimis. Pirmasis juda kairėn ir dešinėn, o antrasis - aukštyn ir žemyn. Lazerio modulis yra pritvirtintas prie antrojo servo rankos karštais klijais, kurie, atrodo, vis dar laikosi.

3 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai
Laidai
Laidai

Projekto elektros instaliacija yra gana paprasta. Servo varikliai turi tris laidus: maitinimą, įžeminimą ir signalą. Maitinimo laidas paprastai yra raudonas ir turi būti prijungtas prie 5 V kaiščio „Arduino“plokštėje. Įžeminimo laidas paprastai yra juodas arba rudas ir turi būti prijungtas prie įžeminimo kaiščio „Arduino“plokštėje. Signalo kaištis paprastai yra geltonos, oranžinės arba baltos spalvos ir turėtų būti prijungtas prie skaitmeninio kaiščio „Arduino“plokštėje. Mūsų atveju mes naudojame 9 ir 11 skaitmeninius kaiščius. Atminkite, kad servo sistemos sunaudoja didelę galią, taigi, jei jums reikia vairuoti daugiau nei vieną ar du, greičiausiai juos turėsite maitinti iš atskiro maitinimo šaltinio, o ne +5 V kaiščio. Arduino.

Lazerio modulis turi tris kaiščius, tačiau naudojami tik du iš jų. Kairėje pusėje esanti jungtis yra teigiama ir paprastai žymima didžiosiomis raidėmis S, o neigiama jungtis yra dešinėje ir pažymėta minusu. Nuorodą į visą schemą galite rasti vaizdo įrašo aprašyme.

Visą schemą rasite „EasyEda“:

easyeda.com/bkolicoski/Arduino-Laser-Toy

4 žingsnis: veikimo principai

Veikimo principai
Veikimo principai
Veikimo principai
Veikimo principai

Dabar, kai remontas atliktas, pažvelkime į kodą ir kaip šis įrenginys veikia. Įprastas 9 g mikro servo judesys yra 180 laipsnių ir jis valdomas PWM signalu. Šis signalas generuojamas iš „Arduino“naudojant „Servo“biblioteką. Biblioteka siūlo patogų metodą, vadinamą „rašyti“, kuris įrašo vertę į servo sistemą, atitinkamai valdydamas veleną. Standartinėje servo sistemoje tai nustatys veleno kampą (laipsniais), perkeldamas veleną į tą padėtį.

Mūsų atveju mes norime apriboti šį judėjimą ne daugiau kaip apie 50–70 laipsnių kiekviena kryptimi, todėl vieta, kur šuo bėga, nėra didelė, todėl jis nepavargsta per anksti. Be to, aš naudoju šias ribas lazerio perimetrui nustatyti, kad jis neišeitų iš vietos, kurią mano šuo turi judėti. Jie nustatomi eskizo pradžioje kartu su dviejų servo apibrėžimais ir kintamaisiais, kuriuos naudosime jų pozicijai.

5 veiksmas: „Arduino“kodas

Arduino kodas
Arduino kodas
Arduino kodas
Arduino kodas

Sąrankos funkcijoje pirmiausia inicijuojame servo ir pritvirtiname juos prie tinkamų „Arduino“kaiščių. Tai lieps bibliotekai išvesti to kaiščio PWM signalą. Toliau rašome pradinę padėtį abiem servo sistemoms ir, kad galėtume tinkamai įdėti žaislą, pridėjau tam tikrą kodą, kuris 3 kartus perkelia servo apskritimo tvarka nustatytos ribos kraštus. Tokiu būdu galite pamatyti, kur juda taškas, ir atitinkamai pakoreguoti žaislo išdėstymą.

Naudodami ciklo funkciją, pirmiausia sugeneruojame du skaičius, vaizduojančius kitus dviejų servo kampų kampus, ir pateikiame anksčiau nustatytas ribas. Atsitiktinė „Arduino“funkcija gali priimti mažiausią ir didžiausią vertę, kurią jai reikia sukurti. Tada šios vertės siunčiamos į servo sistemas po vieną, tarp jų vėluojant pusę sekundės.

Visą kodą galite rasti mano „GitHub“puslapyje:

github.com/bkolicoski/LaserToy

6 žingsnis: Mėgaukitės

Mėgautis!
Mėgautis!
Mėgautis!
Mėgautis!

Tikiuosi, kad ši instrukcija buvo edukacinė ir įdomi, todėl siūlau sekti mane ir nepamirškite užsiprenumeruoti mano „YouTube“kanalo.

Rekomenduojamas: