ARCA (imádnivaló távirányítású Android): 4 lépés (képekkel)
ARCA (imádnivaló távirányítású Android): 4 lépés (képekkel)
Anonim
ARCA (imádnivaló távirányítású Android)
ARCA (imádnivaló távirányítású Android)
ARCA (imádnivaló távirányítású Android)
ARCA (imádnivaló távirányítású Android)
ARCA (imádnivaló távirányítású Android)
ARCA (imádnivaló távirányítású Android)

Ez az oktatóanyag a Dél -Floridai Egyetem Makecourse (www.makecourse.com) projektkövetelményének teljesítésével jött létre.

Az ARCA egy imádnivaló távirányítású Android, amelyet hihetetlenül szórakoztató építeni és játszani. Ennek a projektnek az volt a célja, hogy létrehozzon valamit, amit bárki megérthet és hozzá tud kapcsolódni egy olyan robot létrehozásával, amely egyszerre imádnivaló és funkcionális.

A robot úgy működik, hogy különböző érzelmeket jelenít meg egy 8x8 LED -es mátrixon, ezek közé tartozik az öröm, az alvás, a szerelem, a harag, az ostoba, és felnéz, balra és jobbra. A robot úgy is működik, mint egy RC autó, és előre tud menni, és balra vagy jobbra fordulhat. A robot mindkét kerékmotor aktiválásával megy előre, balra fordul a jobb motor bekapcsolásával, és jobbra fordul a bal motor bekapcsolásával. A tervezés nagyon egyszerű, de egyszerűen működik, és nagy hangsúlyt akartam helyezni az Arduino programozására, mivel szívem szerint programozó vagyok.

Az oktatóanyagban használt fájlok legfrissebb verziói megtalálhatók a Github ARCA lerakatomban.

1. lépés: Alkatrészlista és 3D nyomtatás

Alkatrészlista és 3D nyomtatás
Alkatrészlista és 3D nyomtatás
Alkatrészlista és 3D nyomtatás
Alkatrészlista és 3D nyomtatás

Ennek a projektnek az alkatrészei 3D nyomtatással vagy online vásárolhatók. Amikor az összeszerelésre gondoltam, hatékonysági kulcsot akartam készíteni, és megpróbáltam nem (teljesen szó szerint) feltalálni a kereket. A projekthez használt 3D nyomtató egy Makerbot replikátor volt, ha meg szeretné győződni arról, hogy a 3D nyomatok összhangban vannak az enyémmel, akkor használja ezt a nyomtatót.

Szerkezeti elemek

  • Doboz, oldalán lyukakkal a kerekek és karok számára
  • Doboz fedele lyukakkal a hátsó kerekekhez és lyuk az IR érzékelőhöz
  • Bal kéz
  • Jobb kar
  • Tengely a két hátsó kerékhez
  • két tengelycsatlakozó a fedél tengelyhez való csatlakoztatásához
  • 4 kerék (motorok is szerepelnek ebben a linkben)
  • Kis csavarok (illeszkednek a motorokhoz)

Elektromos alkatrészek

  • Arduino Uno
  • Kis kenyérlap (megvettem az Arduino készletet, és vele jött)
  • Két MAX7219 piros pont mátrix MCU vezérléssel
  • Infravörös vevő és távirányító
  • Két TIP 120 tranzisztor
  • Csatlakozó vezetékek (sok férfi és női vezetéket, valamint férfi és férfi vezetékeket használtam, és javaslom a hosszú vezetékek beszerzését a rövid vezetékek helyett)
  • egy 220 ohmos ellenállás
  • Két hajtóműves motor
  • USB csatlakoztatható tápegységek (mobiltelefonokhoz használt hordozhatóak)

2. lépés: Összeszerelés

Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés

Szerkezeti összeszerelés

A 3D nyomtatott részeket valószínűleg tisztítani kell, és azt javaslom, hogy finom csiszolással csiszolja le és acetonnal (körömlakklemosóval) távolítsa el a 3D nyomtatási folyamat során használt ragasztómaradványokat. Előfordulhat, hogy egyes alkatrészek nem illeszkednek tökéletesen, és szükséges volt, hogy csiszoljak a tengelyt, hogy tökéletesen kerek legyen, és megfelelően illeszkedjenek a lyukakon.

