Reconnaissance vocale (App Inventor) et Arduino – Allumer une LED

Nous allons ici utiliser la reconnaissance vocale de Google, directement intégré à Android, afin d’allumer une LED.

Lors de la pression du bouton « Parle », la reconnaissance vocale se mettra en marche.

Il faudra donc indiquer l’action désirée dans le menu blocks.

Il faut déjà ajouter le module de reconnaissance vocale sur votre application :

Lorsque vous appuyez sur le bouton « Parle », vous lancez la reconnaissance vocale. Vous devez ensuite prononcer des ordres.

Il faut déjà lancer la reconnaissance vocale lorsque vous appuyez sur le bouton :

Puis effectuer une action en fonction de ce qu’a reconnu votre téléphone (ici, allumer la lampe). Si tout est bon, l’application enverra à l’Arduino la lettre « A » :

Il est possible d’ajouter un block pour éteindre la lampe. Si tout est bon, l’application enverra à l’Arduino la lettre « B » :

Pour cette application, vous pouvez retrouver :
le fichier APK (à installer directement sur votre Smartphone Android)
le fichier AIA (à importer dans App Inventor pour effectuer vos modifications)

 

J’utilise un module HC-05 pour mettre en place une liaison Bluetooth sur une carte Arduino. En fonction du type de carte Arduino que vous utilisez, la mise en place de cette liaison est différente :

Nous utilisons ici la LED directement branchée sur l’interface 13. Pour choisir une autre interface, il suffit de modifier le numéro de la variable led.

Arduino Uno :

#include <SoftwareSerial.h>
SoftwareSerial bluetooth(11, 10); // (RX, TX)

led = 13;

void setup()
{
// Démarrer la liaison Bluetooth
Serial1.begin(9600);
// Démarrer la liaison Série
bluetooth.begin(9600);
// LED
pinMode(led, OUTPUT);
}

void loop()
{
if (bluetooth.available()) {
message = bluetooth.read();

if (message != -1)
{
Serial.print(message());

// Si le message = A, allumer la LED
if (message == 'A') {
digitalWrite(led, HIGH);
}

// Si le message = B, éteindre la LED
if (message == 'B') {
digitalWrite(led, LOW);
}


}

}
Reconnaissance vocale - Arduino Uno

 

Arduino Leonardo :

// Message reçu en Bluetooth
char message;

led = 13;

void setup() {

// Démarrer la liaison Bluetooth
Serial1.begin(9600);
// Démarrer la liaison Série
Serial.begin(9600);
}

void loop() {
while (Serial1.available()) {

message = Serial1.read();
if (message != -1)
{
Serial.print(message());

// Si le message = A, allumer la LED
if (message == 'A') {
digitalWrite(led, HIGH);
}

// Si le message = B, éteindre la LED
if (message == 'B') {
digitalWrite(led, LOW);
}


}
}
Reconaissance vocale - Arduino Leonardo

Démarrez une conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.