Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Introduction: commande vocale éclairage LED avec Arduino

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

L'idée est simple: Je veux une commande vocale programme LED qui me permettent de changer la couleur en modifiant la quantité de rouge, vert, bleu et / ou blanc LED dans l'émetteur. En plus de cela, je voulais des fonctions prédéfinies où je peux dire à la lumière de « réveiller », « aller dormir » ou afficher les couleurs de l'arc en ciel dans l'ordre.

Comment cela fonctionne: BitVoicer (programme de reconnaissance vocale) prend une entrée vocale, le reconnaît et le transfert que dans une chaîne. Chaque fois qu'il appelle cette chaîne particulière, le programme Arduino indiquera la LED ce qu'il faut faire.

Pour ce projet, je:

Étape 1: Configuration LED émetteur et dissipateur de chaleur

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Quand je suis arrivé l'émetteur dans le courrier, il y avait pas de fils sur eux. La bonne chose au sujet de la LZ4-20MD00 est que la LED est monté au-dessus du MCPCB, qui nous permet de souder des fils sur le plus facilement LED. Il y a 8 pads sur la MCPCB- la fiche de données me dit que pad est pour lequel le fil. J'ai eu en fait des défis tout en soudant les fils sur la MCPCB parce que le MCPCB aspire la chaleur loin, ce qui rend difficile pour le fer à souder pour chauffer les plaquettes. Je me suis alors rendu compte que la fiche de données avait en fait des conseils pour la soudure. Pour cet émetteur particulier de LED Engin, je devais chauffer l'émetteur avec une plaque chauffante à 125-150 degrés C avant de souder les fils sur. Attention: différents fabricants ont des procédures de fixation du fils- vous assurer de ne pas surchauffer l'émetteur.

Selon la feuille de données (en pg 7 et 15.), Ce sont les fils connectés à chaque tampon:

Pad 1: Blanc Anode +
Pad 8: Blanc Cathode -

Pad 7: Red Anode +
Pad 6: Red Cathode -

Pad 5: vert Anode +
Pad 4: vert Cathode -

Pad 3: Bleu Anode +
Pad 2: Cathode Bleu -

Je vous suggère d'utiliser du ruban de couleur pour indiquer quel est le fil pour lequel la couleur de sorte que vous ne soyez pas confus par la suite.

Étant donné que c'est une puissance élevée LED, je besoin d'un dissipateur de chaleur pour l'émetteur de sorte que la LED ne surchauffe pas.

Je fis simple dissipateur de chaleur en aluminium et attaché à l'émetteur à LED à l'aide de vis.

Étape 2: Matériel

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

Câbler la LED et le Arduino selon le schéma ci-dessus.

Selon le LED vous obtenez 4 canaux, vous aurez besoin d'obtenir différentes résistances de puissance pour chaque canal.

Pour ma RGBW émetteur 4 canaux, je cherchais les caractéristiques électriques sur pg. 5 de la feuille de données. alors déterminé l'énergie de résistants que je voulais utiliser l'information. Je cherchais la tension vers l'avant et la chute typique de tension aux bornes de chaque LED, alors je ohms loi pour déterminer la résistance qui devrait aller avec chaque couleur. Notez que vous devez utiliser des résistances de 2W de puissance parce que ce sont la puissance élevée LED.

Pour cette LED Emitter, je suis en utilisant:

  • Résistance de puissance 4 Ohm 2W pour le canal rouge
  • 2,7 Ohm Résistance de puissance pour le canal blanc 2W
  • 2,7 Ohm Résistance de puissance 2W pour le canal bleu
  • 2,5 Ohm Résistance de puissance 2W pour le canal vert

Je suis également mise sous tension de la LED en utilisant la source 5V de l'Arduino.

Étape 3: Télécharger des codes et des fichiers

