Puheohjattu Android -tunnelmavalo: 11 vaihetta (kuvilla)
Puheohjattu Android -tunnelmavalo: 11 vaihetta (kuvilla)
Anonim
Puheohjattu Android Mood Light
Puheohjattu Android Mood Light
Puheohjattu Android Mood Light
Puheohjattu Android Mood Light

Minun piti luoda luokka paikalliselle Maker -ryhmälle. Jotain, joka taisi jopa ensimmäistä kertaa kävijöille varman voiton ja suuren palkinnon ilman mussia, hälinää ja erikoistyökaluja tai -materiaaleja. Oppilaiden piti viedä kotiin jotain toiminnallista ja hauskaa, mitä he voisivat näyttää ystävilleen, tehdä se yhdessä iltapäivässä - ja sen oli oltava ilmainen. (Ja toivottavasti tuoda heidät takaisin enemmän tai aiheeseen liittyvälle luokalle) Joten loin tämän projektin.

Muuta vanha puhelin tai tabletti ääniohjattuksi tunnelmavaloksi ja tilapaneeliksi. VAPAA!!! Helppo tehdä yhdellä iltapäivällä - KOKEMUSTA EI TARVITA (sunnuntai, sunnuntai sunnuntai)

Jokainen, jolla on Android -laite ja pääsy tietokoneeseen, voi ohjelmoida ääniohjatun sovelluksen tunnissa tai kahdessa. Se käyttää ilmaista MIT App Inventoria, joten se ei maksa mitään. He voivat helposti muokata sitä ja lisätä sitten oman taitonsa peitteeseen tai koteloon. Ja he voivat tuoda saman asian takaisin luokalle ja laajentaa ja parantaa projektejaan useita kuukausia.

Projekti tarjoaa hyvän lähtökohdan ohjelmoinnille, mutta ei riitä todella tyydyttämään - se on suunniteltu tuomaan ihmiset takaisin seuraavalle luokalle. Paha, tiedän. Mutta se johtaa ihmiset Arduinolle, joka johtaa Raspberry Pi: hen, joka johtaa elektroniikkaan ja juottamiseen. Jos he ovat tyytyväisiä perussovellukseen eivätkä halua enää ohjelmoida, he voivat tehdä sille mukautetun tapauksen, kun he tulevat takaisin Maker-ryhmään kankaan ja ompelun, paperin ja piirtämisen, puutöiden ja kehysten kursseille. 3D -suunnittelu ja tulostus.

Perusvaatimukset

  • Vanha Android -puhelin tai -tabletti (tällä hetkellä 2.3 tai uudempi)
  • Internet-yhteys
  • App Inventor -tili (ilmainen)
  • Mieluiten tietokone, johon on asennettu Chrome -selain

Valmistautuminen

Sinun täytyy tuntea MIT: n App Inventor -ohjelma. Siitä on paljon ohjeistuksia (jotkut melko kehittyneitä). Paras paikka oppia App Inventor on heidän verkkosivuillaan ja erinomaisissa opetusohjelmissa. Useimmat ihmiset oppivat peruskäsitteet muutamassa minuutissa. Loppujen lopuksi tämä on sama kauppa, joka loi Scratch -ohjelmointiympäristön ja alkuperäisen LEGO Mindstorms -ohjelmointisovelluksen. Jos olet liian vanha tietääksesi näistä asioista, pyydä paikallista kouluikäistä lasta auttamaan sinua.

Jos opetat luokkaa, sinun pitäisi todennäköisesti tuntea useimmat komponentit ja komennot. Joku luokan jäsenistä on melkein taattu pyytämään tekemään jotain erilaista kuin tässä opetusohjelmassa. Voit pysyä käsikirjoituksessa ja tehdä vain mitä tässä näytetään. Mutta olen huomannut, että saamme paljon enemmän palaavia kävijöitä, kun voimme auttaa kaikkia luomaan ainutlaatuisen version "edistyneistä" ominaisuuksista, joita he voivat näyttää ystävilleen.

Joten tutustu perusasioihin ja palaa sitten vaiheittaiseen opetusohjelmaan.

Vaihe 1: Suunnittele ja asenna

Image
Image
Suunnittelu ja asennus
Suunnittelu ja asennus

Luo kangas

  • Siirry "Suunnittelija" -tilassa "Piirustus ja animaatio" -palettiin.
  • Vedä "Canvas" näytölle.
  • Aseta kankaan leveydeksi ja korkeudeksi "Täytä vanhempi"
  • Luomme koodin muuttaaksesi kankaan väriä myöhemmissä vaiheissa.

Luo äänentunnistus

  • Vedä "Media" -paletista "SpeechRecognizer" näytölle.
  • Tämä on komponentti, joka kuuntelee äänikomentojamme.
  • Määritämme tämän kohteen myöhemmin.

Luo puheominaisuus

  • Vedä myös "Media" -paletista "TextToSpeech" -objekti ruudulle.
  • Käytämme tätä osaa luodaksesi käyttäjälle puhuttuja kehotteita.
  • Tämä kohde määritetään myös myöhemmin opetusohjelmassa.

Asensimme juuri sovelluksemme peruskomponentit - kaikki muutamassa sekunnissa. Nyt siirrymme niiden määrittämiseen ja koodaamiseen. Tätä varten meidän on siirryttävä "Lohkot" -tilaan. Katso näytön oikeasta yläkulmasta ja napsauta Lohkot -painiketta. Jos haluat palata suunnittelutilaan, napsauta Suunnittelija -painiketta.

Vaihe 2: Käynnistä SpeechRecognizer

Käynnistä SpeechRecognizer
Käynnistä SpeechRecognizer

MUISTA: Vaihda "BLOCKS" -tilaan: Muista vaihtaa estotilaan napsauttamalla näytön oikeassa yläkulmassa olevaa painiketta. Uusi palettien sarja tulee näkyviin. Käytämme näitä paletteja ja lohkoja mielialan valon ohjelmoimiseen.

Haluamme alkaa kuunnella komentoja heti, kun sovellus avautuu. Tätä varten "kutsumme" SpeechRecognizer -objektin, kun ensimmäinen näyttö "käynnistyy". AppInventor on luonut meille automaattisesti "näytön". Jokaisessa sovelluksessa on vähintään yksi näyttö, joissakin useita. Tarvitsemme vain oletusarvon.

Alusta näyttö

  • Napsauta vasemmanpuoleisen valikon Screen-objektia.
  • Vedä avattavasta valikosta "When Screen Initialized do" -objekti lavalle.

Käynnistä puheentunnistin

  • Napsauta "SpeechRecognizer" -objektia vasemmassa valikossa
  • Vedä "Call SpeechRecognizer getText" -objekti lavalle
  • Liitä tämä komento näytön alustuslohkoon

Nyt ohjelma alkaa automaattisesti kuunnella äänikomentoja (getText) heti, kun ensimmäinen näyttö latautuu (alustetaan). Seuraavaksi kerromme tietokoneelle, mitä tehdä, kun se kuulee komentoja.

Vaihe 3: Päätöspuun luominen

Päätöspuun luominen
Päätöspuun luominen
Päätöspuun luominen
Päätöspuun luominen
Päätöspuun luominen
Päätöspuun luominen

Tietokone kuuntelee nyt äänikomentoja, joten seuraavaksi meidän on määritettävä, mitä tehdä, kun se kuulee tietyt sanat. Tässä projektissa käytämme enimmäkseen värinimiä, kuten sininen, vihreä ja keltainen. Kun tietokone kuulee nämä sanat, se muuttaa Canvas -objektin värin.

Teemme tämän testaamalla, vastaako äänikomento määrittämiämme sanoja. Jos äänikomento vastaa ennalta määritettyä sanaa, haluamme, että tietokone suorittaa tiettyjä toimintoja - esimerkiksi muuttaa kankaan väriä ja antaa suullista palautetta. Jos vastaavuutta ei löydy, meidän on kerrottava käyttäjälle, että jokin meni pieleen.

Aloitamme luomalla tyhjän kehyksen kaikkien testien ja toimintojen säilyttämiseksi.

Mitä tehdä äänikomennon saamisen jälkeen

  • Napsauta SpeechRecognizer -painiketta vasemmassa valikossa
  • Vedä tekstin saamisen jälkeen -lohko lavalle
  • (Aseta lohko suoraan lavalle, EI edellisen lohkon sisälle)

Luo testipaikkoja

  • Napsauta Ohjaus vasemmanpuoleisen valikon Sisäänrakennettu-osiossa
  • Vedä If-then-komentolohko lavalle
  • Liitä If-then-lohko afterGettingText-lohkon sisälle
  • Napsauta If-then-lohkon sinistä rataskuvaketta
  • Vedä avautuvasta ponnahdusikkunasta useita muita El-If-alilohkoja if-then-päälohkoon
  • Vedä myös yksi muu alilohko luettelon loppuun

Seuraavassa vaiheessa alamme täyttää nämä tyhjät paikat testeillä ja toimilla - ohjelman ytimessä.

Vaihe 4: Testaa osumia

Testaa otteluita
Testaa otteluita
Testaa otteluita
Testaa otteluita
Testaa otteluita
Testaa otteluita
Testaa otteluita
Testaa otteluita

Sovellus kuuntelee puhekomentoja, ja on puitteet, jotka täytetään näiden äänikomentojen testeillä. Joten määritellään nyt testit. Ensinnäkin käskemme tietokonetta testaamaan, ovatko kaksi objektia samanarvoisia, ja määritä sitten ensimmäinen objekti äänikomennoksi ja toinen objekti tekstikappaleeksi. Luomme tässä vain yhden testin, mutta samaa tekniikkaa käytetään kuuden tai kymmenen tai sadan testin luomiseen. Jos ensimmäinen testi on ottelu, ohjelma suorittaa toiminnon, muuten se siirtyy seuraavaan testiin ja niin edelleen.

Luo tasa -arvotesti

  • Napsauta logiikkaa vasemman valikon Sisäänrakennettu-osiossa
  • Vedä = (yhtä suuri) testi lavalle

Aseta ensimmäinen kohde äänitulokseksi

  • Napsauta SpeechRecognizer -painiketta vasemmassa valikossa
  • Vedä tuloslohko lavalle
  • Liitä SpeechRecognizer. -Tulos Equality -testilohkon vasempaan paikkaan

Aseta toinen kohde tekstilohkoksi

  • Napsauta vasemman valikon Sisäänrakennettu-osion tekstiä
  • Vedä tekstikentän peruslohko lavalle
  • Kirjoita kyseiseen tekstilohkoon sana, jota haluat testata
  • Liitä tekstilohko tasa-arvo-testilohkon oikeaan paikkaan

Aseta testi oikeaan paikkaan

  • Liitä nyt koko Equals-Test-lohko päätöspuun IF-korttipaikkaan
  • Seuraavissa vaiheissa annamme joitain toimenpiteitä, jotka on suoritettava, kun testi on totta

ESIMERKKI: Jos käyttäjä sanoo "sininen", ohjelma tallentaa kyseisen sanan "tulos" -lokeroon. Sitten se testaa, vastaako kyseinen tulosana (sininen) sanaa, jonka kirjoitit tekstilohkoon. Jos se täsmää, ohjelma suorittaa sitten toiminnot lohkon "sitten" -osiossa (määritämme toiminnot seuraavissa vaiheissa). Jos äänikomento ei vastaa tekstiä, ohjelma siirtyy seuraavaan testiin, kunnes se löytää osuman tai saavuttaa lopullisen "jotain on väärin" -lausekkeen.

HUOMAUTUS: Äänikomennon ei tarvitse olla väri. Esimerkkikoodissa käytämme sanoja "tumma" ja "vaalea" laukaistaksemme mustavalkoisen. Voisimme yhtä helposti käyttää sanoja kuten:

  • Äiti/isä/Billy/Suzy
  • Iloinen/surullinen/vihainen/nälkäinen
  • Nukkuminen/opiskelu/lähetys/juhlat

Vaihe 5: Anna suullista palautetta

Anna suullista palautetta
Anna suullista palautetta
Anna suullista palautetta
Anna suullista palautetta

Nyt meidän on luotava joitakin toimintoja, kun äänikomento vastaa testiä. Ensinnäkin kerromme käyttäjälle, mitä väriä ohjelma luulee löytäneensä sopivan.

Puhu Block Tee asiasi

  • Napsauta TextTo Speech -objektia vasemmassa valikossa
  • Vedä Speak. Message -lohko lavalle

Kirjoita mitä haluat sen sanovan

  • Napsauta vasemman valikon sisäänrakennetun osion Teksti-lohkoa
  • Vedä tyhjä perus tekstilohko lavalle
  • Kirjoita lause, jonka haluat sen sanovan

Kokoa osat

  • Liitä täytetty tekstilohko Speak. Message-lohkoon
  • Liitä koottu Speak. Messageblock sitten -korttipaikkaan

Nyt, kun ohjelma havaitsee täsmäytyksen äänikomennolla, ohjelma puhuu lauseen juuri

kirjoitettu. Ole luova, jos haluat:

  • Oikea sanoi Fred, se on punainen
  • Boo hoo hoo, se on sininen
  • Vihreä, oikeasti? Se ei ole sinun värisi.

Vaihe 6: Aseta kankaan väri

Aseta kankaan väri
Aseta kankaan väri
Aseta kankaan väri
Aseta kankaan väri
Aseta kankaan väri
Aseta kankaan väri

Nyt muutamme vihdoin kankaan värin vastaamaan puhuttua komentoa.

Aseta kankaan taustaväri

  • Napsauta Canvas -objektia vasemmassa valikossa
  • Vedä SetCanvasBackgroundColorTo -lohko lavalle

Valitse värimalli

  • Napsauta Väri-objektia vasemman valikon Sisäänrakennettu-osiossa
  • Vedä värimalli lavalle

Kokoa osat

  • Liitä värimalli SetBackgroundColor-lohkoon
  • Liitä koottu lohko If-then-lauseen sitten-paikkaan (puhelohkon alapuolelle)

Vaahdota, huuhtele, toista

Tämä on luultavasti hyvä aika testata ohjelman toimintaa. Lataa se Android -laitteellesi ja testaa se, ennen kuin kopioit komennot 10 kertaa.

Nyt kun tiedät peruskoodin toimivan, kopioi testit ja toiminnot jokaiselle värille, jonka haluat valita.

Olet juuri luonut ohjelman peruskehyksen. Kun ohjelma havaitsee äänikomennolle vastaavuuden, se puhuu määritetyn lauseen ja vaihtaa sitten kankaan värin määritettyyn väriin. Voit myös määrittää yksittäisiä RGB- ja alfa-arvoja, jotta voit luoda komennon, kuten enemmän sinistä ja vähemmän punaista. Voit myös luoda komennon asettaaksesi satunnaisen värin, värien pulssin ja haalistumaan tai kiertämään sateenkaaren läpi.

Vaihe 7: Löydettyjen virheiden havaitseminen

Virheitä, joita ei löydy
Virheitä, joita ei löydy

Mutta entä jos äänikomento ei löydä vastaavuutta - kirjoitit väärin tai aivastat? Tätä varten lopullinen muu väite on tarkoitettu. Kun kaikki muut testit epäonnistuvat, ohjelma suorittaa tämän muun käskyn toiminnon. Luot tämän lausunnon aivan kuten aiemmat lausunnot (paitsi että testiä ei tarvita).

  • Liitä tekstikenttä SpeakMessage -lohkoon ja liitä se lopulliseen else -paikkaan.
  • Kerro käyttäjälle, että "Hups, en tiedä mitä yrität sanoa - yritä uudelleen."

Olet melkein valmis. Nyt on vain muutama vaihe.

Vaihe 8: Käynnistä puheentunnistus manuaalisesti

Puheentunnistuksen aloittaminen manuaalisesti
Puheentunnistuksen aloittaminen manuaalisesti

Kun äänikomento on testattu ja tarvittavat toimenpiteet on suoritettu, ohjelma lakkaa kuuntelemasta lisää komentoja. Tähän on monia tapoja, mutta useimmat ovat monimutkaisia aloittelijoille. Joten pidämme kiinni yksinkertaisesta asiasta - kosketa näyttöä, jotta ohjelma alkaa kuunnella uudelleen.

  • Napsauta Canvas -objektia vasemmassa valikossa
  • Vedä WhenCanvasTouchDown -lohko lavalle (erillisenä objektina, ei minkään muun lohkon sisällä)
  • Napsauta SpeechRecognizer -objektia vasemmassa valikossa
  • Vedä callSpeechRecognizer. GetText -lohko lavalle ja liitä se ifCanvasTouchDown -lohkoon

Nyt kun näyttöä kosketetaan, ohjelma alkaa kuunnella äänikomentoa.

Vaihe 9: Miltä koko ohjelma näyttää

Miltä koko ohjelma näyttää
Miltä koko ohjelma näyttää

Olet valmis - olet juuri luonut ääniohjatun Andoid -sovelluksen, joka muuttaa vanhan puhelimesi tai tablet -laitteesi tunnelmavaloksi. Jos sinulla on vaikeuksia saada se toimimaan, lataa kuvan täysikokoinen versio tässä vaiheessa. Tässä kuvassa näkyy koko ohjelma ja muutama lisä.

Mutta kuten huomaat, koko ohjelma on oikeassa

  • aloittava puhelu
  • sarja testejä ja toimia
  • sitten uudelleenkäynnistys.

Tämä ohjelma vain raapii pinnan siitä, mitä voit tehdä MIT App Inventorilla. Komentoja on paljon enemmän, ja jopa tässä projektissa käyttämillämme komennoilla on vaihtoehtoja, joita emme ole tutkineet. Ota tämä perusohjelma ja rakenna sen pohjalta ja tee oma mukautettu tunnelmavalo, tilataulu tai näyttöpaneeli.

Vaihe 10: Laajentaminen ja laajentaminen

Laajeneminen ja laajentaminen
Laajeneminen ja laajentaminen
Laajeneminen ja laajentaminen
Laajeneminen ja laajentaminen
Laajeneminen ja laajentaminen
Laajeneminen ja laajentaminen
Laajeneminen ja laajentaminen
Laajeneminen ja laajentaminen

Okei, tehdään vielä yksi asia huvin vuoksi. Näytön värin vaihtamisen sijaan näytetään valokuva. Voit myös näyttää videoita, verkkosivuja tai tekstiviestejä. Pelaa ja pidä hauskaa.

  • Vaihda takaisin suunnittelutilaan napsauttamalla näytön oikeassa yläkulmassa olevaa painiketta
  • Napsauta Canvas vasemmanpuoleisessa valikossa
  • Napsauta myös Canvas Components -valikossa (toinen paneeli oikealta)
  • Tämä tuo esiin Canvasin Ominaisuudet -paneelin
  • Napsauta Ominaisuudet -paneelissa (oikeassa reunassa) Taustakuva
  • Lataa valokuva ponnahdusikkunan avulla
  • Vaihda takaisin lohkotilaan
  • Lisää ylimääräinen if-then-lause
  • Lisää testi kuvakomennolle
  • Lisää setBackgroundImageTo estää päätöspuu - käytä valokuvan nimeä
  • Lisää myös setBackgroundImageKosketuslohkon uudelleenkäynnistys - aseta nimeksi "ei mitään"

Ja puomi, nyt voit ladata valokuvia ja vaihtaa väriä. Haluat ehkä leikkiä kuvakoon kanssa. Tai yritä ladata video -objektiin. Voit piirtää muotoja kankaalle tai luoda animaatioita. Voit näyttää numeroita, sanoja, kaavioita - tai tehdä useita kankaita useille kohteille.

Voit myös luoda ohjelmia puhelimen sisäänrakennettujen antureiden käyttämiseksi. Voit muodostaa yhteyden muihin puhelimen sovelluksiin, muodostaa yhteyden verkkoon ja hakea tietoja sieltä sekä muodostaa yhteyden muihin laitteisiin Bluetooth- tai WiFi -yhteyden kautta.

Tai käytä uskomattoman kätevää IFTT: tä saadaksesi Alexan tai muun avustajan asettamaan mielialalevyn tai hallitsemaan kaikkia vanhoja laitteitasi.

Olet juuri aloittanut MIT App Inventorin käytön, mutta näet, kuinka helppoa ja tehokasta se on käyttää. Joten tutustu ja luo oma näyttötaulusi.

Vaihe 11: Kotelot ja kuoret

Kotelot ja peitteet
Kotelot ja peitteet
Kotelot ja peitteet
Kotelot ja peitteet
Kotelot ja peitteet
Kotelot ja peitteet

Joten se oli hauskaa, ääniohjatun sovelluksen ohjelmointi. Mutta se näyttää silti samalta vanhalta puhelimelta tai tabletilta - tavallaan tylsältä. Miksi et lisää laitteeseen kuorta tai koteloa, jotta se näyttää todella mittatilaustyönä. On vain muutamia huomioita, jotka on otettava huomioon:

Jos peität näytön, materiaalin on:

  • Pidä riittävästi reikiä, jotta sormesi voi koskettaa näyttöä
  • Tai ole tarpeeksi johtava välittääksesi kosketuksesi tabletin pinnalle

Hyviä vaihtoehtoja ovat verkkokangas tai pitsi. Molemmat muuttavat puhelimen ulkoasua, mutta antavat ihon koskettaa näyttöä. Jotkut ohuet paperit ja Mylar -tyyppiset muovit päästävät tarpeeksi sähköä rekisteröidäkseen kosketukseksi.

  • Jos laitat kehyksen sen ympärille, muista jättää riittävästi tilaa virtajohdolle.
  • Varmista, että laite on asennettu tukevasti, jos asetat sen seinälle. Se voi olla vanha ja vanhentunut, mutta se toimii edelleen - joten älä riko sitä nyt, kun tiedät kuinka ohjelmoida se.

Mutta tämä on aivan eri aihe, arvokas ja täydellinen luokka ja itse opetettavissa. Ja se on loistava tapa saada uudet kävijät takaisin tekijätilaasi. Muista siis kertoa heille kaikille "Tule takaisin luokan toiseen osaan".

Hyvää tekemistä ja olkaa erinomaisia toisillenne.

Suositeltava: