Dans ce projet, vous allez créer une application Android pour contrôler la couleur d’une LED RVB avec un smartphone via Bluetooth.
Vous allez créer l’application Android à l’aide d’un logiciel Web gratuit appelé MIT App Inventor 2. Il s’agit d’un excellent projet pour apprendre à interfacer l’Arduino avec un smartphone.
Si vous n’êtes pas familier avec les LED RVB, lisez le post suivant : Comment fonctionnent les LED RVB ?
Téléchargez des applications Android pour Arduino avec MIT App Inventor 2
Pièces requises
Voici une liste complète des pièces requises pour ce projet :
De plus, vous avez également besoin d’un smartphone avec Bluetooth.
Vous pouvez utiliser les liens précédents ou accéder directement à MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !
Création de l’application Android
L’application Android sera créée à l’aide d’une application Web gratuite appelée Inventeur d’applications MIT. MIT App Inventor est un excellent endroit pour démarrer avec le développement Android, car il vous permet de créer des applications simples par glisser-déposer.
Vous avez besoin d’un compte Google pour vous inscrire à MIT App Inventor et voici la page de connexion : http://ai2.appinventor.mit.edu.
Après vous être connecté, allez à Projets >Importer un projet (.aia) depuis mon ordinateur et téléchargez le fichier .aia. Cliquez ici pour télécharger le fichier .aia.
Après téléchargement du fichier .aia. Vous verrez l’application sur le logiciel MIT App Inventor.
Designer
Avec MIT App Inventor vous avez 2 sections principales : designer et blocs.
Le concepteur est ce qui vous donne la possibilité d’ajouter des boutons, d’ajouter du texte, d’ajouter des écrans et de modifier l’apparence générale de l’application. Dans le logiciel App Inventor, l’application ressemble à ceci :
L’application est différente dans le logiciel et dans votre smartphone. Voici à quoi ressemble l’application sur notre smartphone :
Blocs
Ensuite, vous avez la section des blocs. Les sections de blocs permettent de créer des fonctionnalités personnalisées pour votre application. Ainsi, lorsque vous appuyez sur les boutons, cela fait quelque chose avec ces informations. Voici les blocs pour cette application (cliquez sur l’image pour zoomer):
Installation de l’application
Pour installer l’application sur votre smartphone, rendez-vous sur Construire languette.
- Vous pouvez soit générer un code QR que vous pouvez scanner avec votre smartphone et installer automatiquement l’application sur votre smartphone.
- Ou toi peut télécharger le .apk déposer, connectez votre smartphone à votre ordinateur et déplacez le .apk fichier sur le téléphone.
Suivez simplement l’assistant d’installation pour installer l’application et c’est fait !
Code
Téléchargez ou copiez le code suivant sur votre IDE Arduino et chargez-le sur votre carte Arduino. Assurez-vous d’avoir sélectionné la bonne carte et le bon port COM.
Noter: avant de télécharger le code, assurez-vous que les broches TX et RX sont déconnectées du module Bluetooth !
/*
* Rui Santos
* Complete Project Details https://www.raspberryme.com
*/
#define max_char 12
char message[max_char]; // stores you message
char r_char; // reads each character
byte index = 0; // defines the position into your array
int i;
int redPin = 11; // Red RGB pin -> D11
int greenPin = 10; // Green RGB pin -> D10
int bluePin = 9; // Blue RGB pin -> D9
int redValue = 255; // Red RGB pin -> D11
int greenValue = 255; // Green RGB pin -> D10
int blueValue = 255; // Blue RGB pin -> D9
String redTempValue; // Red RGB pin -> D11
String greenTempValue; // Green RGB pin -> D10
String blueTempValue; // Blue RGB pin -> D9
int flag = 0;
char currentColor;
void setup() {
pinMode(redPin,OUTPUT);
pinMode(bluePin,OUTPUT);
pinMode(greenPin, OUTPUT);
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
void loop() {
//while is reading the message
while(Serial.available() > 0){
flag = 0;
//the message can have up to 12 characters
if(index < (max_char-1)){
r_char = Serial.read(); // Reads a character
message[index] = r_char; // Stores the character in message array
if(r_char=='R'){
currentColor="R";
redTempValue = "";
}
else if(r_char=='G'){
currentColor="G";
greenTempValue = "";
}
else if(r_char=='B'){
currentColor="B";
blueTempValue = "";
}
if(currentColor == 'R' && r_char!='R'){
redTempValue += r_char;
}
else if(currentColor == 'G' && r_char!='G'){
greenTempValue += r_char;
}
else if(currentColor == 'B' && r_char!='B'){
blueTempValue += r_char;
}
index++; // Increment position
message[index] = ' '; // Delete the last position
}
}
if(flag == 0){
analogWrite(redPin, 255-redTempValue.toInt());
analogWrite(greenPin, 255-greenTempValue.toInt());
analogWrite(bluePin, 255-blueTempValue.toInt());
/*Serial.print('R');
Serial.println(redTempValue);
Serial.print('G');
Serial.println(greenTempValue);
Serial.print('B');
Serial.println(blueTempValue);
Serial.print("MESSAGE ");*/
Serial.println(message);
flag=1;
for(i=0; i<12; i++){
message[i] = ' ';
}
//resests the index
index=0;
}
}
Schémas
Suivez le schéma de principe de la figure suivante pour câbler votre circuit.
Noter: Si vous utilisez une cathode commune à LED RVB, vous devez connecter le câble le plus long à GND.
Important: Voici les connexions du module bluetooth à l’Arduino :
- Module Bluetooth TX se connecte à Arduino RX
- Module Bluetooth RX se connecte à Arduino TX
Voici à quoi devrait ressembler votre circuit :
Lancement de l’application
Si vous n’avez pas généré le fichier .apk lors d’une étape précédente, vous pouvez Cliquez sur ici pour télécharger le fichier .apk (qui est le fichier d’installation de l’application Android). Déplacez ce fichier sur votre smartphone et ouvrez-le. Suivez l’assistant d’installation pour installer l’application.
Activez le Bluetooth de votre smartphone.
Assurez-vous de coupler votre smartphone avec le module Bluetooth – recherchez les appareils couplés dans les paramètres Bluetooth de votre smartphone.
Ensuite, ouvrez l’application nouvellement installée. Tapez sur le Connecter Bluetooth bouton pour se connecter via bluetooth au module bluetooth arduino.
Sélectionnez votre module Bluetooth (il devrait s’appeler linvor).
Maintenant, il est prêt à l’emploi !
Manifestation
Voici votre application en action. Déplacez les curseurs et cliquez sur CHANGER DE COULEUR pour définir la couleur de votre LED RVB sur la couleur sélectionnée.
Dépannage
1. Je ne peux pas télécharger de code sur ma carte Arduino.
Vérifiez si vous avez le Câbles TX et RX du module bluetooth débranché.
Lorsque vous téléchargez du code sur votre Arduino, vous devez déconnecter les câbles TX et RX du module Bluetooth. Ces broches sont nécessaires pour la communication série entre l’Arduino et votre ordinateur.
2. Je ne trouve pas mon périphérique de module Bluetooth.
Assurez-vous d’avoir appairé votre smartphone avec votre module Bluetooth. Accédez à vos paramètres Bluetooth et recherchez les appareils disponibles. Votre périphérique module bluetooth devrait apparaître (il est souvent appelé : linvor, HC-06, HC-04, HC-05 …). Associez-le. S’il demande un mot de passe, c’est 1234.
3. L’application n’interagit pas avec l’Arduino.
Si votre application Android est connectée à votre module bluetooth, elle doit afficher le «Lié” (comme illustré ci-dessous). Sinon, appuyez sur « Connecter Bluetooth » pour établir une communication Bluetooth.
Vérifiez les connexions de votre module Bluetooth :
- Module Bluetooth TX se connecte à Arduino RX
- Module Bluetooth RX se connecte à Arduino TX
4. Mon module Bluetooth demande un mot de passe.
Si votre module bluetooth vous demande un mot de passe, tapez 1234.
Conclusion
Dans ce projet, vous avez appris à contrôler la couleur d’une LED RVB avec une application Android construite avec le logiciel MIT App Inventor 2.
Maintenant, n’hésitez pas à changer l’apparence de l’application et à lui donner plus de fonctionnalités.
Si vous aimez ce projet, assurez-vous de consulter notre dernier cours : Applications Android pour Arduino avec MIT App Inventor 2.
Merci d’avoir lu.