- Požadavky:
- Stahování a instalace softwarových programů:
- Hardwarová část Arduino a schéma zapojení:
- Část softwaru Arduino:
- Mobilní aplikace pro Android pro ultrazvukový radar:
- Pracovní vysvětlení:
Jedná se o zajímavý projekt, ve kterém zkoumáme sílu zařízení Arduino a Android k vytvoření zařízení pro sledování, které používá Arduino a Ultra Sonic Sensor k vysílání informací do mobilní aplikace (Android) pomocí Bluetooth.
Bezpečnost a zabezpečení je naším hlavním zájmem od věků. Instalace bezpečnostní kamery, která má noční režim s možností naklonění a otočení, vypálí do našich kapes velkou díru. Vytvořme tedy ekonomické zařízení, které funguje téměř stejně, ale bez jakýchkoli video funkcí.
Toto zařízení snímá objekty pomocí ultrazvukového senzoru, a proto může pracovat i v noci. Také montujeme americký (Ultra Sonic) senzor přes servomotor, tento servomotor lze nastavit buď na automatické otáčení pro skenování oblasti, nebo jej lze otáčet ručně pomocí naší mobilní aplikace, abychom mohli ultrazvukový senzor zaostřit náš požadovaný směr a cítit předměty přítomné tam. Veškeré informace snímané americkým senzorem budou vysílány do našeho chytrého telefonu pomocí modulu Bluetooth (HC-05). Bude to fungovat jako sonar nebo radar.
Zajímavé, že?…. Pojďme se podívat, co bychom od tohoto projektu požadovali.
Požadavky:
Hardware:
- Napájení + 5 V (pro napájení používám svoji (další) desku Arduino)
- Arduino Mega (Můžete použít cokoli od profesionálního mini po Yun)
- Servomotor (jakékoli hodnocení)
- Bluetooth modul (HC-05)
- Ultrazvukový senzor (HC-SR04)
- Nepájivá pole (není povinné)
- Připojovací vodiče
- Android pro mobilní zařízení
- Počítač pro programování
Software:
- Software Arduino
- Android SDK
- Zpracování Androidu (vytvoření mobilní aplikace)
Jakmile budeme připraveni na naše materiály, začneme stavět hardware. Tento návod jsem rozdělil na část Arduino a část Processing pro snadné pochopení. Lidé, kteří začínají se zpracováním, se nemusí příliš bát, protože kompletní kód je uveden na konci tutoriálu, který lze jako takový použít.
Stahování a instalace softwarových programů:
Arduino IDE lze nainstalovat zde. Stáhněte si software podle svého OS a nainstalujte jej. Arduino IDE vyžaduje ke komunikaci s hardwarem Arduino ovladač. Tento ovladač by se měl nainstalovat automaticky, jakmile připojíte desku k počítači. Zkuste nahrát blikající program z příkladů, abyste se ujistili, že je Arduino funkční.
Processing IDE lze nainstalovat zde. Zpracování je vynikající open source aplikace, kterou lze použít pro mnoho věcí, má různé režimy. V režimu „Java Mode“ můžeme vytvářet počítačové aplikace systému Windows (soubory.EXE) a v režimu „Android“ můžeme vytvářet mobilní aplikace pro Android (soubory.APK). Má také další režimy, jako je „režim Python“, do kterých můžete psát programy v Pythonu.. Tento výukový program nebude pokrývat základy zpracování, takže pokud se chcete naučit programování v Javě nebo zpracování na tomto skvělém kanálu YouTube zde.
Hardwarová část Arduino a schéma zapojení:
Tento projekt zahrnuje mnoho komponent, jako je servomotor, modul Bluetooth, ultrazvukový senzor atd. Proto, pokud jste úplným začátečníkem, bylo by doporučeno začít s nějakým základním tutoriálem, který tyto komponenty zahrnuje, a pak se sem vrátit. Podívejte se zde na naše různé projekty týkající se servomotoru, modulu Bluetooth a ultrazvukového senzoru.
Všechny komponenty nejsou napájeny samotným Arduinem, protože servomotor, Bluetooth modul a americký senzor dohromady čerpají hodně proudu, který Arduino nebude moci napájet. Proto je bezpodmínečně vhodné použít jakékoli externí napájení + 5V. Pokud nemáte na dosah externí napájení + 5V, můžete komponenty sdílet mezi dvěma deskami Arduino, jak jsem to udělal já. Připojil jsem napájecí lišty Servos k další desce Arduino (červená barva) a připojil jsem Bluetooth modul HC-05 a ultrazvukový senzor HC-SR04 k mega Arduino. UPOZORNĚNÍ: Zapnutí všech těchto modulů pomocí jedné desky Arduino způsobí zhoršení regulátoru napětí Arduino.
Schéma připojení pro tento projekt sonaru založeného na Arduinu je uvedeno níže:
Po provedení připojení namontujte americký senzor na váš servomotor, jak je znázorněno níže:
K připevnění senzoru jsem použil malý plastový kus, který jsem měl v haraburdí, a dvojitou boční pásku. Můžete přijít s vlastním nápadem, jak udělat totéž. Na trhu jsou také k dispozici držáky serv, které lze použít pro stejný účel.
Jakmile je servo připojeno a jsou uvedena připojení, mělo by to vypadat nějak takto.
Pokud dojde k chybnému připojení, postupujte podle schémat nahoře. Nyní pojďme začít programovat Arduino Mega pomocí Arduino IDE.
Část softwaru Arduino:
Musíme napsat náš kód, abychom mohli vypočítat vzdálenost mezi objektem a snímačem Ultra Sonic a odeslat jej do naší mobilní aplikace. Musíme také napsat kód pro náš servomotor, který zametá a také se ovládá z dat přijatých modulem Bluetooth. Ale nebojte se, program je mnohem jednodušší, než si dokážete představit, a to díky Arduinu a jeho knihovnám. Celý kód je uveden níže v části věnovaná kódu.
Níže uvedená funkce slouží k tomu, aby se servomotor automaticky pohyboval zleva doprava (170 až 10) a znovu zprava doleva (10 až 170). K dosažení stejných se používají dvě smyčky for . Funkce us () se nazývá uvnitř obou funkcí pro výpočet vzdálenosti mezi senzorem a objektem a její přenos do Bluetooth. Je dáno zpoždění 50 ms, aby se servo pomalu otáčelo. Čím pomaleji se motor otáčí, tím přesnější jsou vaše hodnoty.
// ** Funkce pro zametání serva ** // void servofun () {Serial.println ("Sweeping"); // pro ladění pro (posc = 10; posc <= 170; posc ++) // Použití 10 až 170 stupňů je bezpečné než 0 až 180, protože některé servo nemusí fungovat v extrémních úhlech {servo.write (posc); // nastavení polohy zpoždění servomotoru (50); nás(); // změřte vzdálenost objektů pomocí amerického senzoru} for (posc = 170; posc> = 10; posc--) {servo.write (posc); zpoždění (50); nás(); // změřte vzdálenost objektů pomocí amerického senzoru} Serial.println ("Scan Complete"); // pro debugging flag = 0; } // ** Konec funkce zametání serva ** //
Jak již bylo řečeno, servomotor lze ovládat také ručně z chytrého telefonu. Jednoduše přejetím prstem doprava se motor pohne doprava a přejetím doleva se motor pohne doleva. Výše uvedená funkce se používá k dosažení stejného. Anděl servomotoru bude přímo přijat modulem Bluetooth a uložen do proměnné BluetoothData , poté je servo umístěno v tomto konkrétním andělu pomocí linkového servo.write (BluetoothData).
// ** Funkce pro ruční ovládání serva ** // void manualservo () {us (); // Získejte hodnotu od uživatele a ovládejte servo if (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Napsáno"); if (BluetoothData == 'p') {flag = 0; }}} // __ Konec funkce ručního ovládání __ //
Vzdálenost přítomen před objektem se vypočítá níže funkcí. Funguje s jednoduchými vzorci, které Speed = Distance / time. Protože víme, že rychlost americké vlny a čas potřebný, vzdálenost lze vypočítat pomocí výše uvedených vzorců.
// ** Funkce pro měření vzdálenosti ** // void us () {int duration, distance; digitalWrite (trigPin, HIGH); delayMicroseconds (1000); digitalWrite (trigPin, LOW); duration = pulseIn (echoPin, HIGH); vzdálenost = (doba / 2) / 29,1; // Vypočítá vzdálenost od senzoru if (vzdálenost <200 && vzdálenost> 0) Blueboy.write (vzdálenost); } // __ Funkce měření vzdálenosti na konci __ //
Pokud máte v programu jakékoli pochybnosti, můžete pro své dotazy použít sekci komentářů. Jakmile budeme s naším kódem připraveni, můžeme jej okamžitě vypsat do našeho hardwaru. Monitorovací zařízení ale nezačne fungovat, dokud nebude připojeno k aplikaci pro Android. Zkontrolujte také Video na konci pro úplnou práci.
Mobilní aplikace pro Android pro ultrazvukový radar:
Pokud si nechcete vytvořit vlastní aplikaci a místo toho si jen chcete nainstalovat stejnou aplikaci použitou v tomto kurzu, můžete postupovat podle níže uvedených kroků.
1. Soubor APK si můžete přímo stáhnout z níže uvedeného odkazu. Tento soubor APK je vytvořen pro Android verze 4.4.2 a vyšší (Kitkat a výše). Extrahujte soubor APK ze souboru zip.
Aplikace pro Android pro ultrazvukový radar
2. Přeneste soubor.Apk z počítače do mobilního telefonu.
3. Povolte instalaci aplikace z neznámých zdrojů v nastavení systému Android.
4. Nainstalujte aplikaci.
Pokud bude úspěšně nainstalována, najdete v telefonu nainstalovanou aplikaci s názvem „Zelobt“, jak je uvedeno níže:
Pokud jste nainstalovali tento soubor APK, můžete přeskočit následující část a přejít na další část.
Programování vlastní aplikace pomocí zpracování:
Buď můžete použít výše uvedený soubor.APK, nebo si můžete vytvořit vlastní aplikaci pomocí Zpracování, jak je vysvětleno zde. S malými znalostmi programování je také velmi snadné napsat vlastní kód pro aplikaci pro Android. Pokud však právě začínáte, není vhodné začít s tímto kódem, protože je trochu vyšší než úroveň pro začátečníky.
Tento program používá dvě knihovny, a to „knihovnu Ketai“ a „knihovnu ControlP5“ . Knihovna ketai se používá k ovládání veškerého hardwaru přítomného v našem mobilním telefonu. Tato knihovna umožňuje snadný přístup k úrovním nabití baterie, hodnot senzorů blízkosti, hodnot senzorů akcelerometru, možností ovládání Bluetooth atd. V tomto programu používáme tuto knihovnu k navázání komunikace mezi telefony Bluetooth a Arduino Bluetooth (HC-05). „ControlP5 knihovna“ se používá pro vykreslování grafů pro náš radarový systém.
Kompletní android program je připojen, můžete si jej stáhnout zde.
UPOZORNĚNÍ: Nezapomeňte nainstalovat výše uvedené knihovny a nekopírujte samotnou část kódu, protože kód importuje obrázky z datové složky, která je uvedena ve výše uvedené příloze. Proto stahujte a používejte pouze to.
Jakmile dokončíte programovací část a úspěšně ji zkompilujete, můžete svůj mobilní telefon přímo připojit k počítači pomocí datového kabelu a kliknutím na tlačítko přehrávání aplikaci ztlumit na svůj mobilní telefon. Zkontrolujte také naše další zpracovatelské projekty: Ping Pong Game využívající Arduino a FM rádio ovládané chytrým telefonem pomocí Processing.
Pracovní vysvětlení:
Nyní jsme připraveni na naši hardwarovou a softwarovou část. Zapněte hardware a spárujte mobil s modulem Bluetooth. Po spárování otevřete aplikaci „Zelobt“, kterou jsme právě nainstalovali, a nyní chvíli počkejte a měli byste si všimnout, že se váš modul Bluetooth (HC-05) automaticky připojuje k vašemu chytrému telefonu. Po navázání připojení se zobrazí následující obrazovka:
V horní části obrazovky si můžete všimnout, že je připojeno k: Název zařízení (hardwarová adresa). Také zobrazuje aktuální anděl servomotoru a vzdálenost mezi americkým senzorem. Na základě naměřené vzdálenosti se na červeném pozadí také vynese modrý graf. Čím blíže je objekt, tím vyšší je modrá oblast. Graf měřený, když jsou některé objekty umístěny blízko, je také zobrazen na druhém obrázku výše.
Jak již bylo řečeno, servomotor můžete ovládat také z mobilní aplikace. Chcete-li to provést, jednoduše klikněte na tlačítko stop. Tím zabráníte automatickému zametání serva. Ve spodní části obrazovky najdete také kruhové kolečko, které se při přejetí prstem bude otáčet ve směru hodin nebo proti směru hodinových ručiček. Posunutím tohoto kola můžete také zajistit, aby se váš servomotor otočil v daném směru. Kolečko a graf aktualizované při přejetí prstem jsou zobrazeny na obrázku níže.
Arduino kód je uveden níže a soubor APK pro aplikaci Android je zde. Fungování celého projektu je uvedeno ve videu níže. Doufám, že jste pochopili projekt. Pokud máte nějaké dotazy, použijte prosím sekci komentářů níže.