Project Suite Bros: Voice Activated LED vriendschap Photoset (Arduino, Bluetooth, ambachten) (6 / 9 stap)

Stap 6: Programmeren van de Arduino


Dit volgende deel is ook zeer belangrijk. Nogmaals, heeft ASCAS een uitstekende uitleg gegeven. Ik heb geplakt het hieronder (maar controleer zijn pagina):

Inzicht in de App

Voordat u de arduino programmeert, moet u eerst leren hoe de app werkt. Het werk van de app van het herkennen van uw stem commando, het zal dan tonen de woorden die u heb gesproken dan het verzenden van gegevens / snaren aan de arduino via bluetooth. Wat is een string? Een tekenreeks als een woord is, kunt u voorwaardelijke instructies uit het [ex: als (stem == "* computer op") {/ / Pin #2 inschakelen}]. The "voice" is uw tekenreeks, "==" is uw conditie (betekent gelijk aan), "* computer op" is uw opdracht en de code binnen de accolades "{}" zijn de codes die moeten worden uitgevoerd zodra uw tekenreeks overeenkomt met de voorwaarde van de opdracht.

Wat is de indeling van de tekenreeks? Hoe weet het wanneer de volgende opdracht schopt? Hoe het een aantal woorden onderscheiden van een nieuwe opdracht? De app stuurt tekenreeksen in dit formaat * opdracht #, het sterretje (*) geeft aan het begin van een nieuwe opdracht en de hash-tag (#) geeft het einde van een opdracht. Ik was in staat om de hash-tag (#) na elk woord in de voorwaardelijke instructie kon niet het sterretje (*) te verwijderen. U zult moeten om te beginnen met uw opdracht conditie met een sterretje anders die de schets zal niet werken.

Hoe kan ik de opdrachten wijzigen?

U kunt zien dat de "* TV op" uit de afbeelding hierboven is gemarkeerd. Wilt u de opdracht wijzigt, humm laten we zeggen "open garagedeur", kunt u vervangen door de "* TV op" met "* open garagedeur". Altijd onthouden om de opdracht beginnen met een sterretje.

DE CODE

Voice Activated Arduino (Bluetooth + Android) gecodeerd door:
Angelo Casimiro (4/27/14)

Aangepast door: Chloe-Shih (8/25/14)

PROJECT SUITE BROS

Voel je vrij om het te wijzigen maar vergeet niet om krediet te geven

Tekenreeks stem;

String voice2;

int

LED1 = 2, //Connect LED 1 naar Pin #2

LED2 = 3, //Connect LED 2 naar Pin #3

LED3 = 4, //Connect LED 3 Pin #4

LED4 = 5, //Connect LED 4 tot Pin #5

LED5 = 6, //Connect LED 5 tot Pin #6

LED6 = 7, //Connect LED 6 tot Pin #7

LED7 = 8, //Connect LED 7 tot Pin #8 (pinnen hier beginnen onder)

led8 = 9, //Connect LED 8 tot Pin #9

led9 = 10, //Connect LED 9 tot Pin #10

led10 = 11, //Connect LED 10 t/m Pin #11

led11 = 12, //Connect LED 11 tot Pin #12

led12 = 13; LED 12 verbinden met Pin #13

//--------------------------Call A Function-------------------------------//

ongeldig allon() {}

digitalWrite (led1, hoge); Kevin

digitalWrite (led2, hoge); Brit

digitalWrite (led3, hoge); Chloe

digitalWrite (led4, hoge); Kevin's kleur

digitalWrite (led5, hoge); Brit van kleur

digitalWrite (led6, hoge); Chloe's kleur

digitalWrite (led7, hoge); gele midden

digitalWrite (led8, hoge); groene midden

digitalWrite (led9, hoge); blauwe kant

digitalWrite (led10, hoge); rode kant

digitalWrite (led11, hoge); witte onderkant

digitalWrite (led12, hoge); gele onderkant

}

ongeldig alloff() {}

digitalWrite (led1, laag); Kevin

digitalWrite (led2, laag); Brit

digitalWrite (led3, laag); Chloe

digitalWrite (led4, laag); Kevin's kleur

digitalWrite (led5, laag); Brit van kleur

digitalWrite (led6, laag); Chloe's kleur

digitalWrite (led7, laag); gele midden

digitalWrite (led8, laag); groene midden

digitalWrite (led9, laag); blauwe kant

digitalWrite (led10, laag); rode kant

digitalWrite (led11, laag); witte onderkant

digitalWrite (led12, laag); gele onderkant

}

ongeldig partyloop() {}

terwijl (stem == "* partij op") {}

digitalWrite (led4, hoge); de LED inschakelen (HIGH is het spanningsniveau)

digitalWrite (led5, hoge);

digitalWrite (led12, hoge); onder geel

digitalWrite (led6, hoge);

digitalWrite (led7, hoge);

digitalWrite (led8, hoge);

digitalWrite (led9, hoge);

digitalWrite (led10, hoge);

delay(300); wachten op een halve seconde

digitalWrite (led1, hoge);

digitalWrite (led3, hoge);

digitalWrite (led4, laag); de LED uitschakelen door de spanning laag

digitalWrite (led6, laag);

digitalWrite (led7, laag);

digitalWrite (led10, laag);

delay(100);

digitalWrite (led3, laag);

digitalWrite (led1, laag);

digitalWrite (led5, laag);

digitalWrite (led12, laag); onder geel

digitalWrite (led2, hoge);

digitalWrite (led11, hoge); bodem wit

digitalWrite (led4, hoge);

digitalWrite (led6, hoge);

digitalWrite (led8, laag);

digitalWrite (led7, hoge);

digitalWrite (led9, laag);

digitalWrite (led10, hoge);

delay(500);

digitalWrite (led6, laag);

digitalWrite (led1, hoge);

digitalWrite (led3, hoge);

digitalWrite (led4, laag);

digitalWrite (led5, hoge);

digitalWrite (led12, hoge);

digitalWrite (led8, hoge);

digitalWrite (led7, laag);

digitalWrite (led9, laag);

digitalWrite (led10, hoge);

delay(600);

digitalWrite (led1, laag);

digitalWrite (led2, laag);

digitalWrite (led11, laag); bodem wit

digitalWrite (led5, laag);

digitalWrite (led12, laag); onder geel

digitalWrite (led3, laag); stem: "* partij op" op dit moment

digitalWrite (led7, hoge);

digitalWrite (led8, laag);

digitalWrite (led9, hoge);

digitalWrite (led10, laag);

Serial.println ("in lijn");

newVoice(); ontvangt nieuwe stem.

Als (! () voice2.equals(Voice)) & & voice2! = "") {}

stem = voice2;

}

}

Als (stem! = "* partij over" & & stem! = "* partij uit" & & stem! = "* partij kak" & & stem! = "* partij pooper" & & stem! = "* licht uit" & & stem! = "* partij van") {}

stem = "* partij op";

voice2 = "";

partyloop();

}

AllOff(); alle verlichting uitschakelen

}

//-----------------------------------------------------------------------//

ongeldig newVoice() {}

voice2 == ""; duidelijke stem

terwijl (Serial.available()) {//Check als er een beschikbaar byte om te lezen

delay(10); Vertraging toegevoegd ding om stabiel te maken

char c = Serial.read(); Voeren van een seriële lezen

if (c == '#') {

breken;

} //Exit de lus wanneer het # wordt gedetecteerd na het woord

voice2 += c; Afkorting voor voice = stem + c

}

Als (voice2.length() > 0) {}

Serial.println(voice2);

}

}

//-----------------------------------------------------------------------//

VOID Setup {}

Serial.begin(9600);

pinMode (led1, OUTPUT);

pinMode (led2, OUTPUT);

pinMode (led3, OUTPUT);

pinMode (led4, OUTPUT);

pinMode (led5, OUTPUT);

pinMode (led6, OUTPUT);

pinMode (led7, OUTPUT);

pinMode (led8, OUTPUT);

pinMode (led9, OUTPUT);

pinMode (led10, OUTPUT);

pinMode (led11, OUTPUT);

pinMode (led12, OUTPUT);

}

//-----------------------------------------------------------------------//

void loop {}

terwijl (Serial.available()) {//Check als er een beschikbaar byte om te lezen

delay(10); Vertraging toegevoegd ding om stabiel te maken

char c = Serial.read(); Voeren van een seriële lezen

if (c == '#') {

breken;

} //Exit de lus wanneer het # wordt gedetecteerd na het woord

stem += c; Afkorting voor voice = stem + c

}

Als (voice.length() > 0) {}

Serial.println(Voice);

//-----------------------------------------------------------------------//

---Controle meerdere pinnen / LEDs---/ /

Als (stem == "* alle inschakelen") {allon();} //Turn uit alle pinnen (Bel functie)

anders als (stem == "* alle uitschakelen" || stem == "* uitschakelen" || stem == "* partij over" || stem == "* partij uit" || stem == "* partij van" || stem == "* partij kak" || stem == "* licht uit" || stem == "* licht of"){alloff();} //Turn op alle pinnen (oproep functie)

anders als (stem == "* partij on"){partyloop();}

anders als (stem == "* vrienden op" || stem == "* de suite bros op" || stem == "* de zoete Bros" || stem == "* suite bros op" || stem == "* zoete Bros op") {}

digitalWrite (led1, hoge); Kevin

digitalWrite (led2, hoge); Brit

digitalWrite (led3, hoge); Chloe

}

anders als (stem == "* kant lichten op") {digitalWrite (led9, hoge); digitalWrite (led10, hoge);}

---Zet één-door-één---/ /

anders als (stem == "* Kevin op" || stem == "* kevin op") {digitalWrite (led1, hoge);}

anders als (stem == "* Brit op" || stem == "* Brighton op" || stem == "* Abbie op" || stem == "* abbie op") {digitalWrite (led2, hoge);}

anders als (stem == "* Chloe op") {digitalWrite (led3, hoge);}

anders als (stem == "* glimlach op") {digitalWrite (led11, hoge);}

anders als (stem == "* bericht op") {digitalWrite (led8, hoge); digitalWrite (led7, hoge);}

anders als (stem == "* rode op") {digitalWrite (led10, hoge);}

anders als (stem == "* blauw op") {digitalWrite (led9, hoge);}

---Uitschakelen één-door-één---/ /

anders als (stem == "* Kevin uit" || stem == "* kevin af") {digitalWrite (led1, laag); digitalWrite (led4, laag);}

anders als (stem == "* Brit uit" || stem == "Brighton uit" || stem == "* abbie uit" || stem == "* Abbie van" || stem == "* abbie van" || stem == "* Abbie af") {digitalWrite (led2, laag); digitalWrite (led5, laag);}

anders als (stem == "* Chloe af") {digitalWrite (led3, laag); digitalWrite (led6, laag);}

anders als (stem == "* message uit" || stem == "* boodschap van") {digitalWrite (led7, laag); digitalWrite (led8, laag);}

anders als (stem == "* rode uit" || stem == "* van rode") {digitalWrite (led10, laag);}

anders als (stem == "* blauw uit" || stem == "* blauw van") {digitalWrite (led9, laag);}

anders als (stem == "* glimlach van" || stem == "* glimlach af") {digitalWrite (led11, laag); digitalWrite (led12, laag);}

---Uitschakelen in groep---/ /

anders als (stem == "* vrienden uit" || stem == "* vrienden van" || stem == "suite bros uit" || stem == "* zoete Bros van" || stem == "* zoete Bros uit" || stem == "* zoete bros uit" || stem == "* zoete bros van") {}

digitalWrite (led1, laag); Kevin

digitalWrite (led2, laag); Brit

digitalWrite (led3, laag); Chloe

}

//-----------------------------------------------------------------------//

stem = "" ;}} Reset van de variabele na starten

Gerelateerde Artikelen

Voice Activated LED-verlichting met Arduino

Voice Activated LED-verlichting met Arduino

Dit project is een uitbreiding van de mogelijkheden van spraakherkenning met Arduino met leandro4b (). Echter, in plaats van met 3 afzonderlijke gekleurde LED's, gebruikte ik een multicolor 4-kanaals RGBW LED Emitter. Ik had de kans van het werken bi
Voice Activated Arduino (Bluetooth + Android)

Voice Activated Arduino (Bluetooth + Android)

Je Arduino besturen met spraakopdrachten met behulp van een Android-smartphone! Voordat we een stem geactiveerd domoticasysteem maken, moeten we eerst leren de basisprincipes van het experiment. Deze gids laat je de Arduino met behulp van uw Android-
Intel® Edison Hands-on dag 5: Voice Activated lamp

Intel® Edison Hands-on dag 5: Voice Activated lamp

Voice Activated lampHad u ooit nieuwsgierig geweest over de stem geactiveerd lamp in je kindertijd? Had u ooit gestempelde weer en enkel draai op het licht? Zolang u uw handen klappen, zullen het licht draai op. In deze sectie zullen we een dergelijk
Stem ingang Arduino Bi-color LED Matrix scrollen tekstweergave (Bluetooth + Android)

Stem ingang Arduino Bi-color LED Matrix scrollen tekstweergave (Bluetooth + Android)

Tijdens het browsen interessante projecten op Instructables, stuitte we op de indrukwekkende stem geactiveerd Arduino (Bluetooth + Android) instructable. Je kan check it out opOnlangs, hebben zetten we een instructable te bouwen een 7 Bi-color 8 x 8
Kleur kalibreren RGB LEDs met een Arduino

Kleur kalibreren RGB LEDs met een Arduino

De meeste mensen denken LEDs en Arduino van betrekkingen eindigen met het knipperen schets. Daarna moet u gaan naar motoren, intelligente huizen en andere 'serieuze' dingen. Nou, misschien ik ben langzaam of misschien is het gewoon dat ik een grafisc
Meerdere LED Matrices met Arduino

Meerdere LED Matrices met Arduino

Dit project is gebaseerd op een workshop die we bij Makespace Madrid georganiseerd in het kader van "La noche de la electrónica con Jameco".  In een eerdere instructable we al introduceerde het beheren van een enkele LED-matrix met Arduino. In d
Met behulp van een Dot Matrix LED met een Arduino en Shift Register

Met behulp van een Dot Matrix LED met een Arduino en Shift Register

de Siemens DLO7135 Dot matrix LED is een verbazingwekkend stukje opto-elektronica. Het is gefactureerd als een 5 x 7 Dot Matrix intelligente Display (r) met geheugen/Decoder/Driver. Samen met dat het geheugen, het heeft een 96-ASCII karakterdisplay s
LED controle met behulp van de Arduino Bluetooth en Android. (Deel 1)

LED controle met behulp van de Arduino Bluetooth en Android. (Deel 1)

Dit instructable is een eenvoudige tutorial uitleggen hoe de controle van één LED met Android's Bluetooth.U moet:Arduino UNOWeerstanden 300Ω (3 x)Weerstand 150ΩLEDJumpers;Bluetooth-Module (HC-06/andere);Android telefoon;SPP Bluetooth Apk (unWired Lit
Beheersing van meerdere LEDs met een Arduino Uno.

Beheersing van meerdere LEDs met een Arduino Uno.

Dit instructable coversssets voor instructies voor het gebruik van een microcontroller, genaamd de Arduino Uno diverse verlichting om reeksen te maken op lichtemitterende diodes, meer de volksmond bekend als LEDs. De onderstaande instructies hebben b
LED paraplu met Arduino

LED paraplu met Arduino

de LED paraplu met Arduino combineert een paraplu, een 8 x 10 LED matrix en een Arduino microcontroller maken een controleerbaar, programmeerbare LED ervaring in de privacy van uw eigen paraplu. Dit project werd geïnspireerd door de elektrische parap
Fiets wiel WS2811 LED effecten met Arduino

Fiets wiel WS2811 LED effecten met Arduino

[TODO: een nette video of foto's uit de werkelijke rijden invoegen][Merk op de Arduino schets werkt maar is werk in uitvoering, zie laatste stap voor link]Persistentie van Vision (POV) effecten kunt u willekeurige afbeeldingen met slechts een paar co
Hoe u kunt besturen een RGB LED met een Arduino

Hoe u kunt besturen een RGB LED met een Arduino

In dit Instructable, zal ik tonen u hoe u kunt besturen een RGB LED met een Arduino.Ter voltooiing van dit project, hebt u het volgende nodig:1 x Arduino (ik ben met behulp van de Arduino Uno R3)1 x RGB LED3 x 150-220 ohm weerstanden4 x Jumper draden
Kleine LED-Strip Controller met LED Amp en Arduino Nano

Kleine LED-Strip Controller met LED Amp en Arduino Nano

Een kleine LED strip controller gemaakt met een LED-versterker en een Arduino Nano. Perfect voor het maken van aangepaste verlichting patronen en/of controle van de led strip van uw computer. De Mosfet-poorten van de versterker wordt gebruikt om te c
RGB LED gecontroleerd met arduino

RGB LED gecontroleerd met arduino

HalloDit is een beetje instructable te laten zien hoe te doen (rood groen en blauw) RGB Led gecontroleerd met arduino. Het bevat schema van het circuit en een kleine C# programma dat toestaat om te veranderen van de kleur van de Led.Stap 1: Doe het c