Pour certains projets, il peut-être utile d’utiliser des commandes à l’aide de son smartphone.
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 :
Il faut également avoir quelques notions de développement d’application en blocks sur App Inventor : http://ai2.appinventor.mit.edu
Ici, je vais simplement indiquer comment envoyer des données d’une application Android, vers Arduino. Un second code montrera qu’il est possible de traiter ces données une fois envoyées à l’Arduino.
Dans une application, j’ai simplement créé 3 boutons, afin d’envoyer à l’Arduino la valeur a, b et c.

Avant de cliquer sur « Se connecter », je vous conseille d’appairer votre smartphone au HC-05 directement dans les paramètre Bluetooth d’Android.
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)
Dans le mode Blocks, sur App-Inventor, vous devez retrouver la gestion de la connexion Bluetooth  :

Il faut également créer un événement lors de la pression des boutons :

Afficher la valeur du bouton :
Arduino Uno :
 #include <SoftwareSerial.h>
char message;
SoftwareSerial bluetooth(11, 10); // (RX, TX)
void setup()
{
  // Démarrer la liaison Bluetooth
  Serial1.begin(9600);
  // Démarrer la liaison Série
  bluetooth.begin(9600);
}
void loop()
{
  if (bluetooth.available()) {
    message = bluetooth.read();
    if (message != -1)
    {
      Serial.println(message);
    }
  }
}
  Arduino Uno - App Inventor 
  
 
Arduino Leonardo :
 // Message reçu en Bluetooth
char message;
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.println(message);
    }
  }
}
  Arduino Leonardo - App Inventor 
  
 
Condition :
Dans ces codes, il est possible d’ajouter une condition en fonction du message. Par exemple, le bouton_a peut servir à allumer la led 13, et le bouton_b à éteindre cette led.
Il faut déjà renommer le texte sur les bouton dans App Inventor, puis d’ajouter cette condition après l’écriture du message dans la liaison série :
Arduino UNO :
 #include <SoftwareSerial.h>
SoftwareSerial bluetooth(11, 10); // (RX, TX)
char message;
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(13, HIGH);
      }
      // Si le message = B, éteindre la LED
      if (message == 'b') {
        digitalWrite(13, LOW);
      }
    }
  }
  Arduino - App Inventor + conditions 
  
 
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);
      }
    }
  }
  Arduino Leonardo - App Inventor + conditions