A kerekek némi beállításra szorulnak, többet kellett fúrni, hogy illeszkedjenek a hátsó tengely és az elülső csavarok méretéhez. 6 mm -es fúróval fúrja át a kerekek lyukait, hogy nagyobb lyukakat fúrjon ki a kerekekben.

Ehhez az összeszereléshez különféle ragasztókat használtam, de azt tapasztaltam, hogy a folyékony beton (modellező ragasztó) a legjobb a tartáshoz a hosszú száradási idő ellenére, de az epoxi a legjobb ahhoz, hogy gyorsan száradjon és jól tartsa, annak ellenére, hogy rendetlen.

Az összeszerelés többi része eléggé előre halad:

  1. Rögzítse a tengelytartókat a doboz fedelének hátsó részéhez, epoxi bevonattal
  2. Vezesse át a tengelyt a tengelytartókon
  3. Ragassza a kerekeket a tengelyre folyékony betonnal
  4. Vezesse át a karokat a felső lyukakon, és ragasztja a kar tartójához epoxi segítségével
  5. Csavarja be a doboz fedelét a dobozba
  6. Használjon elektromos szalagot a doboz alján, ahol a kerekek vannak

Elektromos szerelvény

Az első kerekek közvetlenül a motorokhoz vannak rögzítve, és egy kis csavart kell használni a motorban, hogy elég hosszú legyen ahhoz, hogy mindkét oldalon átférjen a robot lyukán. A motor forgó csapjában kis lyuknak kell lennie, és ott csavarhatja be a csavart, és a csavar fejét ragaszthatja a kerékbe, miután a csavart a dobozon lévő lyukon keresztül tolta.

A kenyértáblám hátsó része ragadós hátlappal volt ellátva, de elektromos szalaggal rögzítheti, ha a tied nem. Biztonsági okokból elektromos szalagot is használtak az elektromos alkatrészek rögzítésére. A LED kijelzőkkel ellátott MCU -kat elektromos szalaggal rögzítették a szemüreg hátsó részéhez, és a motorokat elektromos szalaggal rögzítették a doboz oldalaihoz a lyukak közelében. Vörös elektromos szalagot használtam, hogy láthatatlanná tegyem, minden esetre, és javaslom az ARCA verziójához hasonló színű elektromos szalag használatát.

A kenyértábla és a csapok a Fritzing képhez hasonlóan vannak beállítva. Ha többet szeretne hozzáadni ehhez a diagramhoz az ARCA testreszabásához, akkor töltse le a Fritzing fájlt a Github tárhelyemről, és szerkessze tetszés szerint.

A vezetékeket a hajtóműmotorok hurkaihoz rögzítettem, a vezetékeket a hurkok köré hajlítva, hogy rögzítve maradjanak. Valószínűleg jobb ötlet lenne ezeket a csatlakozásokat forrasztani, ha hozzáférhet a forrasztópákahoz, de ez egyszerű megoldás, ha nincs.

A tápegység ugyanahhoz a vezetékhez van csatlakoztatva, amelyet az Arduino számítógéphez való csatlakoztatásához használ, hogy letölthesse a programot, és ez csak laza a robotban, így könnyen eltávolítható és feltölthető.

3. lépés: Programozás

Programozás
Programozás

Itt található a kód, amelyet feltölthet az ARCA -ra, hogy az pontosan úgy működjön, mint az enyém. A kód használatához a következő két könyvtárra is szüksége van.

Az egyértelműség és a testreszabás érdekében azonban végigvezetem a kódomon. Nyugodtan hagyja ki ezt a lépést, ha nem szabja testre robotját, vagy nem tervezi az érzelmek megváltoztatását.

Először is két könyvtárat használok a kódomba, így használhatom e könyvtárak funkcióit és objektumait. Itt is definiálom a csapjaimat. Ha úgy döntött, hogy a csapjait eltéríti az előző lépésben beállítottól, végezze el a kód módosítását itt a megfelelő csapokkal.

Ezután meghatároztam az érzelmeket, bejelentettem a szükséges objektumokat az infravörös érzékelőhöz és a 8 x 8 LED -es kijelzőkhöz, és meghatároztam néhány globális változót. Az érzelmeket egy bájtos tömbben deklaráljuk, ahol a tömb minden hexadecimális száma az eredményül kapott 8 8 -as kijelző sorait jelenti. Az egyéni érzelmek létrehozásához azt javaslom, hogy rajzolja ki a kívánt érzelmet egy 8 x 8 rácsba, majd írjon ki minden sor 8 bites bináris számot, ahol a kikapcsolt fény 0 és a világítás 1. ebből hexadecimális számot és 8 -as hosszúságú tömbbe kell helyezni. Meghatároztam néhány globális változót is, amelyeket a hurokban használni fogok; a villogó mechanizmus változói és a mutatók az érzelmek tárolásához és a semleges kezdéshez.

Most elérkeztünk a beállítási körhöz, ahol a tesztelés érdekében bekapcsolom a soros felügyeletet, és ez hasznos lehet a kód teszteléséhez különböző IR távirányítókkal. Ezután inicializáltam a bal és jobb szem objektumokat a LED vezérlőkönyvtár funkciói segítségével. A hajtómű motor csapjait is kimenetre állítottam, és elindítottam az infravörös vevőt.

A ciklusban lényegében arra vár, hogy az IR jel megváltoztassa a robot állapotát. Tehát ha egy IR jel érkezik, és egyezik egy adott gomb egyik kódjával, akkor ez akkor történik, ha az utasítás aktiválódik, és ennek megfelelően állítja be a bal és a jobb szem értékét az érzelmekhez. Ha megnyom egy mozgásgombot, például balra, jobbra, előre és OK, akkor a gombokat digitálisan írják be vagy ki, a gomb megnyomásától függően. Csak egy megjegyzés az infravörös vevőkódokkal kapcsolatban: az IR távoli könyvtárban található egy mintakód, amely megadja a távvezérlő hexadecimális kódjait, ha semmi sem történik, amikor megnyomja a gombokat, akkor nyissa meg ezt a programot, hogy megbizonyosodjon arról, hogy a kódok helyesek. Mindössze annyit kell tennie, hogy megváltoztatja az egyes gombokhoz tartozó hexadecimális számot.

Végül van egy funkció, amely kinyomtatja az érzelmeket a 8 x 8 kijelzőre. Ez a setRow függvényeket használja a LED vezérlőkönyvtárból, és csak végigmegy a létrehozott tömbön, és ennek megfelelően állítja be a sorokat. Két paramétert tartalmaz: a bal szem tömbjét és a jobb szem tömbjét. Ez lehet egy bájtmutató vagy maga a bájt tömb (azaz a "semleges" név), amely mutatóként működik.

4. lépés: Bónusz tippek és trükkök

Bónusz tippek és trükkök
Bónusz tippek és trükkök

Minden bizonnyal sokat tanultam a projekt során, és itt szeretnék megosztani néhány további tippet, amelyek mind erre a projektre, mind az Arduino -t használó egyéb projektekre vonatkoznak.

  • Sok online forrás található az Arduino számára, és véleményem szerint a leghasznosabbak az Arduino webhelyről származnak, világos és tömör kódpéldáik miatt.
  • Ne találja fel újra a kereket, mert sok készlet és előre beépített darab használható a projekt megkönnyítésére. Programozó vagyok, és nem gépészmérnök, és nehezen próbáltam rájönni, hogyan fogom elindítani ezt a robotot, de könnyű volt találni valamit online vásárolni, és megvalósítani a tervezésemben, szemben a szó szoros értelmében feltalálóval. kerék
  • A könyvtárak a barátod Arduino-ban, valamint minden objektum-orientált nyelven, és okkal léteznek. Párosítsa ezt a mikrovezérlőkkel, és a 8 x 8 LED programozása egyszerű. Az egyiket kézzel programoztam korábban, és csak az egyik használja az Arduino minden tűjét, és rengeteg kódot igényel. Nagyon rendetlen és nem túl szórakoztató.
  • A 3D nyomtatók menők, de nem tökéletesek, és rendben van, ha le kell csiszolni néhány dolgot. Ebből az okból inkább szeretne nagyobbat nyomtatni 3D nyomtatáskor, mert a legtöbb esetben kicsit lecsiszolhatja a tökéletes illeszkedés érdekében.
  • Az áramellátás problémát okozhat, mert az utolsó pillanatban gondoltam az energiafelhasználásra, és úgy gondoltam, hogy egy 5 voltos akkumulátor teszi a dolgát. Ekkor, látszólag véletlenszerűen, néha egy motor vagy egy LED -kijelző nem működne. Miután frissítettem a hajtóműre, nem volt több probléma, annak ellenére, hogy terjedelmesebb volt a robot belsejében.

Ajánlott: