Innholdsfortegnelse:
- Trinn 1: Design og konfigurering
- Trinn 2: Start SpeechRecognizer
- Trinn 3: Opprett beslutningstreet
- Trinn 4: Test for kamper
- Trinn 5: Gi verbal tilbakemelding
- Trinn 6: Angi lerretfargen
- Trinn 7: Finne feil som ikke er funnet
- Trinn 8: Start talegjenkjenning manuelt
- Trinn 9: Hvordan ser hele programmet ut
- Trinn 10: Utvide og utvide
- Trinn 11: Etuier og belegg
Video: Stemmestyrt Android Mood Light: 11 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Jeg trengte å lage en klasse for vår lokale Maker Group. Noe som garanterte selv første gangs besøkende en klar seier og stor belønning uten musling, oppstyr og ingen spesialiserte verktøy eller materialer. Elevene trengte å ta med seg noe både funksjonelt og morsomt som de kunne vise vennene sine, gjøre det på en ettermiddag - og det måtte være gratis. (Og forhåpentligvis få dem tilbake for mer, eller for en beslektet klasse) Så jeg opprettet dette prosjektet.
Gjør den gamle telefonen eller nettbrettet til et stemmestyrt humørlys og statuskort. GRATIS!!! Lett å gjøre på en ettermiddag - INGEN ERFARING KREVER (søndag, søndag søndag)
Alle med en Android -enhet og tilgang til en datamaskin kan programmere et talestyrt program på en time eller to. Den bruker gratis MIT App Inventor, så det er ingen kostnad. De kan enkelt tilpasse det, og deretter legge til sin egen listighet til et deksel eller etui. Og de kan bringe det samme tilbake til klassen og fortsette å utvide og forbedre prosjektene sine i flere måneder.
Prosjektet gir et godt utgangspunkt for programmering, men er ikke helt nok til å virkelig tilfredsstille - det er designet for å bringe folk tilbake til neste klasse. Onde, jeg vet. Men det fører folk til Arduino, som fører til Raspberry Pi, som fører til elektronikk og lodding. Hvis de er fornøyd med den grunnleggende appen og ikke vil programmere mer, kan de lage et tilpasset tilfelle for den når de kommer tilbake til Maker Group for klasser på stoff og søm, papir og tegning, treverk og ramme- lage eller til og med 3d design og utskrift.
Grunnleggende krav
- En gammel Android -telefon eller -nettbrett (for øyeblikket 2.3 eller nyere)
- Internettilgang
- En appoppfinner -konto (gratis)
- Fortrinnsvis en datamaskin med Chrome -nettleser installert
Forberedelse
Du trenger å bli kjent med MITs App Inventor -program. Det er mange instrukser om det (noen ganske avanserte). Men det beste stedet å lære App Inventor er på deres nettsted og gode opplæringsserier. De fleste lærer de grunnleggende konseptene på få minutter. Tross alt er dette den samme butikken som skapte Scratch -programmeringsmiljøet, og den originale LEGO Mindstorms programmeringsappen. Hvis du er for gammel til å vite om disse, kan du be barnet på skolen i skolen om å hjelpe deg.
Hvis du underviser i klassen, bør du sannsynligvis være kjent med de fleste komponentene og kommandoene. Noen i klassen vil nesten garantert be om å gjøre noe annet enn det som vises i denne opplæringen. Du kan holde deg til skriptet og bare gjøre det som vises her. Men jeg har lagt merke til at vi får mye høyere tilbakevendende besøkende når vi kan hjelpe alle med å lage en unik versjon med "avanserte" funksjoner som de kan vise til vennene sine.
Så bli kjent med det grunnleggende, så kom tilbake for en trinnvis opplæring.
Trinn 1: Design og konfigurering
Lag et lerret
- I "Designer" -modus, gå til "Tegning og animasjon" -paletten.
- Dra en "Canvas" til skjermen.
- Still bredden og høyden på lerretet til "Fyll forelder"
- Vi lager koden for å endre fargen på lerretet i senere trinn.
Lag talegjenkjenning
- Fra "Media" -paletten drar du "SpeechRecognizer" til skjermen.
- Dette er komponenten som vil lytte etter våre talekommandoer.
- Vi vil konfigurere dette elementet senere.
Lag talekapasitet
- Dra også et "TextToSpeech" -objekt fra "Media" -paletten til skjermen.
- Vi vil bruke denne komponenten til å lage talte meldinger for brukeren.
- Dette elementet vil også bli konfigurert senere i opplæringen.
Vi har nettopp installert de grunnleggende komponentene for appen vår - alt på få sekunder. Nå går vi videre til konfigurering og koding av dem. For det må vi bytte til "Blokker" -modus. Se i øvre høyre hjørne av skjermen og klikk på Blokker -knappen. Hvis du trenger å komme tilbake til Designer -modus, klikker du bare på Designer -knappen.
Trinn 2: Start SpeechRecognizer
HUSK: Bytt til "BLOCKS" -modus: Sørg for å bytte til blokkeringsmodus ved å klikke på knappen øverst til høyre på skjermen. Et nytt sett med paletter vises. Vi vil bruke disse palettene og blokkene til å programmere stemningslyset.
Vi ønsker å begynne å lytte etter kommandoer så snart programmet åpnes. For å gjøre det vil vi "kalle" SpeechRecognizer -objektet når den første skjermen "initialiseres". AppInventor har automatisk opprettet en "skjerm" for oss. Hver app har minst én skjerm, noen har flere. Vi trenger bare standard.
Initialiser skjermen
- Klikk på skjermobjektet i menyen til venstre.
- Fra fly-ut-menyen, dra objektet "When Screen Initialized do" til scenen.
Start talegjenkjenningen
- Klikk på "SpeechRecognizer" -objektet i menyen til venstre
- Dra objektet "call SpeechRecognizer getText" til scenen
- Plugg denne kommandoen inn i skjerminitialisert blokk
Nå begynner programmet automatisk å lytte etter talekommandoer (getText) så snart den første skjermen lastes (initialiseres). Deretter forteller vi datamaskinen hva den skal gjøre når den hører kommandoer.
Trinn 3: Opprett beslutningstreet
Datamaskinen lytter nå etter talekommandoer, så neste gang må vi spesifisere hva vi skal gjøre etter at den hører bestemte ord. I dette prosjektet vil vi stort sett bruke fargenavn som blå, grønn og gul. Når datamaskinen hører disse ordene, vil den endre fargen på Canvas -objektet.
Vi gjør dette ved å teste for å se om stemmekommandoen samsvarer med noen ord vi har spesifisert. Hvis talekommandoen stemmer overens med et forhåndsdefinert ord, vil vi at datamaskinen skal utføre visse handlinger - for eksempel endre lerretfargen og gi noen verbale tilbakemeldinger. Hvis det ikke blir funnet noen match, må vi fortelle brukeren at noe gikk galt.
Vi begynner med å lage en tom ramme for alle testene og handlingene.
Hva du skal gjøre etter å ha fått en talekommando
- Klikk på SpeechRecognizer i menyen til venstre
- Dra "Etter å ha fått tekst" -blokken til scenen
- (Plasser blokken direkte på scenen, IKKE inne i forrige blokk)
Lag testautomater
- Klikk på Control i den innebygde delen av menyen til venstre
- Dra en If-Then-kommandoblokk inn på scenen
- Plugg If-then-blokken inne i afterGettingText-blokken
- Klikk på det blå tannhjulikonet på Hvis-deretter-blokken
- Fra popup-vinduet som vises, drar du flere Else-If-delblokker til hovedblokken if-then
- Dra også en annen underblokk til slutten av listen
I det neste trinnet begynner vi å fylle disse tomme sporene med tester og handlinger - hjertet i programmet.
Trinn 4: Test for kamper
Programmet lytter etter talte kommandoer, og det er et rammeverk som skal fylles med tester på disse talekommandoene. Så nå, la oss definere testene. Først forteller vi datamaskinen å teste om to objekter er like, deretter definerer vi det første objektet som talekommando og det andre objektet som et stykke tekst. Vi vil bare lage en test her, men den samme teknikken brukes til å lage seks eller ti eller hundre tester. Hvis den første testen er en kamp, tar programmet en handling, ellers går den til neste test og så videre.
Lag en likhetstest
- Klikk på Logic i den innebygde delen av menyen til venstre
- Dra en = (lik) test på scenen
Sett First-Item til Voice Result
- Klikk på SpeechRecognizer i menyen til venstre
- Dra en resultatblokk inn på scenen
- Plugg SpeechRecognizer. Result inn i venstre spor i Equality -testblokken
Sett andre element til en tekstblokk
- Klikk på Tekst i den innebygde delen av venstre meny
- Dra en grunnleggende tekstfeltblokk inn på scenen
- I den tekstblokken skriver du inn ordet du vil teste for
- Koble tekstblokken til høyre spalte på likhetstestblokken
Sett testen på riktig sted
- Plugg nå hele Equals-Test-blokken inn i IF-sporet i beslutningstreet
- I de neste trinnene vil vi tildele noen handlinger som skal utføres når testen er sann
EKSEMPEL: Hvis brukeren sier "blått", vil programmet fange det ordet i en "resultat" -binge. Deretter vil den teste om resultatet (blå) samsvarer med ordet du skrev i tekstblokken. Hvis det stemmer, vil programmet deretter utføre handlingene i "da" -delen av blokken (vi definerer handlingene i de neste trinnene). Hvis talekommandoen ikke samsvarer med teksten, går programmet videre til neste test til det finner en treff eller når "noe er galt" siste annet -utsagn.
MERK: Talekommandoen trenger ikke å være en farge. I eksempelkoden bruker vi ordene "mørk" og "lys" for å utløse svart -hvitt. Vi kan like gjerne bruke ord som:
- Mamma/pappa/Billy/Suzy
- Glad/trist/sint/sulten
- Sover/studerer/kringkaster/fester
Trinn 5: Gi verbal tilbakemelding
Nå må vi lage noen handlinger for når talekommandoen samsvarer med testen. Først vil vi fortelle brukeren hvilken farge programmet tror det har funnet en match for.
Snakk blokk Gjør ting
- Klikk på TextTo Speech -objektet i menyen til venstre
- Dra en Speak. Message -blokk til scenen
Skriv inn det du vil at den skal si
- Klikk på tekstblokken i den innebygde delen av menyen til venstre
- Dra en grunnleggende blank tekstblokk inn på scenen
- Skriv inn setningen du vil at den skal si
Monter delene
- Koble den utfylte tekstblokken til Speak. Message-blokken
- Koble den monterte Speak. Messageblock til Then -sporet
Nå, når programmet oppdager en samsvar med talekommandoen, vil programmet snakke uttrykket du nettopp sa
skrevet. Vær kreativ hvis du vil:
- Høyre sa Fred, den er rød
- Buh ho ho, den er blå
- Grønn, virkelig? Det er ikke fargen din.
Trinn 6: Angi lerretfargen
Nå vil vi endelig endre fargen på lerretet for å matche den talte kommandoen.
Sett lerret bakgrunnsfarge
- Klikk på Canvas -objektet i menyen til venstre
- Dra SetCanvasBackgroundColorTo -blokken til scenen
Velg en fargeprøve
- Klikk på fargeobjektet i den innebygde delen av menyen til venstre
- Dra en fargeprøve til scenen
Monter delene
- Koble fargeprøven til SetBackgroundColor-blokken
- Koble den monterte blokken til Then-sporet i If-then-setningen (under snakkblokken)
Skum, Skyll, Gjenta
Dette er sannsynligvis et godt tidspunkt å teste hvordan programmet fungerer. Last den på Android -enheten din og test den før du dupliserer kommandoene 10 ganger.
Nå som du vet at den grunnleggende koden fungerer, kopierer du test-og-handlingene for hver farge du vil kunne velge.
Du har nettopp laget det grunnleggende rammeverket for programmet. Når programmet oppdager en samsvar for talekommandoen, vil det snakke den angitte setningen, og deretter endre fargen på lerretet til en spesifisert farge. Du kan også angi individuelle RGB- og alfa-verdier, slik at du kan opprette en kommando som mer-blå og mindre-rød. Du kan også opprette en kommando for å angi en tilfeldig farge, få fargene til å pulsere og falme eller sykle gjennom regnbuen.
Trinn 7: Finne feil som ikke er funnet
Men hva om stemmekommandoen ikke finner en treff - du stikker feil eller nyser i stedet? Det er det den siste Else -uttalelsen er til for. Når alle de andre testene mislykkes, utfører programmet handlingen i denne andre setningen. Du lager denne uttalelsen akkurat som du gjorde de forrige uttalelsene (bortsett fra at det ikke er behov for noen test).
- Koble et tekstfelt til en SpeakMessage -blokk og koble det til det siste annet -sporet.
- Fortell brukeren at "Oops, jeg vet ikke hva du prøver å si - prøv igjen."
Du er nesten ferdig. Det er bare noen få skritt til å ta nå.
Trinn 8: Start talegjenkjenning manuelt
Når talekommandoen er testet og de riktige handlingene er utført, slutter programmet å lytte etter flere kommandoer. Det er mange måter rundt dette, men de fleste er kompliserte for nybegynnere. Så vi holder oss til noe enkelt - trykk på skjermen for å få programmet til å begynne å lytte igjen.
- Klikk på Canvas -objektet i menyen til venstre
- Dra nårCanvasTouchDown -blokken til scenen (som et eget objekt, ikke inne i noen annen blokk)
- Klikk på SpeechRecognizer -objektet i menyen til venstre
- Dra en callSpeechRecognizer. GetText -blokk til scenen og koble den til nårCanvasTouchDown -blokken
Når skjermen berøres, begynner programmet å lytte etter en talekommando.
Trinn 9: Hvordan ser hele programmet ut
Du er ferdig - du har nettopp opprettet en stemmestyrt Andoid -app som gjør din gamle telefon eller nettbrett til et stemningslys. Hvis du har problemer med å få det til å fungere, kan du laste ned fullversjonen av bildet i dette trinnet. Det bildet viser hele programmet pluss noen tillegg.
Men som du kan se, er hele programmet egentlig rettferdig
- en startanrop
- en rekke tester og handlinger
- deretter en omstart.
Dette programmet riper bare på overflaten av det du kan gjøre med MIT App Inventor. Det er mange flere kommandoer, og selv kommandoene vi brukte i dette prosjektet har alternativer vi ikke har utforsket. Ta dette grunnleggende programmet og bygg videre på det for å lage ditt eget tilpassede stemningslys, statuskort eller displaypanel.
Trinn 10: Utvide og utvide
Ok, la oss gjøre en ting til, bare for moro skyld. I stedet for å bare endre fargen på skjermen, la oss vise et fotografi. Du kan også vise videoer, websider eller tekstmeldinger. Lek og ha det gøy.
- Bytt tilbake til Designer -modus ved å klikke på knappen øverst til høyre på skjermen
- Klikk på Canvas i menyen til venstre
- Klikk også på Canvas i Komponent -menyen (andre panel fra høyre)
- Dette vil vise Egenskaper -panelet for Canvas
- Klikk på bakgrunnsbilde i panelet Egenskaper (helt til høyre)
- Last inn et bilde ved hjelp av popup-dialogboksen
- Bytt tilbake til blokkeringsmodus
- Legg til en ekstra if-then-setning
- Legg til en test for bildekommandoen
- Legg til et setBackgroundImageTo blokkere i beslutningstreet - bruk navnet på bildet
- Legg også til et setBackgroundImageTo restart Touchdown block - sett navnet til "none"
Og bom, nå kan du laste inn bilder og endre fargen. Du vil kanskje leke med bildestørrelsen. Eller prøv å laste inn et videoobjekt. Du kan tegne figurer på lerretet, eller lage animasjoner. Du kan vise tall, ord, grafer - eller lage flere lerret for flere elementer.
Du kan også lage programmer for å få tilgang til telefonens innebygde sensorer. Du kan koble til andre programmer på telefonen, koble til nettet og hente informasjon derfra og koble til andre enheter ved hjelp av Bluetooth eller WiFi.
Eller bruk den utrolig praktiske IFTT for å få Alexa eller annen assistent til å stille humørbordet, eller kontrollere alle dine gamle enheter.
Du har nettopp begynt med MIT App Inventor, men du kan se hvor enkelt og kraftig det er å bruke. Så gå på oppdagelse og lag ditt eget displaybord.
Trinn 11: Etuier og belegg
Så det var veldig gøy å programmere et stemmeaktivert program. Men det ser fortsatt ut som den samme gamle telefonen eller nettbrettet - litt kjedelig. Hvorfor ikke legge til et deksel eller etui på enheten for å få det til å se virkelig skreddersydd ut. Det er bare noen få hensyn å ta i betraktning:
Hvis du dekker skjermen, må materialet:
- Ha nok hull til at fingeren kan berøre skjermen
- Eller vær ledende nok til å overføre berøringen til nettbrettoverflaten
Gode alternativer er mesh stoff eller blonder. De endrer begge utseendet på telefonen, men lar huden din komme i kontakt med skjermen. Noen tynne papirer og plast av Mylar -type slipper nok strøm gjennom for å registrere seg som et snev.
- Hvis du legger en ramme rundt den, må du la nok plass til strømledningen.
- Sørg for at enheten er godt festet hvis du plasserer den på veggen. Det kan være gammelt og utdatert, men det fungerer fortsatt - så ikke bry det nå som du vet hvordan du programmerer det.
Men dette er et helt annet emne, verdt og komplett klasse og kan instrueres helt av seg selv. Og det er en fin måte å få nye besøkende tilbake til makerpace. Så husk å fortelle dem alle: "Kom tilbake for den andre delen av klassen."
Glad i å lage, og vær gode for hverandre.
Anbefalt:
Talkative Automation -- Lyd fra Arduino -- Stemmestyrt automatisering -- HC - 05 Bluetooth -modul: 9 trinn (med bilder)
Talkative Automation || Lyd fra Arduino || Stemmestyrt automatisering || HC - 05 Bluetooth -modul: …………………………. Vennligst abonner på YouTube -kanalen min for flere videoer …. …. I denne videoen har vi bygget en Talkative Automation .. Når du sender en talekommando via mobil, vil den slå på hjemmeapparater og sende tilbakemeldinger i
Stemmestyrt robothånd: 8 trinn (med bilder)
Stemmestyrt robothånd: a.articles {font-size: 110.0%; font-weight: fet skrift; skriftstil: kursiv; tekst-dekorasjon: ingen; bakgrunnsfarge: rød;} a.articles: sveve {bakgrunnsfarge: svart;} Denne instruksjonen forklarer hvordan du bygger en stemmestyrt robothånd ved hjelp av
Stemmestyrt robot ved bruk av 8051 mikrokontroller: 4 trinn (med bilder)
Stemmestyrt robot ved bruk av 8051 mikrokontroller: En stemmestyrt robot tar spesifisert kommando i form av tale. Uansett hvilken kommando som er gitt gjennom talemodul eller Bluetooth -modul, blir den avkodet av den eksisterende kontrolleren, og derfor blir den gitte kommandoen utført. Her i dette prosjektet
Stemmestyrt smartnøkkelholder: 3 trinn (med bilder)
Stemmestyrt smartnøkkelholder: Er du en person som ikke er god til å administrere nøkler og alltid må prøve hver nøkkel for hver annen lås? helt egen stemmekontrollert smartnøkkelholder
Stemmestyrt bryter ved hjelp av Alexa og Arduino: 10 trinn (med bilder)
Stemmestyrt bryter ved hjelp av Alexa og Arduino: Hovedmålet med dette prosjektet er å bruke temperatursensoren til å styre bryteren (reléet) for å slå enheten på eller av. Liste over materialer 12V Relay Module == > $ 4,2 Arduino uno == > $ 8 DHT11 temperatursensor == > $ 3 ESP8266 modul