Obsah:

DIY Educational Micro: bit robot: 8 kroků (s obrázky)
DIY Educational Micro: bit robot: 8 kroků (s obrázky)

Video: DIY Educational Micro: bit robot: 8 kroků (s obrázky)

Video: DIY Educational Micro: bit robot: 8 kroků (s obrázky)
Video: Can You Reattach a Severed Finger? 🤔 2024, Červen
Anonim
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot

Tento návod vám ukáže, jak postavit relativně přístupného, schopného a levného robota. Mým cílem při navrhování tohoto robota bylo navrhnout něco, co by si většina lidí mohla dovolit, aby poutavou formou učili informatiku nebo se o tom dozvěděli.

Jakmile tohoto robota postavíte, můžete si užít jeho řadu senzorů a akčních členů, abyste mohli provádět základní, ale i docela pokročilé věci v závislosti na verzi, kterou stavíte (poskytnu dvě verze). S tímto robotem poskytujete mikro (bit) pohled (180 ° pohled!) A nohy (s přesným pohybem!), Zatímco micro: bit vám poskytuje skvělé funkce, jako je LED matice, rádiová komunikace, bluetooth komunikace, akcelerometr, kompasy, ale také přístup ke všem těm věcem buď pomocí MicroPythonu, nebo s vizuálním programovacím jazykem podobným scratch (ve skutečnosti také v C ++ a javascriptu, ale ty mi připadají méně vhodné pro vzdělávání).

Budu také pracovat na tomto pokynu, abych mohl čtenáře a tvůrce nastavit tak, aby objevili více o mobilní robotice, elektronice, navrhování a řezání dřeva. Abych to udělal, navrhl jsem vše tak, aby bylo co nejvíce modulární. Například nebudu používat žádné lepidlo, abych mohl volně sestavovat a rozebírat, což usnadní upgrade a ladění. Kroky také udělám tak postupně, jak jen to půjde, abyste postupně porozuměli tomu, co se děje, zkontrolovali, že věci fungují tak, jak by měly, a dosáhli konce s robotem, který funguje.

Krok 1: Shromažďování kusů

Shromažďování kusů
Shromažďování kusů

Medvědí minimum, které pro tento projekt potřebujete, je:

  • 5 mm silné MDF dřevo a laserová řezačka na kostru
  • 1x 18650 lithiová baterie, 1x stínění baterie pro energii a přerušovač
  • 1xMicro: Bitová karta a 1xMicro: bitová rozšiřující deska pro mozek (ačkoli oba lze snadno nahradit Arduinem)
  • Krokové motory 2x28BYJ-5V, ovladače krokových motorů 2xA4988 a 2x vývojová deska pro montáž ovladačů pro nohy
  • 1x TOF10120 a 1x Mini 9g servomotor pro oči Některé kabely a šrouby
  • 1x univerzální kolečko, výška = 15mm

Mezi nimi pouze tři části nejsou standardy, proto zde najdete odkazy na jejich nalezení: najděte rozšiřující desku, kterou jsem zde použil (ale doporučil bych vám použít místo ní tuto úhlednou verzi robota. Budete muset nezmění téměř nic na designu a kabeláž bude mnohem jednodušší díky ohybovým hlavičkám a zásuvkám), štítu baterie zde a univerzálnímu kolu zde.

V ideálním případě budete mít také k dispozici:

  • Multimetr
  • Prkénko
  • Páječka

Pro ty, stejně jako pro laserové řezačky, zkontrolujte, zda máte kolem svého místa nějaký fablab! To jsou skvělá místa, kde se můžete setkat s několika inspirativními tvůrci!

Krok 2: Příprava nohou

Příprava nohou
Příprava nohou
Příprava nohou
Příprava nohou
Příprava nohou
Příprava nohou
Příprava nohou
Příprava nohou

Vaše první mise, pokud ji přijmete, bude nechat náš krokový motor otáčet pomocí mikro: bitu jako ovladače! Proč krokový motor? Mohl jsem jít na stejnosměrný motor s reduktory, ale vyzkoušel jsem je a je pro mě těžké přimět levné motory k provozu na nízké otáčky. Také jsem si řekl, že by bylo hezké přesně vědět, jakou rychlostí se točí moje kola. Z těchto důvodů byly krokové motory nejlepší volbou.

Jak tedy nyní ovládat motor 28BYJ pomocí ovladače 4988? Odpověď je … trochu dlouhá. Nepodařilo se mi to úhledně zařadit do tohoto návodu, takže jsem vytvořil další právě pro tento účel, který najdete zde. Vyzývám vás, abyste tyto kroky provedli až do konce s vytvořením malé prototypovací desky o rozměrech 26 x 22 mm s otvory 2 x 2 mm o průměru 17 mm, kterou připevníte po stranách, jak je znázorněno na obrázku výše (Všimněte si, že jak je uvedeno v odkazovaném článku, žlutý drát vlevo vyčnívající je jen tam, aby vám připomnělo pájení SLP a RST dohromady).

Poté, co jsem začal pracovat s jedním motorem s prototypovací deskou, jsem také navrhl vlastní desku plošných spojů, aby byly věci trochu uklizenější. Připojil jsem odpovídající soubor easyEDA. Je to soubor txt, ale stále jej můžete otevřít pomocí bezplatné online editační platformy easyEDA.

Krok 3: Vidím světlo !! (Volitelný)

Vidím světlo !! (Volitelný)
Vidím světlo !! (Volitelný)
Vidím světlo !! (Volitelný)
Vidím světlo !! (Volitelný)
Vidím světlo !! (Volitelný)
Vidím světlo !! (Volitelný)

Pokud chcete stavět a nic víc, přeskočte na předposlední odstavec tohoto kroku a podívejte se, jak připojit TOF10120 k mikro: bitu. Pokud ne, postupujte.

Protože náš micro: bit není dodáván s žádnou kamerou nebo snímačem přiblížení, je jakýmsi způsobem slepý pro jakoukoli mobilní robotickou aplikaci. Dodává se však s rádiovým vysílačem a receptorem, což by nám umožnilo postavit kostru nad tím, co již máme, a získat dálkově ovládaného robota. Ale nebylo by skvělé, aby byl náš robot autonomní? Ano to by bylo! Pojďme se tedy podívat, jak se tam dostat.

To, co nás nyní zajímá, je vybavit našeho robota senzory, aby náš robot získal nějaké informace o svém prostředí. K dispozici je mnoho typů senzorů, ale zde se zaměříme na senzor přiblížení. Když jsem navrhoval tohoto robota, mým cílem bylo hlavně to, aby robot do ničeho nenarazil, proto jsem chtěl, aby snímal překážky. K tomu existuje také několik možností. Prvním, velmi jednoduchým, by mohlo být použití nárazníků, ale informace o prostředí považuji za trochu omezené. Na druhém extrému byste mohli uvažovat o přidání fotoaparátu (nebo Lidaru nebo kinectu!). Miluji fotoaparáty, počítačové vidění a všechny ty věci, ale bohužel Micro: bit ty nepodporuje (na podporu takových zařízení bychom museli použít malinový Pi, ne micro: bit nebo Arduino).

Co tedy podporuje micro: bit mezi fotoaparátem a nárazníky? Existují malé aktivní senzory, které odesílají světlo do prostředí a kontrolují, co je přijímáno, aby získaly nějaké informace o světě. Ten, o kterém jsem již věděl, byl GP2Y0A41SK0F, který pomocí triangulační metody odhaduje vzdálenost k překážkám. Nicméně jsem přemýšlel, jestli bych mohl najít něco lepšího, a tak jsem provedl průzkum a nakonec jsem objevil TOF10120 (a GY-VL53L0XV2, ale zatím jsem ho neobdržel:(). Zde je pěkný článek, který můžete objevit. Tento senzor v zásadě vysílá infračervený signál, který se odráží na překážkách, a ten pak odražené světlo přijímá. V závislosti na době, po kterou se světlo pohybovalo tam a zpět, může senzor odhadnout vzdálenost překážky (odtud název TOF = čas letu Pro svou malou velikost, dosah a výkon jsem se rozhodl použít TOF10120.

Zatímco mojí první myšlenkou bylo umístit tři z nich na robota (jeden vpředu a dva po stranách), čínský nový rok a pandemie COVID-19 to tak nechtěly, protože se zdálo, že to způsobuje problémy se zásilkami. Protože jsem byl omezen na jeden TOF10120, který jsem chtěl vidět i po stranách a že jsem měl kolem sebe nějaké servomotory, rozhodl jsem se namontovat svůj senzor na servo. Nyní tedy chybí dvě věci: jak použít TOF10120 s mikro: bitem? A stejná otázka se servem.

Naštěstí je micro: bit vybaven komunikačním protokolem I2C a dělá nám život opravdu snadným: zapojte červený vodič na 3,3 V, černý na zem, zelený na SCL a modrý na SDA a to je pro hardwarovou část. Pokud jde o software, doporučuji vám přečíst si něco o komunikaci I2C a vyzkoušet kód pythonu, který jsem připojil na micro: bit. Tento program by vám měl vytisknout vzdálenost naměřenou senzorem na REPL (Read Evaluate Print Loop). A je to. Právě jsme dali zrak našemu mikro: bitu.

Teď mi dovolte, aby se otočilo, pokud mi dovolíte pokračovat ve svých analogiích s anatomií zvířat. Jediné, co k tomu budeme potřebovat, je pohánět servomotor pomocí mikro: bitu. Tato část se prodlužuje, takže vám poskytnu tento odkaz, který obsahuje všechny potřebné informace a kód, který jsem použil k otestování. Pokud chcete, přidal jsem také jednoduchý kód pro ovládání serva pomocí pin0. Nezapomeňte napájet vaše servo 5V a ne 3,3V.

Krok 4: Hackování štítu baterie

Hacking the Battery Shield
Hacking the Battery Shield
Hacking the Battery Shield
Hacking the Battery Shield
Hackování štítu baterie
Hackování štítu baterie

Nyní, když máme připraveny pohony a senzory, je čas se podívat na systém správy baterie. Chcete -li se dozvědět více o krytu baterie, který jsem si vybral, doporučuji vám přečíst si tento článek. Považuji to za velmi jasné a přístupné. Z tohoto článku vidíme mnoho výhod tohoto štítu baterie, ale je tu jedna důležitá nevýhoda, kterou jsem nechtěl přijmout: přepínač ON/OFF ovlivňuje pouze výstup USB. To znamená, že pokud vypínač vypnete, budou napájeny všechny ostatní piny 3,3 V a 5 V. Výsledkem je, že když tyto kolíky používáme pro svého robota, přepínač nebude dělat vůbec nic…

Ale já chci mít možnost vypnout svého robota, aby mi baterii nevyprázdnil jen tak pro nic za nic, a tak jsem musel hacknout kryt baterie. Nebude to hezké, ale funguje to a nic to nestojí. Proto chci spínač otevřít nebo zavřít obvod tak, aby izoloval můj článek baterie od krytu baterie. Nemám vybavení, abych se dotýkal DPS, ale všude kolem mám kousky plastu. Nyní si tedy představte, že jsem nařezal kus plastu, aby se vešel na jeden konec mého článku baterie do štítu jako na prvním obrázku výše. Okruh je nyní otevřený a moje baterie je bezpečně uložena.

Ano, ale nechci otevřít robota, abych získal přístup ke krytu baterie, abych mohl tento kus plastu odstranit a odstranit! Snadné: získejte přepínač a nalepte dva malé čtverce hliníku na každý z vodičů připojených k přepínači. Nyní přilepte tyto dva kusy hliníku na plastový kus, aby byly dva hliníkové kusy od sebe izolovány a aby byl hliník vystaven vně vašeho systému. Normálně by to mělo stačit. Vložte svůj nový výtvor do štítu baterie vedle článku a přepínač by vám měl umožnit otevřít nebo zavřít obvod připojený k článku.

Jedna poslední věc: Aby bylo snadné sestavit a rozebrat robota, doporučil bych vám připájet ženské hlavičky na kryt baterie. Tímto způsobem můžete snadno zapojit a odpojit to, co stavíte, pomocí motorů a jejich ovladačů.

Krok 5: 3D návrh a střih

3D design a střih
3D design a střih
3D design a střih
3D design a střih

Jediné, co nyní chybí, je vybudovat strukturu, která bude držet všechny naše součásti pohromadě. K tomu jsem použil online platformu tinkercad. Toto je opravdu příjemné prostředí pro základní CAD, které často stačí k návrhu věcí pro laserovou řezačku.

Po nějaké době přemýšlení bylo načase si pohrát. Za tímto účelem jsem začal sestavovat 3D modely různých částí, které jsem měl (nejprve ponechat servo a TOF mimo rovnici). To zahrnuje baterii a štít, krokové motory a ovladače motorů a samozřejmě micro: bit s rozšiřující deskou. Připojil jsem všechny odpovídající 3D modely jako soubory stl. Abych tento proces usnadnil, rozhodl jsem se udělat svého robota symetrickým. Výsledkem bylo, že jsem si pohrával pouze s polovinou robota a dosáhl designu zobrazeného na obrázku výše.

Z toho ožilo několik verzí, ze kterých jsem vybral dvě:

  • Jeden docela uklizený, bez senzoru přiblížení, který umožňuje, aby se neobjevily žádné dráty. I když tato verze není autonomní, lze ji naprogramovat například přes bluetooth prostřednictvím iPadu, nebo ji lze naprogramovat tak, aby byla ovládána pomocí rádiových signálů, které mohou být například vysílány jiným mikro: bitem, jak je uvedeno ve videu výše.
  • Jeden mnohem méně uklizený, který umožňuje jít mnohem dále do mobilní robotiky, protože díky senzoru přiblížení zabudovanému na servomotoru umožňuje zachytit vzdálenost překážky s 180 ° pohledem.

Chcete -li to vybudovat, přejděte do svého oblíbeného Fablabu a pomocí laserové řezačky, kterou najdete, ořízněte model, který upřednostňujete: první, který odpovídá souborům design1_5mmMDF.svg a design1_3mmMDF, které odpovídají dílům, které mají být řezány v 5mm MDF dřevo a ty k řezání z 3mm; druhý odpovídá souboru design2_5mmMDF.svg. Nastavte černé obrysy, které mají být vyřezány, a červené, které mají být vyryty.

Boční poznámka: Červený vzor jsem přidal jen proto, abych jej vylepšil. Toto je plnicí funkce Hilbert, kterou jsem vygeneroval pomocí přiloženého kódu pythonu.

Krok 6: Mounting the Beast

Mounting the Beast
Mounting the Beast
Mounting the Beast
Mounting the Beast
Mounting the Beast
Mounting the Beast

Kroky, které jsem provedl při montáži první verze robota, jsou následující (obrázky by normálně měly být ve správném pořadí):

  1. Sejměte modrý kryt motorů a trochu jej seřízněte, aby kabel vyčníval ze zadní části motoru.
  2. Namontujte motory na každou stranu pomocí šroubů a šroubů M2.
  3. Namontujte prototypovou desku po stranách pomocí otvorů 2x2 mm a několika šroubů a šroubů.
  4. Umístěte ovladače A4988 a nalepte kabely motoru, abyste měli pořádek.
  5. Namontujte univerzální kolo pod spodní část a přidejte boky.
  6. Namontujte rozšiřující desku micro: bit na horní část.
  7. Namontujte spodní část pružného předního krytu.
  8. Umístěte štít baterie a připojte vše (k tomu, protože jsem stále čekal na dodávku rozšiřující desky, kterou jsem chtěl, a že jsem měl pouze jednu s vyčnívajícími hlavičkami, jsem recykloval kabel IDE ze starého počítače, aby se podařilo aby moje kabely netlačily na desku, aby to všechno zakryly sklopným předním krytem). Přestože je kód, který jsem poskytl, velmi snadno přizpůsobitelný, k jeho přímému použití budete muset připojit levý KROK ke kolíku 2, pravý KROK ke kolíku 8, levý DIR ke kolíku 12, pravý DIR ke kolíku 1.
  9. Vložte micro: bit do rozšíření.
  10. Než budete pokračovat, vyzkoušejte, zda vše funguje s MoveTest.py.
  11. Namontujte spínač na horní část a vložte plastový bit vedle lithiového článku.
  12. Zašroubujte horní část předního krytu.
  13. Namontujte záda a jste hotovi! Fuj! Nečekal jsem tolik kroků! Je mnohem snazší o tom přemýšlet a dělat to, než to vysvětlovat slovy! (A jsem si jistý, že stále budou chybět informace!)

Pokud stavíte druhou verzi s čidlem přiblížení, pak:

  1. Postupujte podle výše uvedených pokynů. Jediným rozdílem bude, že v kroku 7 budete muset přidat nějaké distanční podložky M2 (i když to jsem udělal, ale není to nutné), krok 8 a krok 13 ignorujte (protože tam není přední kryt)
  2. Namontujte servomotor pomocí šroubů M2 a připojte VCC a GND serva přímo na 5V stínění baterie a připojte ovládací vstup na pin 0 mikro: bitu.
  3. Dva kusy dřeva, které půjdou na servo, připevněte šroubem, našroubujte na něj snímač TOF a bílý plastový kus, který je součástí serva.
  4. Namontujte tuto poslední jednotku na servo a připojte snímač pomocí I2C micro: bit, jak je popsáno v kroku 3.

Krok 7: Program

A je to ! Máte robota, kterého můžete naprogramovat buď v micro: pythonu, nebo v makecode. Zde jsem připojil ukázkový kód, který jsem použil k vytvoření výše uvedených videí:

  • Příklad 1: Vložte radioControl.py na mikro: bit robota a ReadAccelero.py na jiný micro: bit, abyste mohli robota ovládat pomocí sklonu druhého mikro: bitu.
  • Příklad 2: Dejte Autonomous.py na verzi 2 robota, který prozkoumá prostředí.

To jsou jen základní příklady, pomocí kterých můžete jít mnohem, mnohem dál. Například mám docela rád simultánní lokalizaci a mapování a normálně je ve verzi 2 tohoto robota vše, co k tomu potřebujete! Ačkoli je pro mě velkou nevýhodou takového projektu, že ovladač micro: bit PWM je softwarový ovladač, který používá stejný časovač pro všechny kanály, což znamená, že všechny PWM, které nastavíme, musí mít stejnou frekvenci (což jsem udělal nevím, kdy jsem napsal ukázkové kódy, přestože jsem při psaní Autonomous.py zjistil něco zvláštního).

Krok 8: Jít dále

Neváhejte vylepšit design, vyřešit některé problémy, které jsem neviděl. Například bych chtěl nakonec:

  • Přidejte IR senzor do spodní části robota, aby detekoval, zda je zem černá nebo bílá, nebo zda dosahuje na konec mého stolu.
  • Změňte systém správy baterie, protože s tím zatím nejsem spokojen. Ve skutečnosti v tuto chvíli k dobití baterie vyžaduje demontáž robota, aby se vyjmul článek nebo kryt baterie … Plánuji tedy: 1. přidat konektor mini USB na zadní stranu robota, který jsem Připojím se ke krytu baterie, abych jej mohl dobít; 2. Vyřízněte otvor ve spodní části, abyste viděli LED diody ze štítu baterie, abyste viděli, kdy je nabíjení ukončeno.
  • Zkontrolujte, zda existuje přijatelný způsob výstupu PWM s různými frekvencemi.
  • Vyzkoušejte VL53L0XV2, který nahradí TOF10120, protože by to mohla být levnější varianta, která by ho zpřístupnila ještě více lidem. Ačkoli jsem o tomto senzoru četl více a zdá se, že společnost, která to vyrobila levně, se záměrně velmi těžko vypořádala s…
  • Vyzkoušejte různá provedení kol, aby byla odolnější (právě teď bych očekával, že když mnohokrát vezmu kola dovnitř a ven, dřevo se postupně poškodí. Pokud udělám dřevo pružnějším, změním designu možná být schopen vydržet déle)

Velké díky patří lidem z týmu Mobile robotics (nyní součást laboratoře Biorobotics) z EPFL, kteří mi velmi pomohli rozšířit mé znalosti z elektroniky a mechaniky!

Doporučuje: