Obsah:

Hlasem ovládané Android Mood Light: 11 kroků (s obrázky)
Hlasem ovládané Android Mood Light: 11 kroků (s obrázky)

Video: Hlasem ovládané Android Mood Light: 11 kroků (s obrázky)

Video: Hlasem ovládané Android Mood Light: 11 kroků (s obrázky)
Video: Zavřete oči a poslouchejte 😂😂😂 2024, Listopad
Anonim
Hlasem ovládané Android Mood Light
Hlasem ovládané Android Mood Light
Hlasem ovládané Android Mood Light
Hlasem ovládané Android Mood Light

Potřeboval jsem vytvořit třídu pro naši místní skupinu Maker. Něco, co zaručilo i prvním návštěvníkům jednoznačnou výhru a velkou odměnu bez muss, bez starostí a bez specializovaných nástrojů nebo materiálů. Studenti si potřebovali odnést domů něco funkčního i zábavného, co mohli ukázat svým přátelům, udělat to za jedno odpoledne - a muselo to být zdarma. (A doufejme, že je přivedete zpět pro další, nebo pro příbuznou třídu) Vytvořil jsem tedy tento projekt.

Proměňte svůj starý telefon nebo tablet v hlasově ovládanou světelnou a stavovou desku. VOLNÝ, UVOLNIT!!! Snadno to zvládnete za jedno odpoledne - NENÍ POTŘEBA ZKUŠENOST (neděle, neděle neděle)

Kdokoli se zařízením Android a přístupem k počítači může naprogramovat hlasem ovládanou aplikaci za hodinu nebo dvě. Využívá bezplatnou aplikaci MIT App Inventor, takže žádné náklady. Mohou si ji snadno přizpůsobit a poté přidat vlastní šikovnost do krytiny nebo pouzdra. A mohou stejnou věc přivést zpět do třídy a několik měsíců pokračovat v rozšiřování a zlepšování svých projektů.

Projekt poskytuje dobré výchozí místo pro programování, ale není dostačující ke skutečnému uspokojení - je navržen tak, aby přivedl lidi zpět do další třídy. Zlé, já vím. Ale to vede lidi k Arduinu, což vede k Raspberry Pi, což vede k elektronice a pájení. Pokud jsou spokojeni se základní aplikací a nechtějí dál programovat, mohou si ji vytvořit na míru, když se vrátí do skupiny Maker pro kurzy látky a šití, papíru a kresby, zpracování dřeva a rámů. tvorba nebo dokonce 3D design a tisk.

Základní požadavky

  • Starý telefon nebo tablet Android (aktuálně 2.3 nebo novější)
  • Přístup na internet
  • Účet App Inventor (zdarma)
  • Ideálně počítač s nainstalovaným prohlížečem Chrome

Příprava

Musíte být obeznámeni s programem App Inventor společnosti MIT. Existuje o tom spousta instrukcí (některé docela pokročilé). Ale nejlepší místo, kde se učit App Inventor, je na jejich webových stránkách a skvělé sérii návodů. Většina lidí se naučí základní pojmy během několika minut. Koneckonců je to stejný obchod, který vytvořil programovací prostředí Scratch, a původní programovací aplikaci LEGO Mindstorms. Pokud jste příliš staří na to, abyste o nich věděli, požádejte o pomoc své dítě ve školní škole.

Pokud učíte třídu, pravděpodobně byste měli znát většinu komponent a příkazů. Někdo ve třídě je téměř zaručen, že požádá o něco jiného, než je uvedeno v tomto kurzu. Můžete se držet skriptu a dělat pouze to, co je zde uvedeno. Ale všiml jsem si, že získáváme mnohem vyšší míru vracejících se návštěvníků, když můžeme každému pomoci vytvořit jedinečnou verzi s „pokročilými“funkcemi, které může ukázat svým přátelům.

Seznamte se tedy se základy a poté se vraťte na podrobný návod.

Krok 1: Navrhnout a nastavit

Image
Image
Design a nastavení
Design a nastavení

Vytvořte plátno

  • V režimu „Návrhář“přejděte na paletu „Kreslení a animace“.
  • Přetáhněte „plátno“na obrazovku.
  • Nastavte šířku a výšku plátna na „Vyplnit nadřízeného“
  • V dalších krocích vytvoříme kód pro změnu barvy plátna.

Vytvořte rozpoznávání hlasu

  • Z palety „Média“přetáhněte „SpeechRecognizer“na obrazovku.
  • Toto je součást, která bude poslouchat naše hlasové příkazy.
  • Tuto položku nakonfigurujeme později.

Vytvořte schopnost řeči

  • Také z palety „Média“přetáhněte objekt „TextToSpeech“na obrazovku.
  • Tuto součást použijeme k vytváření mluvených výzev pro uživatele.
  • Tato položka bude také nakonfigurována později v tomto kurzu.

Právě jsme nainstalovali základní komponenty pro naši aplikaci - vše během několika sekund. Nyní přejdeme k jejich konfiguraci a kódování. K tomu musíme přepnout do režimu „Bloky“. Podívejte se do pravého horního rohu obrazovky a klikněte na tlačítko Bloky. Pokud se potřebujete dostat zpět do režimu návrháře, stačí kliknout na tlačítko Návrhář.

Krok 2: Spusťte SpeechRecognizer

Spusťte SpeechRecognizer
Spusťte SpeechRecognizer

PAMATUJTE: Přepněte do režimu „BLOCKS“: Nezapomeňte přepnout do blokového režimu kliknutím na tlačítko v pravém horním rohu obrazovky. Zobrazí se nová sada palet. Tyto palety a bloky použijeme k programování náladového světla.

Chceme začít naslouchat příkazům, jakmile se aplikace otevře. Za tímto účelem „zavoláme“objekt SpeechRecognizer, když se „inicializuje první obrazovka“. AppInventor pro nás automaticky vytvořil „obrazovku“. Každá aplikace má alespoň jednu obrazovku, některé několik. Potřebujeme pouze výchozí.

Inicializujte obrazovku

  • Klikněte na objekt Screen v nabídce vlevo.
  • Z rozbalovací nabídky přetáhněte objekt „When Screen Initialized do“na scénu.

Spusťte rozpoznávání řeči

  • V levé nabídce klikněte na objekt „SpeechRecognizer“
  • Přetáhněte objekt „call SpeechRecognizer getText“na pódium
  • Připojte tento příkaz do bloku inicializovaného obrazovkou

Nyní program automaticky začne poslouchat hlasové příkazy (getText), jakmile se načte (inicializuje) první obrazovka. Dále řekneme počítači, co má dělat, když slyší příkazy.

Krok 3: Vytvoření rozhodovacího stromu

Vytvoření rozhodovacího stromu
Vytvoření rozhodovacího stromu
Vytvoření rozhodovacího stromu
Vytvoření rozhodovacího stromu
Vytvoření rozhodovacího stromu
Vytvoření rozhodovacího stromu

Počítač nyní poslouchá hlasové příkazy, takže příště musíme určit, co dělat, když uslyší určitá slova. V tomto projektu budeme většinou používat názvy barev jako modrá, zelená a žlutá. Jakmile počítač tato slova uslyší, změní barvu objektu Canvas.

Provádíme to testováním, abychom zjistili, zda se hlasový příkaz shoduje se zadanými slovy. Pokud hlasový příkaz odpovídá předem definovanému slovu, pak chceme, aby počítač provedl určité akce - například změnu barvy plátna a poskytnutí slovní zpětné vazby. Pokud není nalezena shoda, musíme uživateli sdělit, že se něco pokazilo.

Začneme vytvořením prázdného rámečku pro uložení všech testů a akcí.

Co dělat po získání hlasového příkazu

  • V nabídce vlevo klikněte na SpeechRecognizer
  • Přetáhněte blok „Po získání textu“na scénu
  • (Umístěte blok přímo na jeviště, NE do předchozího bloku)

Vytvořte testovací sloty

  • Klikněte na Ovládání ve vestavěné sekci levé nabídky
  • Přetáhněte blok příkazů If-Then na plochu
  • Zapojte blok If-then do bloku afterGettingText
  • Klikněte na modrou ikonu ozubeného kola v bloku If-then
  • Z vyskakovacího okna, které se objeví, přetáhněte několik dílčích bloků Else-If do hlavního bloku if-then
  • Také přetáhněte jeden dílčí blok na konec seznamu

V dalším kroku začneme tyto prázdné sloty zaplňovat testy a akcemi - srdcem programu.

Krok 4: Test na shody

Test na shody
Test na shody
Test na shody
Test na shody
Test na shody
Test na shody
Test na shody
Test na shody

Aplikace naslouchá mluveným příkazům a existuje rámec, který lze vyplnit testy těchto hlasových příkazů. Pojďme tedy definovat testy. Nejprve řekneme počítači, aby otestoval, zda jsou dva objekty stejné, a poté definujeme první objekt jako hlasový příkaz a druhý objekt jako kus textu. Zde vytvoříme pouze jeden test, ale stejnou technikou se vytvoří šest nebo deset nebo sto testů. Pokud je první test shodný, program provede akci, jinak přejde na další test a tak dále.

Vytvořte test rovnosti

  • Klikněte na Logiku v sekci Vestavěné v levé nabídce
  • Přetáhněte test = (rovná se) na plochu

Nastavte první položku na hlasový výsledek

  • V nabídce vlevo klikněte na SpeechRecognizer
  • Přetáhněte blok výsledků na scénu
  • Zapojte SpeechRecognizer. Result do levého slotu testovacího bloku Rovnost

Nastavte druhou položku na textový blok

  • Klikněte na Text v integrované sekci levé nabídky
  • Přetáhněte na blok základní blok textového pole
  • V tomto textovém bloku zadejte slovo, které chcete otestovat
  • Zapojte textový blok do pravého slotu testovacího bloku Rovnost

Umístěte test na správné místo

  • Nyní zapojte celý blok Equals-Test do IF slotu rozhodovacího stromu
  • V dalších krocích přiřadíme některé akce, které je třeba provést, když je test pravdivý

PŘÍKLAD: Pokud uživatel řekne „modrý“, program zachytí toto slovo do koše „výsledku“. Poté otestuje, zda se výsledné slovo (modré) shoduje se slovem, které jste zadali do textového bloku. Pokud se shoduje, program pak provede akce v části "potom" bloku (akce definujeme v dalších krocích). Pokud hlasový příkaz neodpovídá textu, program přejde k dalšímu testu, dokud nenajde shodu nebo nedosáhne konečného příkazu „něco není v pořádku“.

POZNÁMKA: Hlasový příkaz nemusí mít barvu. V ukázkovém kódu používáme slova „tmavý“a „světlý“ke spuštění černé a bílé. Stejně snadno bychom mohli použít slova jako:

  • Máma/táta/Billy/Suzy
  • Šťastný/Smutný/Rozzlobený/Hladový
  • Spánek/studium/vysílání/večírek

Krok 5: Poskytněte slovní zpětnou vazbu

Poskytněte slovní zpětnou vazbu
Poskytněte slovní zpětnou vazbu
Poskytněte slovní zpětnou vazbu
Poskytněte slovní zpětnou vazbu

Nyní musíme vytvořit nějaké akce, kdy hlasový příkaz odpovídá testu. Nejprve řekneme uživateli, pro kterou barvu si program myslí, že našel shodu.

Promluvte si s blokem

  • V levé nabídce klikněte na objekt TextTo Speech
  • Přetáhněte blok Speak. Message na jeviště

Napište, co chcete

  • Klikněte na blok textu ve vestavěné sekci levého menu
  • Přetáhněte na plochu základní prázdný textový blok
  • Zadejte frázi, kterou chcete říci

Sestavte díly

  • Zapojte vyplněný textový blok do bloku Speak. Message
  • Připojte sestavený blok Speak. Messageblock do slotu Then

Nyní, když program detekuje shodu s hlasovým příkazem, program vysloví frázi, kterou právě vyslovujete

na stroji. Buďte kreativní, pokud chcete:

  • Správně řekl Fred, je červená
  • Bum, hurá, je modrá
  • Zelená, opravdu? To není tvůj barevný kámo.

Krok 6: Nastavte barvu plátna

Nastavte barvu plátna
Nastavte barvu plátna
Nastavte barvu plátna
Nastavte barvu plátna
Nastavte barvu plátna
Nastavte barvu plátna

Nyní konečně změníme barvu plátna tak, aby odpovídala mluvenému příkazu.

Nastavte barvu pozadí plátna

  • V levé nabídce klikněte na objekt Canvas
  • Přetáhněte blok SetCanvasBackgroundColorTo na plochu

Vyberte vzorník barev

  • Klikněte na objekt Barva v sekci Vestavěné v levé nabídce
  • Přetáhněte na scénu barevný vzorník

Sestavte díly

  • Zapojte vzorník barev do bloku SetBackgroundColor
  • Zapojte sestavený blok do slotu Then příkazu If-then (pod hovořícím blokem)

Napěňte, opláchněte, opakujte

Pravděpodobně je vhodné vyzkoušet, jak program funguje. Načtěte jej do svého zařízení Android a vyzkoušejte jej, než příkazy 10krát duplikujete.

Nyní, když víte, že základní kód funguje, duplikujte testy a akce pro každou barvu, kterou chcete vybrat.

Právě jste vytvořili základní rámec pro program. Když program detekuje shodu pro hlasový příkaz, vysloví určenou frázi a poté změní barvu plátna na zadanou barvu. Můžete také zadat jednotlivé hodnoty RGB a alfa, takže můžete vytvořit příkaz jako více-modrá a méně červená. Můžete také vytvořit příkaz k nastavení náhodné barvy, nechat barvy pulzovat a mizet nebo procházet duhou.

Krok 7: Chytání chyb bez shody

Chytání chyb bez shody
Chytání chyb bez shody

Ale co když hlasový příkaz nenalezne shodu - místo toho jste chybně řekli nebo kýchli? K tomu slouží závěrečné prohlášení Else. Pokud všechny ostatní testy selžou, program provede akci v tomto příkazu else. Toto prohlášení vytvoříte stejně jako předchozí příkazy (kromě toho, že není potřeba žádný test).

  • Připojte textové pole do bloku SpeakMessage a zapojte jej do posledního slotu else.
  • Řekněte uživateli: „Jejda, nevím, co se snažíš říct - zkuste to prosím znovu.“

Jste téměř hotovi. Nyní je třeba udělat jen několik dalších kroků.

Krok 8: Ruční spuštění rozpoznávání hlasu

Manuální spuštění rozpoznávání hlasu
Manuální spuštění rozpoznávání hlasu

Jakmile byl hlasový příkaz testován a byly provedeny příslušné akce, program přestane poslouchat další příkazy. Existuje mnoho způsobů, jak to obejít, ale většina z nich je pro začátečníky komplikovaná. Zůstaneme tedy u něčeho jednoduchého - dotkněte se obrazovky, aby program začal znovu poslouchat.

  • V levé nabídce klikněte na objekt Canvas
  • Přetáhněte blok whenCanvasTouchDown na jeviště (jako samostatný objekt, nikoli do jiného bloku)
  • V nabídce vlevo klikněte na objekt SpeechRecognizer
  • Přetáhněte blok callSpeechRecognizer. GetText na pódium a zapojte jej do bloku whenCanvasTouchDown

Nyní, kdykoli se dotknete obrazovky, program začne poslouchat hlasový příkaz.

Krok 9: Jak vypadá celý program

Jak vypadá celý program
Jak vypadá celý program

Hotovo - právě jste vytvořili hlasově ovládanou aplikaci Andoid, která změní váš starý telefon nebo tablet na náladu. Pokud máte potíže s uvedením do provozu, stáhněte si v tomto kroku plnou verzi obrázku. Tento obrázek ukazuje celý program a několik doplňků.

Ale jak vidíte, celý program je opravdu spravedlivý

  • zahajovací hovor
  • řada testů a akcí
  • potom restart.

Tento program jen poškrábe povrch toho, co můžete dělat s MIT App Inventor. Existuje mnohem více příkazů a dokonce i příkazy, které jsme použili v tomto projektu, mají možnosti, které jsme nezkoumali. Vezměte si tento základní program a stavte na něm a vytvořte si vlastní přizpůsobené náladové světlo, stavovou desku nebo zobrazovací panel.

Krok 10: Rozšíření a rozbalení

Rozšiřování a rozšiřování
Rozšiřování a rozšiřování
Rozšiřování a rozšiřování
Rozšiřování a rozšiřování
Rozšiřování a rozšiřování
Rozšiřování a rozšiřování
Rozšiřování a rozšiřování
Rozšiřování a rozšiřování

Dobře, udělejme ještě jednu věc, jen pro zábavu. Místo pouhé změny barvy obrazovky si ukažme fotografii. Můžete také zobrazit videa, webové stránky nebo textové zprávy. Hrajte si a bavte se.

  • Přepněte zpět do režimu návrháře kliknutím na tlačítko v pravém horním rohu obrazovky
  • Klikněte na plátno v nabídce vlevo
  • Také klikněte na plátno v nabídce Komponenty (druhý panel zprava)
  • Zobrazí se panel Vlastnosti pro plátno
  • Na panelu Vlastnosti (zcela vpravo) klikněte na Obrázek na pozadí
  • Načtěte fotografii pomocí vyskakovacího dialogového okna
  • Přepněte zpět do režimu bloků
  • Přidejte další příkaz if-then
  • Přidejte test pro příkaz obrázek
  • Přidejte do stromu rozhodování blok setBackgroundImageTo - použijte název fotografie
  • Také přidejte setBackgroundImageK restartování bloku Touchdown - nastavte název na „žádný“

A bum, nyní můžete načítat fotografie a měnit barvu. Možná si budete chtít pohrát s velikostí obrázku. Nebo zkuste načíst objekt videa. Můžete kreslit tvary na plátno nebo vytvářet animace. Můžete zobrazit čísla, slova, grafy - nebo vytvořit několik pláten pro více položek.

Můžete také vytvářet programy pro přístup k vestavěným senzorům vašeho telefonu. Můžete se připojit k dalším aplikacím v telefonu, připojit se k webu a odtud získávat informace a připojit se k dalším zařízením pomocí Bluetooth nebo WiFi.

Nebo použijte neuvěřitelně šikovný IFTT a získejte Alexu nebo jiného asistenta pro nastavení nálady nebo ovládání všech vašich starých zařízení …

Právě jste začali s aplikací MIT App Inventor, ale vidíte, jak snadné a výkonné je její používání. Vydejte se tedy na průzkum a vytvořte si vlastní zobrazovací tabuli.

Krok 11: Pouzdra a kryty

Pouzdra a kryty
Pouzdra a kryty
Pouzdra a kryty
Pouzdra a kryty
Pouzdra a kryty
Pouzdra a kryty

Takže to byla velká zábava, programování aplikace aktivované hlasem. Ale stále to vypadá jako stejný starý telefon nebo tablet - druh nudy. Proč do zařízení nepřidat krytinu nebo pouzdro, aby vypadalo opravdu na míru. Je třeba vzít v úvahu jen několik aspektů:

Pokud zakryjete obrazovku, materiál musí:

  • Mějte dostatek otvorů, aby se váš prst mohl dotknout obrazovky
  • Nebo buďte dostatečně vodiví, abyste přenesli svůj dotek na povrch tabletu

Dobrou možností je síťovina nebo krajka. Oba mění vzhled telefonu, ale umožňují pokožce kontakt s obrazovkou. Některé tenké papíry a plasty typu Mylar propustily dostatek elektřiny, aby se mohly zaregistrovat jako dotek.

  • Pokud kolem něj umístíte rámeček, ujistěte se, že ponecháte dostatek místa pro napájecí kabel.
  • Pokud jej umístíte na zeď, ujistěte se, že je zařízení bezpečně upevněno. Může to být staré a zastaralé, ale stále to funguje - tak to teď nerozbíjejte, když víte, jak to naprogramovat.

Ale toto je úplně jiný předmět, hodnotná a úplná třída a sám poučitelný. A to je skvělý způsob, jak získat nové návštěvníky zpět do vašeho tvůrčího prostoru. Určitě jim tedy řekněte: „Vraťte se na druhou část třídy“.

Šťastné tvoření a buďte k sobě navzájem vynikající.

Doporučuje: