Tartalomjegyzék:

Arduino vezérelt lézeres kutya üldöző játék: 6 lépés
Arduino vezérelt lézeres kutya üldöző játék: 6 lépés

Videó: Arduino vezérelt lézeres kutya üldöző játék: 6 lépés

Videó: Arduino vezérelt lézeres kutya üldöző játék: 6 lépés
Videó: Arduino Robot - Ultrahang Teszt 2024, November
Anonim
Image
Image
Arduino vezérelt lézeres kutya üldöző játék
Arduino vezérelt lézeres kutya üldöző játék

Körülbelül két éve építettem ezt a játékot a kutyámnak, ahol egy lézert két szervóval vezérelnek, hogy véletlenszerű mozdulatot biztosítsanak neki, ahol a lézerpont kiszökik, és üldözni tudja. A lézer tökéletesen működött, de a közelmúltbeli költözésem során megsérült, ezért ebben az Instructable -ben megjavítjuk, és elmagyarázom a működés elveit.

1. lépés: Anyagok

Anyagok
Anyagok
Anyagok
Anyagok
Anyagok
Anyagok

A projekt 4 részből áll: egy Arduino táblából, 2 mikro szervóból és egy lézermodulból. Valamennyien egy tejfölös műanyag edényben vannak elhelyezve, ahol az Arduino táblát az aljára ragasztják, míg a szervók és a lézer felül vannak.

Az alábbiakban felsoroljuk azokat a vásárlási linkeket, amelyeken megszerezheti, amire szüksége van:

  • Arduino tábla:

    www.banggood.com/custlink/vKGvhaBTl3

  • 9 g mini szervó:

    www.banggood.com/custlink/v33GdlgfaE

  • Lézer dióda modul:

    s.click.aliexpress.com/e/crrJMQgs

2. lépés: Építés

Építkezés
Építkezés
Építkezés
Építkezés
Építkezés
Építkezés

Korábban a szervókat ragasztottam a fedélre valamilyen forró ragasztóval, de nem bírta. Ennek megoldásához használok kétoldalas habszalagot, mivel ez nagyon tartósnak bizonyult ott, ahol használtam. A fedél beállítása nem annyira kritikus, mivel forgatással mindig beállítható.

A másik szervó közvetlenül az elsőhöz van csatlakoztatva, így együtt mozgathatják a lézert két irányba. Az első mozgatja balra és jobbra, míg a második felfelé és lefelé. A lézermodult egy forró ragasztóval rögzítik a második szervó karjához, amely látszólag még mindig tartja magát.

3. lépés: huzalozás

Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték

A projekt elektromos vezetékezése viszonylag egyszerű. A szervomotoroknak három vezetéke van: táp, föld és jel. A tápkábel tipikusan piros, és az Arduino kártya 5 V -os csatlakozójához kell csatlakoztatni. A földelő vezeték általában fekete vagy barna, és az Arduino táblán lévő földelőcsaphoz kell csatlakoztatni. A jelzőcsap tipikusan sárga, narancssárga vagy fehér, és az Arduino táblán lévő digitális tűhöz kell csatlakoztatni. Esetünkben a 9 -es és 11 -es digitális csapokat használjuk. Ne feledje, hogy a szervók jelentős energiát fogyasztanak, így ha egynél kettőnél többet kell vezetnie, akkor valószínűleg külön tápegységről kell táplálni őket, nem pedig a Arduino.

A lézermodulnak három csapja van, de csak kettőt használnak. A bal oldali a pozitív kapcsolat, és általában nagy S betűvel van jelölve, míg a negatív kapcsolat a jobb oldalon, és mínusz jelzéssel van ellátva. A teljes leírás linkjét megtalálhatja a videó leírásában.

A teljes vázlat az EasyEda -n érhető el:

easyeda.com/bkolicoski/Arduino-Laser-Toy

4. lépés: Működési elvek

Működési elvek
Működési elvek
Működési elvek
Működési elvek

Most, hogy a javítás befejeződött, nézzük meg a kódot és az eszköz működését. Egy tipikus 9 g -os mikroszervó 180 fokos mozgással rendelkezik, és PWM jel vezérli. Ezt a jelet az Arduino generálja a Servo könyvtár segítségével. A könyvtár egy kényelmes módszert kínál „írni”, amely értéket ír a szervóba, ennek megfelelően vezérli a tengelyt. Egy szabványos szervónál ez beállítja a tengely szögét (fokban), és a tengelyt ebbe az irányba mozgatja.

Esetünkben ezt a mozgást maximum 50-70 fok köré szeretnénk korlátozni minden irányban, így a kutya futási területe nem túl nagy, így nem fárad el túl korán. Ezenkívül ezeket a határokat használtam a lézer kerületének beállításához, hogy ne lépjen ki a kutyámnak mozgatni kívánt területről. A vázlat elején vannak beállítva, a két szervó definícióival és a pozíciójukhoz használni kívánt változókkal együtt.

5. lépés: Arduino kód

Arduino kód
Arduino kód
Arduino kód
Arduino kód

A beállítási funkcióban először inicializáljuk a szervókat, és rögzítjük őket az Arduino megfelelő csapjaira. Ez azt fogja mondani a könyvtárnak, hogy adja ki a PWM jelet az adott tűn. Ezután mindkét szervóhoz írjuk a kiindulási pozíciót, és ahhoz, hogy helyesen tudjuk elhelyezni a játékot, hozzáadtam néhány kódot, amely háromszor mozgatja a szervókat kör alakban a beállított határ szélén. Így láthatja, hol mozog a pont, és ennek megfelelően módosíthatja a játék elhelyezését.

A ciklusfüggvényben először két számot generálunk, amelyek a két szervó következő szögeit képviselik, és megadjuk a korábban beállított korlátokat. Az Arduino véletlenszerű függvénye elfogadja a minimális és a maximális értéket, amelyet létre kell hoznia. Ezeket az értékeket ezután egyenként elküldik a szervóknak, fél másodperces késéssel.

A teljes kód megtalálható a GitHub oldalamon:

github.com/bkolicoski/LaserToy

6. lépés: Élvezze

Élvezd!
Élvezd!
Élvezd!
Élvezd!

Remélem, hogy ez az Instructable tanulságos és érdekes volt, ezért javaslom, hogy kövessen, és ne felejtsen el feliratkozni YouTube -csatornámra.

Ajánlott: