Projet Suite Bros : Commande vocale LED amitié Photoset (Arduino, Bluetooth, métiers d’art) (6 / 9 étapes)

Étape 6: Programmation votre Arduino

Cette partie suivante est également très importante. Une fois de plus, le secteur a donné une explication exceptionnelle. J’ai collé ci-dessous (mais veuillez consulter sa page) :

Comprendre l’App

Avant de programmer l’arduino, vous devez tout d’abord apprendre comment fonctionne l’app. Les travaux de l’app en reconnaissant votre voix commande, il affiche alors les mots que vous avez parlé alors envoyer des données / cordes à l’arduino via bluetooth. Ce qui est une chaîne ? Une chaîne est comme un mot, vous pouvez faire des instructions conditionnelles hors de lui [ex : si (voix == "* ordinateur sur") {/ / allumer Pin #2}]. « La voix » est votre chaîne, « == » est votre condition (signifie égal à), « * ordinateur sur "est votre commande et le code à l’intérieur des accolades"{}"sont les codes pour être exécuté une fois que votre chaîne correspond à l’état de la commande.

Quel est le format de la chaîne ? Comment sait-il quand la prochaine commande est utilisé ? Comment est-ce il différencie un ensemble de mots d’une nouvelle commande ? L’application envoie des chaînes dans ce format * commande #, l’astérisque (*) indique le début d’une nouvelle commande et la balise de hachage (#) indique la fin d’une commande. J’ai pu enlever le hash-tag (#) après que chaque mot dans l’instruction conditionnelle n’a pas été en mesure de supprimer l’astérisque (*). Vous aurez besoin démarrer votre état de commande avec un astérisque autrement que l’esquisse ne fonctionnera pas.

Comment puis-je changer les commandes ?

Vous pouvez voir que le "* TV sur" est mis en évidence de l’image ci-dessus. Si vous souhaitez modifier la commande à, humm, nous allons dire « porte ouverte », vous pouvez remplacer le "* TV sur" avec "* porte de garage ouverte". N’oubliez pas de commencer la commande avec un astérisque.

LE CODE

Arduino (Bluetooth + Android) codé par commande vocale :
Angelo Cavalli (27/04/14)

Adapté par : Chloe Shih (25/08/14)

PROJET SUITE BROS

N’hésitez pas à le modifier, mais n’oubliez pas de donner crédit

Voix de la chaîne ;

String voice2 ;

int

LED1 = 2, //Connect LED 1 à broche #2

LED2 = 3, //Connect LED 2 à broche #3

LED3 = 4, //Connect LED 3 à broche #4

LED4 = 5, //Connect LED 4 à broche #5

5 = 6, //Connect LED 5 à broche #6

LED6 = 7, //Connect LED 6 à broche #7

LED7 = 8, //Connect LED 7 à broche #8 (broches commencent ici en bas)

LED8 = 9, //Connect LED 8 à Pin #9

LED9 = 10, //Connect LED 9 à Pin #10

LED10 = 11, //Connect LED 10 à broche #11

LED11 = 12, //Connect LED 11 à Pin #12

LED12 = 13 ; Branchez le LED 12 sur broche #13

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

void allon() {}

digitalWrite (led1, HIGH) ; Kevin

digitalWrite (led2, HIGH) ; Briton

digitalWrite (DEL3, HIGH) ; Chloe

digitalWrite (led4, HIGH) ; couleur de kevin

digitalWrite (DEL5, HIGH) ; couleur de Briton

digitalWrite (led6, HIGH) ; couleur de Chloé

digitalWrite (led7, HIGH) ; jaune moyen

digitalWrite (led8, HIGH) ; vert moyen

digitalWrite (led9, HIGH) ; côté bleu

digitalWrite (led10, HIGH) ; côté rouge

digitalWrite (led11, HIGH) ; fond blanc

digitalWrite (led12, HIGH) ; fond jaune

}

void alloff() {}

digitalWrite (led1, faible) ; Kevin

digitalWrite (led2, faible) ; Briton

digitalWrite (DEL3, faible) ; Chloe

digitalWrite (led4, faible) ; couleur de kevin

digitalWrite (DEL5, faible) ; couleur de Briton

digitalWrite (led6, faible) ; couleur de Chloé

digitalWrite (led7, faible) ; jaune moyen

digitalWrite (led8, faible) ; vert moyen

digitalWrite (led9, basse) ; côté bleu

digitalWrite (led10, basse) ; côté rouge

digitalWrite (led11, faible) ; fond blanc

digitalWrite (led12, faible) ; fond jaune

}

void partyloop() {}

tandis que (voix == "* parti") {}

digitalWrite (led4, HIGH) ; allumer la LED (HIGH est le niveau de tension)

digitalWrite (DEL5, HIGH) ;

digitalWrite (led12, HIGH) ; fond jaune

digitalWrite (led6, HIGH) ;

digitalWrite (led7, HIGH) ;

digitalWrite (led8, HIGH) ;

digitalWrite (led9, HIGH) ;

digitalWrite (led10, HIGH) ;

Delay(300) ; attendez pendant une demi-seconde

digitalWrite (led1, HIGH) ;

digitalWrite (DEL3, HIGH) ;

digitalWrite (led4, faible) ; éteindre la LED en rendant la tension basse

digitalWrite (led6, faible) ;

digitalWrite (led7, faible) ;

digitalWrite (led10, basse) ;

Delay(100) ;

digitalWrite (DEL3, faible) ;

digitalWrite (led1, faible) ;

digitalWrite (DEL5, faible) ;

digitalWrite (led12, faible) ; fond jaune

digitalWrite (led2, HIGH) ;

digitalWrite (led11, HIGH) ; fond blanc

digitalWrite (led4, HIGH) ;

digitalWrite (led6, HIGH) ;

digitalWrite (led8, faible) ;

digitalWrite (led7, HIGH) ;

digitalWrite (led9, basse) ;

digitalWrite (led10, HIGH) ;

Delay(500) ;

digitalWrite (led6, faible) ;

digitalWrite (led1, HIGH) ;

digitalWrite (DEL3, HIGH) ;

digitalWrite (led4, faible) ;

digitalWrite (DEL5, HIGH) ;

digitalWrite (led12, HIGH) ;

digitalWrite (led8, HIGH) ;

digitalWrite (led7, faible) ;

digitalWrite (led9, basse) ;

digitalWrite (led10, HIGH) ;

Delay(600) ;

digitalWrite (led1, faible) ;

digitalWrite (led2, faible) ;

digitalWrite (led11, faible) ; fond blanc

digitalWrite (DEL5, faible) ;

digitalWrite (led12, faible) ; fond jaune

digitalWrite (DEL3, faible) ; voix: « * parti "à ce stade

digitalWrite (led7, HIGH) ;

digitalWrite (led8, faible) ;

digitalWrite (led9, HIGH) ;

digitalWrite (led10, basse) ;

Serial.println ("en boucle") ;

newVoice() ; reçoit la nouvelle voix.

Si (! () voice2.Equals(Voice)) & & voice2! = "") {}

voix = voice2 ;

}

}

Si (voix! = "* parti sur" & & voix! = "* parti hors" & & voix! = "* merde parti" & & voix! = "* party pooper" & & voix! = "* lumières éteintes" & & voix! = "* parti de") {}

voix = "* parti » ;

voice2 = "" ;

partyloop() ;

}

ALLOFF() ; Éteignez toutes les lumières

}

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

void newVoice() {}

voice2 == "" ; voix claire

tandis que (Serial.available()) {//Check s’il y a un octet disponible pour lire

Delay(10) ; Délai ajouté pour rendre la chose stable

char c = Serial.read() ; Procéder à une lecture de série

if (c == '#') {

rupture ;

} //Exit la boucle lorsque le # est détecté après le mot

voice2 += c ; Raccourci pour voix = voix + c

}

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

Serial.println(voice2) ;

}

}

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

void setup() {}

Serial.Begin(9600) ;

pinMode (led1, sortie) ;

pinMode (led2, sortie) ;

pinMode (DEL3, sortie) ;

pinMode (led4, sortie) ;

pinMode (DEL5, sortie) ;

pinMode (led6, sortie) ;

pinMode (led7, sortie) ;

pinMode (led8, sortie) ;

pinMode (led9, sortie) ;

pinMode (led10, sortie) ;

pinMode (led11, sortie) ;

pinMode (led12, sortie) ;

}

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

void loop() {}

tandis que (Serial.available()) {//Check s’il y a un octet disponible pour lire

Delay(10) ; Délai ajouté pour rendre la chose stable

char c = Serial.read() ; Procéder à une lecture de série

if (c == '#') {

rupture ;

} //Exit la boucle lorsque le # est détecté après le mot

c += de voix ; Raccourci pour voix = voix + c

}

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

Serial.println(Voice) ;

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

---Contrôler plusieurs codes PIN / LEDs---/ /

Si (voix == "* tout allumer") {allon();} //Turn Off toutes les goupilles (fonction appel)

ElseIf (voix == "* tout éteindre" || voix == "* éteindre" || voix == "* party sur" || voix == "* parti hors" || voix == "* partie de" || voix == "* merde parti" || voix == "* lumières éteintes" || voix == "* s’allume of"){alloff();} //Turn sur toutes les goupilles (fonction d’appel)

ElseIf (voix == "* partie on"){partyloop();}

ElseIf (voix == "* amis sur" || voix == "* les bros de suite sur" || voix == "* la douce Bros" || voix == "* suite bros sur" || voix == "* doux Bros sur") {

digitalWrite (led1, HIGH) ; Kevin

digitalWrite (led2, HIGH) ; Briton

digitalWrite (DEL3, HIGH) ; Chloe

}

ElseIf (voix == "* feux sur") {digitalWrite (led9, HIGH); digitalWrite (led10, HIGH);}

---Allumer par un---/ /

ElseIf (voix == "* Kevin sur" || voix == "* kevin sur") {digitalWrite (led1, HIGH);}

ElseIf (voix == "* britannique sur" || voix == "* Brighton sur" || voix == "* Abbie sur" || voix == "* abbie sur") {digitalWrite (led2, HIGH);}

ElseIf (voix == "* Chloe sur") {digitalWrite (DEL3, HIGH);}

ElseIf (voix == "* smile sur") {digitalWrite (led11, HIGH);}

ElseIf (voix == "* message sur") {digitalWrite (led8, HIGH); digitalWrite (led7, HIGH);}

ElseIf (voix == "* rouge sur") {digitalWrite (led10, HIGH);}

ElseIf (voix == "* bleu sur") {digitalWrite (led9, HIGH);}

---Couper un par un---/ /

ElseIf (voix == "* Kevin off" || voix == "* kevin off") {digitalWrite (led1, faible); digitalWrite (led4, faible);}

ElseIf (voix == "* britannique hors" || voix == « Brighton off » || voix == "* abbie hors" || voix == "* Abbie de" || voix == "* abbie de" || voix == "* Abbie off") {digitalWrite (led2, faible); digitalWrite (DEL5, faible);}

ElseIf (voix == "* Chloe off") {digitalWrite (DEL3, faible); digitalWrite (led6, LOW);}

ElseIf (voix == "* message hors" || voix == "* message de") {digitalWrite (led7, LOW); digitalWrite (led8, LOW);}

ElseIf (voix == "* rouge éteint" || voix == "* rouge de") {digitalWrite (led10, LOW);}

ElseIf (voix == "* bleu hors" || voix == "* bleu de") {digitalWrite (led9, LOW);}

ElseIf (voix == "* sourire de" || voix == "* sourire éteint") {digitalWrite (led11, LOW); digitalWrite (led12, faible);}

---S’éteint au groupe---/ /

ElseIf (voix == "* amis hors" || voix == "* amis du" || voix == « bros suite arrêt » || voix == "* Bros doux de" || voix == "* Bros doux hors" || voix == "* bros doux hors" || voix == "* bros doux de") {

digitalWrite (led1, faible) ; Kevin

digitalWrite (led2, faible) ; Briton

digitalWrite (DEL3, faible) ; Chloe

}

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

voix = "";}} Réinitialiser la variable après l’ouverture

Articles Liés

Dispositifs de commande par commande vocale utilisant android et arduino

Dispositifs de commande par commande vocale utilisant android et arduino

Cette ible servira de questions, comme la façon de contrôler les périphériques par commandes vocales, la reconnaissance vocale disponible dans android.Tous les appareils android est livré avec la reconnaissance vocale intégré. Ceci peut être utilisé
Commander une Led RGB avec Arduino et traitement

Commander une Led RGB avec Arduino et traitement

cette instructable (mon premier pas moins) indique comment contrôler une RGB a conduit à l'aide de la transformation et arduino.La caractéristique principale étant que la couleur est sélectionnée en cliquant sur une image, la valeur RGB du pixel sur
Commande vocale Interactive Puzzle

Commande vocale Interactive Puzzle

Créer un puzzle de commande vocale qui fera plaisir compte ! Comme vous le dites les mots « one, two, three » les voyants seront allument à un à la fois. Ce projet utilise un bouclier de reconnaissance de voix particulière (EasyVR 2.0) qui programmes
Commande vocale Arduino (Bluetooth + Android)

Commande vocale Arduino (Bluetooth + Android)

Contrôler votre Arduino avec commandes vocales à l'aide d'un smartphone Android ! Avant de faire un système de domotique activé par la voix, nous devons d'abord apprendre les principes de base de l'expérience. Ce guide vous permettra de commander l'A
Commande vocale Drone

Commande vocale Drone

Ce Instructable vous guidera à travers la façon de faire un bourdon de commande vocale. Si vous êtes expérimenté en codage et voudriez essayer de coder l'interface app à partir de zéro, il y aura plusieurs mesures pour aider à vous diriger sur la bon
ARDUINO basé à commande vocale appareils ménagers

ARDUINO basé à commande vocale appareils ménagers

ACTIVATION des appareils ménagers avec voix en utilisant bluetooth est un moyen plus simple de rendre votre maison « A SMART HOME ». Dans cette série de STEPS.we vont découvrir est pas cool ça pour mettre en marche le ventilateur par simplement assis
Smart Home Automation avec commande vocale

Smart Home Automation avec commande vocale

Il s'agit d'un tutoriel étape par étape construire le circuit pour la fonction « Smart Home Automation avec commande vocale ».Télécharger notre Code libre du projet Arduino ici.Exigences :• Arduino Uno• LED• Résistance (220 ohms)• Module Bluetooth (B
HAVOC - domotique avec commande vocale

HAVOC - domotique avec commande vocale

Avant de commencer la description de projet, je tiens à remercier Audrey et Nicole de me présenter au Conseil de Edison Intel avec un tas de capteurs.Dans ce Instructable j'ai utilisé Intel Edison de mettre en œuvre la domotique avec commande vocale
Logiciel de commande vocale pour les jeux vidéo !

Logiciel de commande vocale pour les jeux vidéo !

Salut! Et Bienvenue sur mon instructable, où je vais enseigner vous très basique codage donc vous serez en mesure de faire de votre logiciel de commande vocale très qui fonctionne sur pratiquement n'importe quel jeu !Je vais vous enseigner comment cr
Tony : un connecté, commande vocale ampoule

Tony : un connecté, commande vocale ampoule

Tony est une ampoule connectée, commande vocale de l'avenir. Dispositifs différentiels, portatifs et appareils qui se connectent via BLE doivent être contrôlées par une application du téléphone intelligent et ne sont pas « intelligentes » ou « branch
UARM avec commande vocale – MODULE de EASYVR

UARM avec commande vocale – MODULE de EASYVR

Décideurs, ces jours-ci, nous avons fait un autre cas d'utilisation qui EasyVR module permettant de contrôler uArm par méthode de reconnaissance vocale.Dans cette vidéo, je me suis entretenu 7 commandes : Start, droite, avant, arrière, bas, accueil,
Commandes vocales Android pour arduino

Commandes vocales Android pour arduino

Discours au texte est quelque chose de vraiment nouveau. Je vais vous montrer comment l'utiliser en studio android et comment contrôler les sorties d'un arduino avec elle.Par exemple quand vous dites « TV sur », le téléviseur s'allume etc..Dans ce tu
Automatique / commande vocale Cat Feeder

Automatique / commande vocale Cat Feeder

Je nourris mon chat plusieurs fois pendant la journée. Comme j'ai aurait la tête à la porte, je voudrais un avis souvent que son bol est vide. J'ai voulu la capacité de rapidement et facilement nourrir tout temps nécessaire. J'ai plusieurs Amazon Ech
Assistant de PC commande vocale

Assistant de PC commande vocale

Ok donc je sais qu'il y a déjà beaucoup d'entre eux là-bas, mais je ne pouvais pas trouver une voix contrôlée adjoint PC que j'ai vraiment aimé, alors j'ai fait mon propre. L'assistant fera tout de blagues dites aux programmes de l'ouverture, et j'ai