Hlasom ovládané svetlo nálady pre Android: 11 krokov (s obrázkami)
Hlasom ovládané svetlo nálady pre Android: 11 krokov (s obrázkami)
Anonim
Hlasové ovládanie nálady pre Android
Hlasové ovládanie nálady pre Android
Hlasové ovládanie nálady pre Android
Hlasové ovládanie nálady pre Android

Potreboval som vytvoriť triedu pre našu miestnu skupinu Maker. Niečo, čo aj prvým návštevníkom zaručilo jednoznačnú výhru a veľkú odmenu bez múzy, bez rozruchu a bez špeciálnych nástrojov alebo materiálov. Študenti si museli vziať domov niečo funkčné i zábavné, čo mohli predviesť svojim priateľom, zvládli to za jedno popoludnie - a to muselo byť zadarmo. (A dúfajme, že ich prinesiem späť pre ďalšie, alebo pre príbuznú triedu) Vytvoril som teda tento projekt.

Premeňte svoj starý telefón alebo tablet na hlasovo ovládanú svetelnú a stavovú dosku. ZADARMO!!! Jednoduché zvládnutie za jedno popoludnie - NIE JE POTREBNÉ SKÚSENOSŤ (nedeľa, nedeľa nedeľa)

Ktokoľvek so zariadením Android a prístupom k počítaču môže naprogramovať hlasom ovládanú aplikáciu za hodinu alebo dve. Využíva bezplatnú aplikáciu MIT App Inventor, takže nie sú žiadne poplatky. Môžu si ho ľahko prispôsobiť a potom pridať vlastnú šikovnosť krytine alebo puzdru. A môžu priniesť to isté späť do triedy a pokračovať v rozširovaní a zdokonaľovaní svojich projektov niekoľko mesiacov.

Projekt poskytuje dobré štartovacie miesto pre programovanie, ale nie je natoľko, aby skutočne uspokojil - je navrhnutý tak, aby priviedol ľudí späť do ďalšej triedy. Zlé, ja viem. Ale to vedie ľudí k Arduinu, čo vedie k Raspberry Pi, čo vedie k elektronike a spájkovaniu. Ak sú spokojní so základnou aplikáciou a nechcú už programovať, môžu si ju vytvoriť na mieru, keď sa vrátia do skupiny Maker na hodiny látky a šitia, papiera a kresby, práce s drevom a rámu. tvorba alebo dokonca 3D návrh a tlač.

Základné požiadavky

  • Starý telefón alebo tablet Android (v súčasnosti 2,3 alebo novší)
  • Prístup na internet
  • Účet App Inventor (zadarmo)
  • Prednostne je to počítač s nainštalovaným prehliadačom Chrome

Príprava

Musíte byť oboznámení s programom MIT App Inventor. Existuje o tom veľa návodov (niektoré celkom pokročilé). Najlepším miestom na učenie sa App Inventor je však ich webová stránka a vynikajúca séria návodov. Väčšina ľudí sa naučí základné pojmy v priebehu niekoľkých minút. Koniec koncov, je to ten istý obchod, ktorý vytvoril programovacie prostredie Scratch, a pôvodná programovacia aplikácia LEGO Mindstorms. Ak ste príliš starí na to, aby ste o nich vedeli, požiadajte dieťa v miestnej škole, aby vám pomohlo.

Ak učíte triedu, pravdepodobne by ste mali ovládať väčšinu komponentov a príkazov. Niekto v triede je takmer zaručený, že požiada o niečo iné, ako je uvedené v tomto návode. Môžete sa držať scenára a robiť len to, čo je tu uvedené. Všimol som si však, že oveľa častejšie sa vraciame návštevníci, keď môžeme každému pomôcť vytvoriť jedinečnú verziu s „pokročilými“funkciami, ktoré môže ukázať svojim priateľom.

Oboznámte sa teda so základmi a potom sa vráťte k inštruktáži krok za krokom.

Krok 1: Návrh a nastavenie

Image
Image
Dizajn a nastavenie
Dizajn a nastavenie

Vytvorte plátno

  • V režime „Návrhár“prejdite na paletu „Kreslenie a animácia“.
  • Potiahnite „plátno“na obrazovku.
  • Nastavte šírku a výšku plátna na „Vyplniť rodič“
  • V neskorších krokoch vytvoríme kód na zmenu farby plátna.

Vytvorte rozpoznávanie hlasu

  • Na palete „Médiá“presuňte „SpeechRecognizer“na obrazovku.
  • Toto je súčasť, ktorá bude počúvať naše hlasové príkazy.
  • Túto položku nakonfigurujeme neskôr.

Vytvorte schopnosť reči

  • Tiež z palety „Médiá“presuňte objekt „TextToSpeech“na obrazovku.
  • Tento komponent použijeme na vytváranie hovorených výziev pre používateľa.
  • Táto položka bude tiež nakonfigurovaná neskôr v návode.

Práve sme nainštalovali základné komponenty pre našu aplikáciu - všetko za niekoľko sekúnd. Teraz prejdeme k ich konfigurácii a kódovaniu. Na to musíme prepnúť do režimu „Bloky“. Pozrite sa do pravého horného rohu obrazovky a kliknite na tlačidlo Bloky. Ak sa potrebujete vrátiť do režimu návrhára, kliknite na tlačidlo Návrhár.

Krok 2: Spustite SpeechRecognizer

Spustite SpeechRecognizer
Spustite SpeechRecognizer

NEZABUDNITE: Prepnite do režimu „BLOCKS“: Nezabudnite prepnúť do režimu blokovania kliknutím na tlačidlo v pravom hornom rohu obrazovky. Zobrazí sa nová sada paliet. Tieto palety a bloky použijeme na programovanie náladového svetla.

Chceme začať počúvať príkazy hneď, ako sa aplikácia otvorí. Za týmto účelom „zavoláme“objekt SpeechRecognizer, keď sa „inicializuje“prvá obrazovka. Aplikácia AppInventor pre nás automaticky vytvorila „obrazovku“. Každá aplikácia má najmenej jednu obrazovku, niektoré niekoľko. Potrebujeme iba predvolený.

Inicializujte obrazovku

  • V ľavej ponuke kliknite na objekt Obrazovka.
  • V rozbaľovacej ponuke presuňte objekt „Keď je obrazovka inicializovaná“na scénu.

Spustite Rozpoznávač reči

  • V ľavej ponuke kliknite na objekt „SpeechRecognizer“
  • Presuňte objekt „call SpeechRecognizer getText“na pódium
  • Pripojte tento príkaz do bloku inicializovaného obrazovkou

Teraz program automaticky začne počúvať hlasové príkazy (getText), akonáhle sa načíta (inicializuje) prvá obrazovka. Potom počítaču povieme, čo má robiť, keď počuje príkazy.

Krok 3: Vytvorenie rozhodovacieho stromu

Vytvorenie rozhodovacieho stromu
Vytvorenie rozhodovacieho stromu
Vytvorenie rozhodovacieho stromu
Vytvorenie rozhodovacieho stromu
Vytvorenie rozhodovacieho stromu
Vytvorenie rozhodovacieho stromu

Počítač teraz počúva hlasové príkazy, takže potom musíme špecifikovať, čo robiť, keď počuje určité slová. V tomto projekte budeme väčšinou používať farebné názvy ako modrá, zelená a žltá. Keď počítač počuje tieto slová, zmení farbu objektu Canvas.

Vykonáme to testovaním, aby sme zistili, či sa hlasový príkaz zhoduje so zadanými slovami. Ak sa hlasový príkaz zhoduje s vopred definovaným slovom, chceme, aby počítač vykonal určité akcie - napríklad zmenu farby plátna a poskytnutie slovnej spätnej väzby. Ak sa nenájde žiadna zhoda, musíme používateľovi povedať, že sa niečo pokazilo.

Začneme vytvorením prázdneho rámca, ktorý pojme všetky testy a akcie.

Čo robiť po získaní hlasového príkazu

  • V ľavej ponuke kliknite na SpeechRecognizer
  • Pretiahnite blok „Po získaní textu“na pódium
  • (Blok umiestnite priamo na pódium, NIE do predchádzajúceho bloku)

Vytvorte testovacie sloty

  • Kliknite na položku Ovládanie v sekcii Vstavané v ľavej ponuke
  • Presuňte blok príkazov If-Then na plochu
  • Zapojte blok If-then do bloku afterGettingText
  • Kliknite na modrú ikonu ozubeného kolieska v bloku Ak-potom
  • V zobrazenom kontextovom okne presuňte niekoľko podblokov Else-If do hlavného bloku if-then
  • Tiež potiahnite jeden iný subblok na koniec zoznamu

V nasledujúcom kroku začneme zapĺňať tieto prázdne sloty testami a akciami - jadro programu.

Krok 4: Test na zhody

Test na zápasy
Test na zápasy
Test na zápasy
Test na zápasy
Test na zápasy
Test na zápasy
Test na zápasy
Test na zápasy

Aplikácia počúva hovorené príkazy a existuje rámec, ktorý je možné vyplniť testami na tieto hlasové príkazy. Takže teraz definujme testy. Najprv povieme počítaču, aby otestoval, či sú dva objekty rovnaké, a potom definujeme prvý objekt ako hlasový príkaz a druhý objekt ako kus textu. Vytvoríme tu iba jeden test, ale rovnakou technikou sa vytvára šesť alebo desať alebo sto testov. Ak je prvý test zhodný, program vykoná akciu, inak prejde na ďalší test a podobne.

Vytvorte test rovnosti

  • Kliknite na Logiku v sekcii Vstavané v ľavom menu
  • Presuňte test = (rovná sa) na plochu

Nastavte prvú položku na hlasový výsledok

  • V ľavej ponuke kliknite na SpeechRecognizer
  • Presuňte blok výsledku na pódium
  • Zapojte SpeechRecognizer. Result do ľavého slotu testovacieho bloku Rovnosť

Nastavte druhú položku na textový blok

  • Kliknite na text v sekcii Vstavané v ľavom menu
  • Presuňte blok základného textového poľa na plochu
  • Do textového bloku zadajte slovo, ktoré chcete testovať
  • Pripojte textový blok do pravého slotu testovacieho bloku Rovnosť

Vložte test na správne miesto

  • Teraz zapojte celý blok Equals-Test do IF slotu rozhodovacieho stromu
  • V ďalších krokoch priradíme niekoľko akcií, ktoré je potrebné vykonať, keď je test pravdivý

PRÍKLAD: Ak používateľ povie „modré“, program zachytí dané slovo do koša „s výsledkom“. Potom otestuje, či sa výsledné slovo (modré) zhoduje so slovom, ktoré ste zadali do textového bloku. Ak sa zhoduje, program potom vykoná akcie v časti "potom" bloku (akcie definujeme v ďalších krokoch). Ak sa hlasový príkaz nezhoduje s textom, program prejde na ďalší test, kým nenájde zhodu alebo nedosiahne konečné vyhlásenie „niečo nie je v poriadku“.

POZNÁMKA: Hlasový príkaz nemusí mať farbu. V ukážkovom kóde používame na spustenie čiernej a bielej slová „tmavé“a „svetlé“. Rovnako ľahko by sme mohli použiť slová ako:

  • Mama/otec/Billy/Suzy
  • Šťastný/Smutný/Nahnevaný/Hladný
  • Spánok/štúdium/vysielanie/večierok

Krok 5: Poskytnite slovnú spätnú väzbu

Dajte slovnú spätnú väzbu
Dajte slovnú spätnú väzbu
Dajte slovnú spätnú väzbu
Dajte slovnú spätnú väzbu

Teraz musíme vytvoriť niekoľko akcií, keď sa hlasový príkaz zhoduje s testom. Najprv používateľovi povieme, pre ktorú farbu si program myslí, že našiel zhodu.

Hovorte blok, urobte svoje

  • V ľavej ponuke kliknite na objekt TextTo Speech
  • Presuňte blok Speak. Message na pódium

Napíšte, čo chcete

  • Kliknite na blok textu vo vstavanej sekcii ľavého menu
  • Pretiahnite základný prázdny textový blok na plochu
  • Napíšte frázu, ktorú chcete povedať

Zostavte diely

  • Pripojte vyplnený textový blok k bloku Speak. Message
  • Pripojte zostavený blok Speak. Messageblock do zásuvky Potom

Teraz, keď program zistí zhodu s hlasovým príkazom, program vysloví frázu, ktorú práve vyslovujete

napísané na stroji Buďte kreatívni, ak chcete:

  • Správne povedal Fred, je červená
  • Búúúúú, je to modré
  • Zelená, naozaj? To nie je tvoj farebný chlap.

Krok 6: Nastavte farbu plátna

Nastavte farbu plátna
Nastavte farbu plátna
Nastavte farbu plátna
Nastavte farbu plátna
Nastavte farbu plátna
Nastavte farbu plátna

Teraz konečne zmeníme farbu plátna tak, aby zodpovedala vyslovenému príkazu.

Nastaviť farbu pozadia plátna

  • V ľavej ponuke kliknite na objekt Canvas
  • Presuňte blok SetCanvasBackgroundColorTo na plochu

Vyberte vzorkovník farieb

  • Kliknite na objekt Farba v sekcii Vstavané v ľavom menu
  • Pretiahnite vzorkovník farieb na pódium

Zostavte diely

  • Zapojte vzorkovník farieb do bloku SetBackgroundColor
  • Pripojte zostavený blok do slotu Then príkazu If-then (pod blokom hovoriť)

Peňte, opláchnite, opakujte

Toto je pravdepodobne vhodný čas na testovanie fungovania programu. Načítajte ho do svojho zariadenia s Androidom a vyskúšajte ho predtým, ako príkazy 10 -krát duplikujete.

Teraz, keď viete, že základný kód funguje, duplikujte testy a akcie pre každú farbu, ktorú chcete vybrať.

Práve ste vytvorili základný rámec pre program. Akonáhle program zistí zhodu pre hlasový príkaz, vysloví určenú frázu a potom zmení farbu plátna na zadanú farbu. Môžete tiež zadať jednotlivé hodnoty RGB a alfa, aby ste mohli vytvoriť príkaz ako viac-modrá a menej červená. Môžete tiež vytvoriť príkaz na nastavenie náhodnej farby, nechať farby pulzovať a miznúť alebo prechádzať dúhou.

Krok 7: Chytanie chýb bez zhody

Chytanie chýb bez zhody
Chytanie chýb bez zhody

Ale čo keď hlasový príkaz nenájde zhodu - nesprávne ste vyslovili alebo namiesto toho kýchli? Na to slúži záverečné vyhlásenie Else. Keď všetky ostatné testy zlyhajú, program vykoná akciu v tomto vyhlásení else. Tento príkaz vytvoríte rovnako ako predchádzajúce vyhlásenia (okrem toho, že nie je potrebný žiadny test).

  • Pripojte textové pole do bloku SpeakMessage a zapojte ho do posledného slotu else.
  • Povedzte používateľovi, že „Hops, neviem, čo sa pokúšate povedať - skúste to znova.“

Si skoro hotový. Teraz je potrebné vykonať iba niekoľko ďalších krokov.

Krok 8: Manuálne spustenie rozpoznávania hlasu

Manuálne spustenie rozpoznávania hlasu
Manuálne spustenie rozpoznávania hlasu

Po otestovaní hlasového príkazu a vykonaní príslušných akcií program prestane počúvať ďalšie príkazy. Existuje mnoho spôsobov, ako to obísť, ale väčšina z nich je pre začiatočníkov komplikovaná. Zostaneme teda pri niečom jednoduchom - dotykom na obrazovku program začne znova počúvať.

  • V ľavej ponuke kliknite na objekt Canvas
  • Pretiahnite blok whenCanvasTouchDown na pódium (ako samostatný objekt, nie do iného bloku)
  • V ľavej ponuke kliknite na objekt SpeechRecognizer
  • Pretiahnite blok callSpeechRecognizer. GetText na pódium a zapojte ho do bloku whenCanvasTouchDown

Teraz, keď sa dotknete obrazovky, program začne počúvať hlasový príkaz.

Krok 9: Ako vyzerá celý program

Ako vyzerá celý program
Ako vyzerá celý program

Hotovo - práve ste vytvorili hlasom ovládanú aplikáciu Andoid, ktorá zmení váš starý telefón alebo tablet na svetlo nálady. Ak máte problémy s uvedením do prevádzky, stiahnite si v tomto kroku verziu obrázka v plnej veľkosti. Tento obrázok zobrazuje celý program a niekoľko doplnkov.

Ale ako vidíte, celý program je skutočne spravodlivý

  • začínajúci hovor
  • séria testov a akcií
  • potom reštart.

Tento program len poškriabe povrch toho, čo môžete robiť s MIT App Inventor. Existuje oveľa viac príkazov a dokonca aj príkazy, ktoré sme použili v tomto projekte, majú možnosti, ktoré sme nepreskúmali. Vezmite si tento základný program a postavte sa na ňom a vytvorte si vlastné prispôsobené náladové svetlo, stavovú dosku alebo panel displeja.

Krok 10: Rozšírenie a rozšírenie

Rozširovanie a rozširovanie
Rozširovanie a rozširovanie
Rozširovanie a rozširovanie
Rozširovanie a rozširovanie
Rozširovanie a rozširovanie
Rozširovanie a rozširovanie
Rozširovanie a rozširovanie
Rozširovanie a rozširovanie

Dobre, urobme ešte jednu vec, len pre zábavu. Namiesto zmeny farby obrazovky ukážme fotografiu. Môžete tiež zobrazovať videá, webové stránky alebo textové správy. Hrajte sa a bavte sa.

  • Kliknutím na tlačidlo v pravom hornom rohu obrazovky sa vráťte do režimu návrhára
  • V ponuke vľavo kliknite na položku Plátno
  • Kliknite tiež na plátno v ponuke Komponenty (druhý panel sprava)
  • Zobrazí sa panel Vlastnosti pre plátno
  • Na paneli Vlastnosti (úplne vpravo) kliknite na obrázok na pozadí
  • Načítajte fotografiu pomocou vyskakovacieho dialógového okna
  • Prepnúť späť do režimu blokov
  • Pridajte ďalší príkaz if-then
  • Pridajte test pre príkaz obrázok
  • Pridajte do stromu rozhodovania blok setBackgroundImageTo - použite názov fotografie
  • Pridajte tiež setBackgroundImage K bloku Touchdown reštartu - nastavte názov na „žiadny“

A bum, teraz môžete načítať fotografie a tiež meniť farby. Možno sa budete chcieť pohrať s veľkosťou obrázka. Alebo skúste načítať do objektu videa. Môžete kresliť tvary na plátno alebo vytvárať animácie. Môžete zobrazovať čísla, slová, grafy - alebo vytvoriť niekoľko plátien pre viac položiek.

Môžete tiež vytvoriť programy na prístup k vstavaným senzorom telefónu. Môžete sa pripojiť k iným aplikáciám v telefóne, pripojiť sa na web a odtiaľ čerpať informácie a pripojiť sa k iným zariadeniam pomocou Bluetooth alebo WiFi.

Alebo použite neuveriteľne šikovný IFTT, aby ste Alexovi alebo inému asistentovi mohli nastaviť náladu, alebo ovládať všetky svoje staré zariadenia.

Práve ste začali s MIT App Inventor, ale vidíte, aké jednoduché a výkonné je jeho používanie. Choďte teda na prieskum a vytvorte si vlastnú zobrazovaciu dosku.

Krok 11: Prípady a kryty

Puzdrá a kryty
Puzdrá a kryty
Puzdrá a kryty
Puzdrá a kryty
Puzdrá a kryty
Puzdrá a kryty

S programovaním hlasom aktivovanej aplikácie bola teda veľká zábava. Ale stále to vyzerá ako ten istý starý telefón alebo tablet - druh nudy. Prečo do zariadenia nepridať krytinu alebo puzdro, aby vyzeralo skutočne na mieru. Je potrebné vziať do úvahy iba niekoľko aspektov:

Ak zakryjete obrazovku, materiál musí:

  • Majú dostatok otvorov, aby sa váš prst mohol dotýkať obrazovky
  • Alebo buďte dostatočne vodiví na to, aby ste preniesli svoj dotyk na povrch tabletu

Dobrou možnosťou je sieťovina alebo čipka. Oba menia vzhľad telefónu, ale umožňujú pokožke kontakt s obrazovkou. Niektoré tenké papiere a plasty typu Mylar prepúšťajú dostatok elektriny, aby sa zaregistrovali ako dotyk.

  • Ak okolo neho umiestnite rám, uistite sa, že ponecháte dostatok miesta na napájací kábel.
  • Ak ho umiestnite na stenu, uistite sa, že je zariadenie bezpečne pripevnené. Možno je starý a zastaraný, ale stále funguje - tak ho teraz nerozbíjajte, keď ho viete naprogramovať.

Ale toto je úplne iný predmet, hodnotná a úplná trieda a sám poučiteľný. A je to skvelý spôsob, ako dostať nových návštevníkov späť do vášho makerspace. Nezabudnite im teda všetkých povedať: „Vráťte sa na druhú časť triedy“.

Šťastné tvorenie a buďte k sebe navzájom vynikajúci.

Odporúča: