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