- Potřebné materiály:
- 3D tisk požadovaných dílů (volitelně):
- Schéma a hardware:
- Nastavení aplikace pro Android:
- Programování vašeho Arduina:
- Pracovní:
Chtěli jste někdy postavit robotické rameno nebo robota pro sledování obličeje pouhým použitím Arduina a nikoliv jiného programování, jako je OpenCV, vizuální základy C # atd.? Pak si přečtěte, v tomto projektu budeme implementovat detekci obličeje spojením síly Arduina a Androidu. V tomto projektu se bude mobilní kamera pohybovat společně s vaší tváří pomocí serv. Výhodou používání mobilního telefonu Android zde je, že nemusíte investovat do modulu kamery a celou práci s detekcí obrazu lze provádět v samotném telefonu, abyste k tomu nemuseli mít připojené Arduino k počítači. Zde jsme použili modul Bluetooth s Arduino pro bezdrátovou komunikaci s Mobile.
Aplikace pro Android použitá v tomto projektu byla vytvořena pomocí Zpracování Androidu, můžete buď přímo nainstalovat aplikaci stažením souboru APK (čtěte dále pro odkaz), nebo nasadit programovací čepici a vytvořit vlastní přitažlivější aplikaci pro Android pomocí uvedeného kódu zpracování dále v tutoriálu. Další informace o zpracování naleznete v předchozích projektech zpracování.
Na konci tohoto tutoriálu budete mít Mini Tilt and Span Robotic Arm, které dokáží sledovat váš obličej a pohybovat se s ním. Můžete jej použít (s dalším pokrokem) k nahrávání videí vlogu nebo dokonce k pořizování selfie zadní kamerou mobilního telefonu, protože vaše tvář je umístěna přesně ve středu obrazovky vašeho mobilního telefonu. Tak!! Zní to zajímavě? Na konci tohoto tutoriálu zkontrolujte ukázkové video a podívejte se, jak funguje. Podívejme se, jak jeden můžeme postavit…
Snažil jsem se ze všech sil, aby tento projekt fungoval co nejjednodušší, kdokoli s minimální znalostí hardwaru nebo kódování může použít tyto pokyny, aby tento projekt fungoval v co nejkratší době. Jakmile to však uděláte, navrhuji vám dostat se za kódy, abyste mohli skutečně vědět, co dělá tuto věc a jak.
Potřebné materiály:
- Arduino Nano
- Servomotor SG90 - 2Nos
- Telefon Android se slušným fotoaparátem
- Modul Bluetooth HC-05 / HC-06
- Počítač pro programování
- 3D tiskárna (volitelně)
- 9V baterie
3D tisk požadovaných dílů (volitelně):
Abychom mohli mobilní telefon otáčet a naklánět, potřebujeme nějaké mechanické konstrukce, jako je držák mobilu a několik držáků serva. K výrobě můžete použít lepenku, protože mám 3D tiskárnu, rozhodl jsem se tyto části vytisknout 3D.
3D tisk je úžasný nástroj, který může hodně přispět při stavbě prototypových projektů nebo při experimentování s novými mechanickými vzory. Pokud jste dosud neobjevili výhody 3D tiskárny nebo jak funguje, můžete si přečíst Průvodce pro začátečníky po 3D tisku.
Pokud vlastníte nebo máte přístup k 3D tiskárně, můžete soubory STL, které si můžete stáhnout odtud, přímo vytisknout a sestavit. Několik částí, jako je držák mobilního telefonu, však může vyžadovat určité úpravy na základě rozměrů vašeho telefonu. Navrhl jsem to pro svůj mobilní telefon MOTO G. K tisku všech částí jsem použil velmi základní tiskárnu. Tiskárna je FABX v1 od společnosti 3ding, která je dostupná za dostupnou cenu s objemem tisku 10 cm3. Levná cena přichází s kompromisem s nízkým rozlišením tisku a bez SD karty nebo funkce obnovení tisku. K tisku souborů STL používám software s názvem Cura. Nastavení, které jsem použil k tisku materiálů, jsou uvedeny níže, můžete je použít stejné nebo je změnit na základě vaší tiskárny.
Jakmile vytisknete všechny potřebné materiály, můžete je zajistit na místě pomocí šroubů a horkého lepidla. Po dokončení montáže by to mělo vypadat nějak takto níže.
Schéma a hardware:
Okruh pro tento projekt Sledování obličeje na chytrém telefonu je zobrazen na obrázku níže:
Obvod se skládá ze dvou servomotorů, z nichž jeden slouží k pohybu mobilního telefonu doleva / doprava a druhý slouží k naklánění mobilního telefonu nahoru / dolů. Směr, kterým se má servo pohybovat, bude dávat pokyny Arduino Nano, které samo získává informace z modulu Bluetooth (HC-05). Celý obvod je napájen 9V baterií.
Tento obvod lze snadno připojit na prkénko, nebo je můžete také pájet na malé desce Perf, jako jsem to udělal zde.
Nastavení aplikace pro Android:
Jak jsem řekl dříve, hlavním mozkem pracujícím za tímto projektem je tato aplikace pro Android. Tato aplikace pro Android byla vyvinuta pomocí Processing Android. Tuto aplikaci můžete přímo nainstalovat do svého mobilního telefonu a spustit ji podle níže uvedených kroků.
- Stáhněte si soubor APK odtud.
- Zapněte obvod uvedený výše.
- V nastavení telefonu vyhledejte modul Bluetooth s názvem „HC-05“
- Pokud jste pojmenovali něco jiného než „HC-05“, změňte jej zpět na HC-05, protože až poté bude aplikace fungovat.
- Spárujte s modulem Bluetooth heslo „1234“ nebo „0000“.
- Nyní spusťte aplikaci v režimu na výšku. Měli byste vidět obrazovku fotoaparátu a také „Připojeno k: HC-05“ v horní části obrazovky.
- Zkuste fotoaparát přesunout na obličej a na jeho horní straně by se mělo objevit zelené pole a jeho poloha se také zobrazí v levém horním rohu obrazovky, jak je znázorněno níže.
Tento projekt sledování obličeje Arduino můžete posunout na další úroveň tím, že přinesete spoustu vylepšení, pro které nebudete muset kódovat svou vlastní aplikaci pro Android. Vytvoření aplikace pro Android může znít obtížně, ale věřte mi, že pomocí Zpracování se to naučíte za chvilku. Kompletní kód zpracování, který se používá k vytvoření této aplikace, si můžete stáhnout zde. Svou vlastní kreativitou můžete pokročit. V níže uvedených projektech se dozvíte více o zpracování:
- Virtuální realita pomocí Arduina a zpracování
- Ping Pong hra pomocí Arduina
- Rádio FM ovládané chytrým telefonem pomocí zpracování.
- Radarový systém Arduino využívající zpracování a ultrazvukový senzor
Programování vašeho Arduina:
Aplikace pro Android detekuje obličej a jeho polohu na obrazovce; poté se rozhodne, kterým směrem by se měl pohybovat, na základě polohy obličeje, aby se obličej dostal do středu obrazovky. Tento směr je poté odeslán do Arduina prostřednictvím modulu Bluetooth.
Program Arduino pro tento projekt je poměrně jednoduchý, musíme pouze řídit směr dvou servomotorů na základě hodnot přijatých z modulu Bluetooth. Kompletní kód lze nalézt na konci tohoto tutoriálu, jsem také vysvětlil několik důležitých řádků níže.
Níže uvedený řádek kódu navazuje sériové spojení s piny D12 jako RX a D11 jako TX. Proto musí být pin D12 připojen k TX modulu BT a pin D11 k RX modulu BT.
SoftwareSerial cam_BT (12, 11); // RX, TX
Poté jsme inicializovali modul Bluetooth s přenosovou rychlostí 9600. Ujistěte se, že modul pracuje také se stejnou přenosovou rychlostí. Jinak to odpovídajícím způsobem změňte.
cam_BT.begin (9600); // zahájit komunikaci Bluetooth na 9600 baudrate cam_BT.println ("Připraveno k přijímání příkazů");
Pod řádkem se čte, co přichází přes modul Bluetooth. Data se ukládají také do proměnné „BluetoothData“.
if (cam_BT.available ()) // Číst, co přichází přes Bluetooth {BluetoothData = cam_BT.read (); Serial.print ("Příchozí z BT:"); Serial.println (BluetoothData); }
Na základě dat přijatých z Bluetooth je řízen směr motoru. Chcete-li motor otočit doleva, motor se sníží o hodnotu 2 ze své předchozí polohy. Tuto hodnotu můžete zvýšit o 2 až 4 nebo 6, pokud potřebujete, aby se paže pohybovala rychleji. Mohlo by však dojít k několika trhnutím, které způsobí nestabilitu fotoaparátu.
if (BluetoothData == 49) // Odbočte doleva {pos1 + = 2; servo1.write (pos1);} if (BluetoothData == 50) // Odbočit doprava {pos1- = 2; servo1.write (pos1);} if (BluetoothData == 51) // Turn Up {pos2- = 2; servo2.write (pos2);} if (BluetoothData == 52) // Turn Down {pos2 + = 2; servo2.write (pos2);}
Pracovní:
Jakmile jsme připraveni na hardware, kód a aplikaci pro Android, je čas na nějakou akci. Jednoduše zapněte napájení Arduina a otevřete aplikaci pro Android. Aplikace se automaticky připojí k modulu Bluetooth HC-05 (musí se jmenovat HC-05) a počká na detekci obličeje. Jednoduše vložte telefon do našeho mobilního držáku a posaďte se před něj. Měli byste si všimnout, že vaše servomotory pohybují telefonem tak, aby váš obličej byl umístěn uprostřed obrazovky. Nyní se pohybujte v dosahu fotoaparátu a váš mobilní telefon bude sledovat vaše pohyby. Můžete to také zkusit umístěním a přesunutím libovolného obrázku.
Kompletní fungování projektu je uvedeno ve videu níže. Můžete toho hodně postavit