Moosetar (Zoltar) Fortune Teller (5 / 9 steg)

Steg 5: Emic2



jag försökte ett par sätt att få älgarna att prata. Först använde jag en andra Arduino med en våg sköld från Adafruit. Jag beslutade då att gå med en Emic2 talsyntes enhet. Detta fungerade riktigt bra och gjorde det slags rolig eftersom det låter lite som en robot. Jag gillade också detta bättre än våg skölden eftersom jag inte behövde förinspela något och jag kunde lätt ha den säga vad jag ville.

Jag fick min här https://www.sparkfun.com/products/11711 men du kan också beställa dem direkt från Parallax eller en massa andra ställen. I princip du sända den seriella kommandon och det kommer att tala. Här är de viktigaste delarna av skissen:

Definiera det programvara seriella gränssnittet jag använde:
#define rxPin 51 / / seriell ingång (ansluter till Emic 2 SOUT)
#define txPin 53 / / seriell utgång (ansluter till Emic 2 synd)
SoftwareSerial emicSerial = SoftwareSerial (rxPin, txPin);

I setup() får vi redo att tala med Emic2
emicSerial.begin(9600);
emicSerial.print('\n'); Skicka en CR om systemet är redan upp
medan (emicSerial.read()! = ':'); När den Emic 2 har initierats och är klar, skickas en enda ":" karaktär, så vänta här tills vi får den
Delay(10); Kort fördröjning
emicSerial.flush(); Flush mottagningsbufferten

Jag använde följande metod att ta del av texten, skicka det till Emic2 och köra älgen mun och kropp medan det pratade:
void mooseTalk(String phrase)
{
emicSerial.println("P1");
Delay(100);
clearEmicSerialRead();
emicSerial.println("W75");
Delay(100);
clearEmicSerialRead();
emicSerial.println("V0");
Delay(100);
clearEmicSerialRead();
emicSerial.println("N0");
Delay(100);
clearEmicSerialRead();
emicSerial.print('S');
emicSerial.print("\\/\\/");
emicSerial.println(phrase);
Serial.println(phrase);

int jag = 0;
int u = 0;
för (int j = 0; j < phrase.length(); j ++)
{
om (fras [j] == "")
{
i ++;
}
om (fras [j] == '_')
{
u ++;
}
}

jag = i + u/2;
jag = jag - jag *. 25;
Delay(300);
för (int j = 0; j < jag, j ++)
{
mooseMove(random(250,450));
Delay(Random(150,300));
}
clearEmicSerialRead();
samtidigt (emicSerial.available() > 0)
//{
Serial.println(emicSerial.Read());
//}
medan (emicSerial.read()! = ':');
}

Jag skapade också denna metod att få sjunga efter det gav sin förmögenhet. Låtarna i skissen är "hit me med din bästa bild", "Edelweiss" och "Daisy Bell"

void singSong() {
emicSerial.println("V0");
Delay(100);

emicSerial.println("P0");
int låten = random(3);
om (låten == 0)
{
emicSerial.println ("S [: Betygsätt 230] [: n0] [: dv ap 200 sm 100 ri 100] [WEH < 125,12 > LX < 75 > YXOR < 200,14 > AH < 200,17 > AXRIY < 300,21 > LL < 100 > TAH < 300 > F < 100 > KUH < 200,19 > KIY < 200,17 > WIH < 125 > TH < 75 > AX < 200,14 > LLAO < 300,17 > NX < 100 > HXIH < 200 > STOR < 200,14 > IY < 400,19 > _ < 500 > AH < 125,17 > V < 75 > BRREY < 200,19 > K AH < 125,17 > N < 75 > LLIH < 200,19 > DXEL < 200,17 > HXAR < 300,19 > TS < 100 > LLAY < 125 > K < 75 > DHAX < 200,17 > WAH < 125,19 > N < 75 > IH < 125 > N < 75 > MIY < 400,21 > _ < 400 > DHAE < 200 > TS < 100 > OW < 200,19 >-tangenten < 400,17 > LLEH < 125,14 > TS < 75 > SIY < 400,17 > HXAW < 200 > YU < 200,14 > DUW < 400,19 > IH < 125,17 > T < 75 > _ < 400 > PUH < 125,19 > T < 75 > AH < 125 > P < 75 > YXOR < 200,17 > DUW < 450,19 > KS < 150 > LLEH < 300,19 > TS < 100 > GEH < 125 > T < 75 > DAW < 300 > N < 100 > TUW < 400,21 > IH < 200,19 > T < 100 > HXIH < 125,21 > T < 75 > MIY < 200,19 > WIH < 125 > TH < 75 > YXOR < 200,17 > BEH < 300 > ST < 100 > SHAO < 300,21 > T < 100 > _ < 1100 > sätt < 200,17 > DOW < 125,19 > < 75 > CHAX < 200,17 > HXIH < 70,21 > T < 30 > MIY < 100,19 > WIH < 125 > TH < 75 > YXOR < 200,17 > BEH < 300,19 > ST < 100 > SHAO < 200,14 > AO < 300,12 > T < 100 > _ < 1200 > HXIH < 125,21 > T < 75 > MIY < 200,19 > WIH < 125 > nte < 75 > YXOR < 200,17 > BEH < 300 > ST < 100 > SHAO < 300,21 > T < 100 > _ < 800 > FAY < 200 > RR < 200,22 > AX < 200,24 > WEH < 400,19 > EY < 900,17 >] [: n0] ");
för (int jag = 0; jag < 22; i ++)
{
mooseMove(random(500,1450));
Delay(Random(150,300));
}
clearEmicSerialRead();
}
annat if(song == 1)
{
emicSerial.println ("S [: telefon arpa tala på] [: Betygsätt 180] [: n0] [: dv hs 95 br 0 som 90 ap 90 sm 90 ri 100] [EY < 800,15 > DEL < 400,18 > VAY < 900,25 > S < 300 > EY < 800,23 > DEL < 400,18 > VAY < 900,16 > S < 300 > EH < 800,15 > VRIY < 400 > MOR < 400 > NIH < 250,16 > NX < 150 > YU < 400,18 > GRIY < 1100,20 > T < 100 > MIY < 800,18 > _ < 400 > SMAO < 500,15 > LX < 300 > AE < 250,18 > N < 100 > D < 50 > sätt < 1100,25 > T < 100 > KLLIY < 500,23 > N < 300 > AE < 250,18 > N < 100 > D < 50 > BRAY < 1100,16 > T < 100 > YU < 800,15 > LLUH < 300,18 > K < 100 > HXAE < 400 > PIY < 400,20 > TUW < 400,22 > MIY < 1000,23 > TMIY < 900,23 > _ < 800 > BLLAO < 800,25 > SAH < 125,18 > M < 75 > AH < 250 > V < 150 > snö < 400,22 > MEY < 400,20 > YU < 400,18 > BLLUW < 500,15 > M < 300 > AE < 250,18 > N < 100 > D < 50 > växa < 900,23 > _ < 300 > BLLUW < 500,20 > M < 300 > AE < 250,23 > N < 100 > D < 50 > växa < 800,25 > för < 400,23 > EH < 1200,22 > VRR < 800,18 > _ < 400 > EY < 800,15 > DEL < 400,18 > VAY < 900,25 > S < 300 > EY < 800,23 > DEL < 400,18 > VAY < 900,16 > S < 300 > BLLEH < 600,15 > S < 200 > kan < 400,18 > HXOW < 250 > M < 150 > LLAE < 250,20 > N < 100 > D < 50 > för < 400,22 > EH < 1200,23 > VRR < 800 >] [: n0] ");
för (int jag = 0; jag < 40; i ++)
{
mooseMove(random(500,1450));
Delay(Random(150,300));
}
clearEmicSerialRead();
}
annat //if (låten == 2)
{
emicSerial.println("D1");
för (int jag = 0; jag < 22; i ++)
{
mooseMove(random(500,1450));
Delay(Random(150,300));
}
clearEmicSerialRead();
}
/ * annat
{
emicSerial.println ("S [: telefon arpa tala på] [: Betygsätt 190] [: n2] [: dv ap 200 sm 100 ri 100] [R EY < 200,17 > N < 100 > DRAO < 200,24 > PS < 100 > AO < 200 > N < 100 > rad < 300,19 > ZIX < 200,17 > Z < 100 > AE < 150 > N < 100 > D < 50 > WIH < 300,12 > SKRR < 200,17 > Z < 100 > AO < 200 > N < 100 > KIH < 300,19 > TAH < 150,17 > N < 100 > Z < 50 > _ < 300 > BRAY < 200 > T < 100 > KAO < 300,24 > PRR < 300 > K EH < 300,19 > TEL < 200,17 > Z < 100 > AE < 150 > N < 100 > D < 50 > krig < 200,12 > M < 100 > WUH < 300,17 > LL EH < 200 > N < 100 > MIH < 300,19 > TAH < 150,17 > N < 100 > Z < 50 > _ < 300 > BRAW < 200 > N < 100 > PEY < 300,24 > PRR < 300,22 > PAE < 300,17 > KIH < 300,19 > JHIX < 200,15 > Z < 100 > TAY < 200 > D < 100 > AH < 200,22 > P < 100 > WIH < 200,20 > TH < 100 > STRIH < 300,13 > NX < 200 > Z < 100 > _ < 300 > DHIY < 200,12 > Z < 100 > AR < 300,13 > AX < 300,15 > FYU < 300,17 > AH < 200,18 > V < 100 > kan < 300,20 > FEY < 300,22 > VRR < 300,24 > EH < 200,22 > T < 100 > Christina < 500,16 > NX < 300 > Z < 100 >] [ : n0] ");
emicSerial.println ("S [: telefon arpa tala på] [: Betygsätt 190] [: n2] [: dv ap 200 sm 100 ri 100] [KRIY < 200,17 > M < 100 > KAH < 300,24 > LLRR < 200 > D < 100 > POW < 300,19 > NIY < 200,17 > Z < 100 > AE < 150 > N < 100 > D < 50 > KRIH < 200,12 > SP < 100 > AE < 300,17 > PEL < 300 > STRUW < 300,19 > DXEL < 300,17 > _ < 300 > DOR < 300 > BEH < 150,24 > LX < 100 > Z < 50 > AE < 150 > < 100 > D < 50 > SLLEY < 300,19 > BEH < 150,17 > LX < 100 > Z < 50 > AE < 150 > N < 100 > D < 50 > SHNIH < 200,12 > T < 100 > SEL < 300,17 > WIH < 200 > nte < 100 > NUW < 300,19 > DXEL < 200,17 > Z < 100 > _ < 300 > sätt < 150,17 > LL < 100 > D < 50 > GIY < 200,24 > S < 100 > DHAE < 200,22 > T < 100 > FLLAY < 300,17 > WIH < 200,19 > TH < 100 > DHAX < 300,15 > MUW < 200 > N < 100 > AO < 200,22 > N < 100 > DHER < 300,20 > WIH < 300,13 > NX < 200 > Z < 100 > _ < 300 > DHIY < 200,12 > Z < 100 > AR < 300,13 > AX < 300,15 > FYU < 300,17 > AH < 200,19 > V < 100 > kan < 300,20 > FEY < 300,22 > VRR < 300,24 > EH < 200,22 > T < 100 > Christina < 500,16 > NX < 300 > Z < 100 >] [ : n0] ");
emicSerial.println ("S [: telefon arpa tala på] [: Betygsätt 190] [: n2] [: dv ap 200 sm 100 ri 100] [GRR < 150,17 > LL < 100 > Z < 50 > IH < 200,24 > N < 100 > sätt < 200 > T < 100 > DRREH < 300,19 > sex < 200,17 > Z < 100 > WIH < 200 > TH < 100 > BLLUW < 300,12 > SAE < 300,17 > TAH < 200 > N < 100 > SAE < 300,19 > SHIX < 200,17 > Z < 100 > _ < 300 > snö < 300 > FLLEY < 200,24 > KS < 100 > DHAE < 200 > T < 100 > STEY < 300,19 > AO < 200,17 > N < 100 > kan < 300 > nu < 200,12 > Z < 100 > AE < 150,17 > N < 100 > D < 50 > AY < 300 > LLAE < 300,19 > SHIX < 200,17 > Z < 100 > _ < 300 > SIH < 200 > LL < 100 > VRR < 300,24 > sätt < 200,22 > T < 100 > WIH < 200,17 > N < 100 > TRR < 200,19 > Z < 100 > DHAE < 200,15 > T < 100 > MEH < 150 > LL < 100 > T < 50 > IH < 200,22 > N < 100 > TUW < 300,20 > SPRIH < 400,13 > NX < 200 > _ < 300 > DHIY < 200,12 > Z < 100 > AR < 300,13 > AX < 300,15 > FYU < 300,17 > AH < 200,19 > V < 100 > kan < 300,20 > FEY < 300,22 > VRR < 300,23 > EH < 200,24 > T < 100 > Christina < 400,25 > NX < 100 > Z < 100 > _ < 200 >] [ : n0] ");
emicSerial.println ("S [: telefon arpa tala på] [: Betygsätt 190] [: n2] [: dv ap 200 sm 100 ri 100] [WEH < 200,24 > N < 100 > DHAX < 300 > DAO < 500 > G < 100 > BAY < 200,17 > TS < 100 > _ < 300 > WEH < 200,22 > N < 100 > DHAX < 300 > BIY < 600 > STIH < 150,16 > NX < 100 > Z < 50 > _ < 300 > WEH < 200,20 > N < 100 > AY < 200 > M < 100 > Fyrspannen < 600 > LLIH < 200,12 > NX < 100 > SAE < 1400,17 > D < 100 > AY < 300 > SIH < 200 > M < 100 > PLLIY < 300,19 > RIY < 300,17 > MEH < 200,19 > M < 100 > BRR < 300,17 > kan < 300,19 > FEY < 300,20 > VRR < 300,22 > EH < 200,20 > T < 100 > Christina < 300,22 > NX < 200 > Z < 100 > AE < 150,20 > N < 100 > D < 50 > DHEH < 200,24 > N < 100 > AY < 300,25 > DOW < 150,24 > N < 100 > T < 70 > Fyrspannen < 600,25 > LX < 300 > _ < 1000 > SUGGA < 900,24 > BAE < 2000,20 > D < 100 > _ < 40 >] [ : n0] ");
clearEmicSerialRead();
för (int jag = 0; jag < 180; i ++)
{
mooseMove(random(500,1450));
Delay(Random(150,300));
}
}*/
clearEmicSerialRead();

emicSerial.println("P1");
clearEmicSerialRead();

}

Se Steg
Relaterade Ämnen

Vintage Coin-Op Arcade, Esmeralda Fortune Teller

Denna kostym var super kul att slitage... men utmanande att göra! Det skulle inte vara så svårt nu, efter att ha gått igenom processen en gång, men att de alla veta 24 åringar som vi är, vi kände att vi skulle vara helt bra väntar till sista minuten...

Zolterno: En Animatronic, brand baserade Fortune Teller

nästan alla som har bott för tid förstår popkulturen referenser från Tom Hanks classic: stor. För att undvika mobbning, barn hittar en mystisk fortune teller ("Zoltar"), och vill växa upp. Mycket till sin förvåning blir hans önskan sann. Jag vil...

Hur man gör en Fortune Teller

Detta är ett enkelt sätt att underhålla barnen att agerar upp eller ett sätt att hålla underhöll när du är uttråkad och inuti.Steg 1: Vad du behöver:En rektangulär pappersarkEn plan yta att arbeta påSax (valfritt)Steg 2:Ta din pappersark och vik hörn...

En alla hjärtans Fortune Teller-är de en för mig?

Hello!Jag kommer för att visa dig hur man gör en alla hjärtans Fortune Teller (Anton cacther) så du kan ta reda på om din hemliga kärlek älskar dig tillbaka!Detta är bara för skojs skull och kanske inte ger förutsägbara resultat!Njut och glad Alla hj...

Amelias Fortune Teller

dessa roliga papper leksaker gå av en mängd olika namn. Det här är Amelia förklarar hur hon gjorde sin Fortune Teller.Bra jobb Amelia!...

Fortune Teller monter

detta instructable är mer om att använda en viss typ av hårdvara än den övergripande bygget.Jag ska anta att du har en idé om hur man klippa och montera trä i en ram och att du vet hur man fäster plywood som ramar. Om inte, jag är säker det finns Ins...

Fru Karlsson skelett Fortune Teller

Fortune teller är till skillnad från de flesta fortune teller maskiner eftersom det kommer att förolämpa dig. När trick-or-treaters knacka på dörren, dras de alltid till skelett spåkvinnan. Jag ändra dispenseras förmögenheter och den förmögenhet Visa...

Lätt Fortune Teller blommor

Dessa cool och lätt blommor är bra för ganska mycket allt! Att ge som gåva eller dekorera för mittpunkten vid ett bord. Hur som helst är dessa blommor snabbt och enkelt.Steg 1: Vad behöver du?Allt du behöver för detta projekt är tre bitar av origamip...

Göra ett hjärta av en Fortune Teller

Steg 1: Starta hjärtat Tuck i hörnen av fortune teller och veck. Sedan göra spåkvinnan platt och vänds detSteg 2: Utgör hjärtat Ta två hörnen diagonalt från varandra och nyp dem ihop.Steg 3: Utgör hjärtat Sedan trycka dem tillsammansSteg 4: Utgör hjä...

Origami lilla arrangör/Fortune Teller

Hej! LambyAngel är här! Idag ska jag visa dig hur man gör en origami arrangör/fortune teller. Låt oss komma igång!Steg 1: material Så för denna origami skapelse behöver du:1) origami papper (eller papper, du kan bara klippa det)2) sax (för styckning...

Hur man gör ett papper Fortune Teller - Video instruktioner

hur man gör ett papper Fortune Teller - Video instruktioner...

DIY Fortune Teller

detta är en riktigt enkel, lätt hantverk för alla. Du kan göra det på språng, i ditt hus, eller lång flygplan Rider Rider/bil. Det är kul eftersom det finns många varianter för faktiska öden och du har att utöva lite fantasi, men låt oss komma igång...

Hur man gör ett papper Fortune Teller - av Ultimate handledning

Hej alla, Välkommen till slutlig Tutorials! Idag ska vi visa dig hur man gör ett papper forune teller som du kan se i skolan. Så först någon unge gör en papper fortune teller och du vill ha en så dålig men du inte vill be dem att göra dig en och ser...

Hur man gör en Viva Fortune Teller i 7 enkla steg!

Steg 1: Få Viva Få en bit av viva eller pappershandduk men viva fungerar bättreSteg 2: skär Sätta i triangel och skära av extra (pekas) bort.Steg 3: Gör Fortune Teller 1. ta ställning och vika dem till mitten 2. Vänds och vik försiktigt!!! 3. Vik på...

Old Skool kul från förr i tiden: Origami Fortune Teller

så mycket förändringar från en tid av våra liv till nästa. Jag tror ingenting gör mig mer nostalgisk än att göra en av dessa små saker från gymnasiet under mina vuxna år. Ett exempel är att skriva en anteckning till min älskling och ge det till honom...

Psychic Fortune Teller - en automat som läser hos Twitter

Läskiga nöjesfält attraktion och Twitter App!Den psykiska kupan-Mind Fortune Teller är en nöjesplatsen arcade-typ attraktion som kan berätta för din förmögenhet. Ännu bättre än det dock - är det också en webb-anslutna Twitter program som kan skörda t...

Multi personlighet Fortune teller

Detta Arduino projekt är en återgång till flera carnival och nyhet arkadspel från när jag var liten. Jag har gjort många Arduino projekt, men detta är mitt första projekt som var min egen design. Före detta följde jag i allmänhet någon annans design...

Arduino Powered Fortune Teller

Jag skapade denna roliga Instructable att visa dig hur man gör en helt anpassningsbara Digital Fortune Teller. När knappen trycks, får du en random förmögenhet. Detta är allt roligt i förmögenheter, utan att behöva äta alla cookies! Njuta av.Leverans...

Arduino Fortune Teller

detta projekt ger användaren en förmögenhet och lucky number liknande från en lyckokaka. Detta gjordes som en julklapp.Steg 1: Steg 1 Löd rubriken pins på LCD. Löda sladdar till kvinnliga huvud stift och hookup till Arduino. Här använde vi den LCD-4...