Après avoir téléchargé BitVoicer et Arduino, je l'ai écrit quelques codes pour Arduino et créé un nouveau fichier pour BitVoicer. J'ai inclus les deux fichiers dans la pièce jointe de ce instructable. (Remarque: vous ne serez pas en mesure d'ouvrir le fichier VSC sauf si vous avez BitVoicer installé). Pour lancer le programme, tout d'abord télécharger le code Arduino, puis appuyez sur le bouton de démarrage dans le fichier BitVoicer.

LED ne répond pas à votre voix? Vérifiez ces choses sous Préférences (sous fichier) pour BitVoicer:

  • Bits par seconde est fixée à: 115200
  • Entrée audio est le microphone par défaut de l'ordinateur
  • définir le nom du port au même port qui est connecté à l'Arduino (nommé COM_)

Si ne fonctionne toujours pas, essayez ces choses sous Préférences (sous fichier) pour BitVoicer:

  • abaisser le niveau de confiance acceptable
  • assurez-vous que le microphone par défaut de l'ordinateur est réglé sur votre microphone USB externe. Recherchez le réglage du microphone sur votre ordinateur

Pour écrire le code Arduino, j'ai ouvert le fichier leandro4b utilisé pour sa reconnaissance vocale avec le projet Arduino. A partir de là, je l'ai changé et ajouté quelques codes afin que la LED fait la commande que je voulais faire. J'ajouté commandes dans BitVoicer, affecté à chaque commande pour une chaîne de caractères dans BitVoicer, puis de fonctions programmées pour chaque chaîne dans Arduino.

Étant donné que le code est un peu long, je n'expliquerai quelques-unes des fonctions ci-dessous à droite.

Début du code: Ceci est essentiellement là où nous avons tout « mis en place ».

#include // bit appels bibliothèque harmoniste
// Instancie la classe BitVoicerSerial
BitVoicerSerial bvSerial = BitVoicerSerial ();
// Magasins vrai si l'outil d'étalonnage Streaming Audio
//est en cours d'exécution
booléen Sampletest = false;
octet dataType = 0; // Enregistre le type de données récupérées par getData ()
int PINR = 6; // mettre en place la broche 6 être rouge
int pinW = 10; // mettre en place la broche 10 pour être blanc
int PING = 11; // mettre en place la broche 11 à être vert
int Pinb = 9; // mettre en place la broche 9 être rouge
int lightLevelR = 0; // niveau mis en place initiale de lumière rouge à 0
int lightLevelW = 0; // niveau mis en place initiale de lumière blanc à 0
int lightLevelG = 0; // niveau mis en place initiale de lumière verte à 0
int lightLevelB = 0; // niveau mis en place initiale de lumière bleue à 0
arc int = 0; // ceci est une variable que nous fixons qui apportera des boucles différentes
à long randNumberR; // génère un nombre aléatoire pour le rouge (pour la fonction de Meow)
à long randNumberW; // génère un nombre aléatoire pour le blanc (pour la fonction de Meow)
à long randNumberG; // génère un nombre aléatoire pour le vert (pour la fonction de Meow)
à long randNumberB; // génère un nombre aléatoire pour le bleu (pour la fonction de Meow)

Void setleds (): c'est là que nous appelons une fonction après la BitVoicer transférer la voix à la chaîne. Sous vide setleds, je « réveiller », « aller dormir », « allumer / éteindre la LED rouge », « allumer / éteindre voyant DEL bleu », « plus / moins verte », etc. J'ai aussi plusieurs motifs prédéfinis tels que " arc en ciel », « coucher de soleil » et « bleu océan ».

Ci-dessous le code de la commande vocale « plus bleu »

else if (bvSerial.strData == "BBright") // si BitVoicer détecte "plus bleu", cette fonction se déroulera
si (lightLevelB < 255) // if the light level is less than 255, then we will add brightness to blue

lightLevelB + = 85; // lorsque la fonction est appelée, nous ajouterons 85 au lightlevel pour le bleu. Vous pouvez ajouter des incréments de niveau de lumière que vous voulez.
analogWrite (PINR, lightLevelR); // niveau de lumière reste rouge pour constante
analogWrite (pinW, lightLevelW); // niveau de lumière pour le blanc reste constant
analogWrite (PING, lightLevelG); // niveau de lumière pour le vert reste constant
analogWrite (Pinb, lightLevelB); // niveau de lumière des changements bleus que nous donnons cette commande
arch = 0; // nous devons définir la variable d'arc à 0 il n'appeler accidentellement quoi que ce soit dans la boucle que vous verrez à côté
>
>

Pour les motifs, nous allons mettre la fonction à l'arc variable = (un entier). cet arc = (entier) appelle une boucle dans la boucle de vide. En effet, les modèles doivent répéter jusqu'à ce qu'une autre fonction est appelée.

else if (bvSerial.strData == "Pomone") // si BitVoicer détecte "Pomone", cette fonction se déroulera
<
arch = 8; // il sera mis en arc à 8, ce qui fera apparaître boucle == arc 8 en boucle vide (voir ci-dessous)
>

boucle Void: pour créer des motifs spéciaux (à savoir arc en ciel, coucher du soleil, bleu océan), nous devons avoir différentes fonctions sous la boucle.

« Pomona » est l'une des fonctions prédéfinies de moins de boucle vide. Il affiche les couleurs bleu et blanc jusqu'à ce qu'une autre fonction est appelée.

// pomona
if (arc == 8) // I définir la variable à 8 de telle sorte que

// code RGBW pour le bleu
analogWrite (PINR, 85);
analogWrite (pinW, 0);
analogWrite (PING, 49);
analogWrite (Pinb, 203);
retard (1000); // pauses avant de passer à blanc

// code RGBW pour le blanc
analogWrite (PINR, 0);
analogWrite (pinW, 255);
analogWrite (PING, 0);
analogWrite (Pinb, 0);
retard (1000); // pauses avant de revenir au bleu
>

avant la mise en vide ():

à long randNumberR; // génère un nombre aléatoire pour le rouge (pour notre fonction Meow)
à long randNumberW; // génère un nombre aléatoire pour le blanc (pour notre fonction Meow)
à long randNumberG; // génère un nombre aléatoire pour le vert (pour notre fonction Meow)
à long randNumberB; // génère un nombre aléatoire pour le bleu (pour notre fonction Meow)

à l'intérieur de l'installation void ():

à l'intérieur de la boucle vide ():

randNumberR = aléatoire (255); // génère nombre aléatoire entre 0 et 255 pour le rouge
randNumberW = aléatoire (255); // génère nombre aléatoire entre 0 et 255 pour le blanc
randNumberG = aléatoire (255); // génère nombre aléatoire entre 0 et 255 pour le vert
randNumberB = aléatoire (255); // génère nombre aléatoire entre 0 et 255 pour le bleu

également à l'intérieur de la boucle vide ():

if (arc == 9)
<
analogWrite (PINR, randNumberR);
analogWrite (pinW, randNumberW);
analogWrite (PING, randNumberG);
analogWrite (Pinb, randNumberB);
retard (1000); >

dans setleds vides ():

else if (bvSerial.strData == "Meow") // si BitVoicer détecte "miaou", arc sera réglé sur 9
< arch = 9;
>

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

J'ai plusieurs fonctions dans mon code. Je les feux de virage de base hors et sur la fonction. J'ai aussi une fonction plus rouge / blanc / vert / bleu qui me permet de créer une couleur que je veux.

Dans les images ci-dessus, j'ai les commandes et ce que la LED fait quand il entend les commandes. Le tableau bleu a des commandes simples comme réveil, allumer / éteindre alors que le tableau rouge a des commandes qui appelle des modèles.

Voir les vidéos ci-dessous pour la démonstration du projet.

Étape 5: Conclusion et prochaine étape

Voice Activated éclairage LED avec Arduino 5 étapes (avec photos)

La façon dont je me suis approché du projet a été d'abord recréer la reconnaissance vocale avec Arduino exactement la façon dont leandro4b a fait. Lorsque cela ne fonctionne pas, je suis retourné et vérifié mon câblage, Arduino et BitVoicer. Il est avéré que je ne l'ai pas mis le BitVoicer correctement au départ, ce qui explique pourquoi il n'a pas été d'envoyer des informations à l'Arduino. Pour plus d'informations sur la façon de mettre en place BitVoicer, s'il vous plaît lire le manuel ici.

Après je me suis assuré que mon premier prototype fonctionnait, j'ai ajouté une quatrième couleur depuis la LED j'utilisais a 4 couleurs. Sur ce, je modifié le code du programme Arduino en définissant une autre broche comme entrée pour la quatrième diode. A partir de là et, je l'ai changé et ajouté quelques codes afin que la LED fait la commande que je voulais faire. J'ajouté commandes dans BitVoicer, affecté à chaque commande pour une chaîne de caractères dans BitVoicer, puis de fonctions programmées pour chaque chaîne dans Arduino. Après avoir assuré que tout fonctionnait, j'ai transféré tous les fils et les résistances et les sur un tout soudé perfboard.

Ce que j'appris à travers ce projet est que je fais des modifications, je dois vérifier en permanence à la fois le logiciel et le matériel de la LED de commande vocale. Je l'ai fait il me serait plus facile pour dépanner quand quelque chose ne fonctionne pas.

Les prochaines étapes de ce projet est d'augmenter le courant de 700mA. En ce moment, bien que l'Arduino fournit 5V, il ne fournit pas assez de courant pour la LED d'utiliser sa pleine luminosité. L'augmentation de la luminosité permettra aux 4 couleurs de l'émetteur RGBW pour se fondre encore mieux. Afin d'augmenter le courant, je vais devoir utiliser une alimentation en dehors de 5 V en utilisant un darlington pour contrôler le courant. Si possible, je voudrais aussi essayer d'utiliser les pilotes actuels pour mes projets. Si je suis en mesure de mettre en place que je serais en mesure de fournir suffisamment de tension et de courant à travers encore plus puissants LED.
En plus de cela, je voudrais terminer davantage le projet en ajoutant un microphone au circuit connecté à l'ONU Arduino et d'être en mesure de contrôler les lumières avec commande sans fil.

Articles Liés