How to : connecter un arduino et un téléphone Android

Envoyé par le 7 Mar 2013

android+arduino

Le concept :

Arduino et Android sont deux technologie très puissantes et ouvertes. Il peut être très intéressant de les connecter.

C’est ce que nous avons fait pour notre projet LED’s draw !

Nous avons un peu peiné à mettre en place un environnement de travail Android – Arduino. Ils existent de nombreux tutoriels sur le sujet, mais nous n’en avons trouvé aucun qui suffise. Je vais donc tenter de les regrouper ici pour faciliter une telle liaison.

Les tutoriels sur lesquels nous allons nous baser :

  • la page de la carte Arduino Mega ADK, sur laquelle on peut brancher un téléphone Android :

http://arduino.cc/en/Main/ArduinoBoardADK

Le problème du tutoriel disponible sur le site d’Arduino est qu’il ne marche qu’avec Processing pour programmer l’application. Je déconseille fortement d’utiliser ce logiciel, c’est beaucoup plus dur de programmer pour Android en C/C++ qu’en Java avec Eclipse.

  • la page Google pour utiliser des cartes Arduino – like avec Android

http://developer.android.com/tools/adk/adk.html

La page 2011 présente comment faire. La page 2012 est moins bien.

Le problème est qu’ils présentent surtout leur carte à eux.

  • Enfin, voici un tutoriel plutôt sympa : http://allaboutee.com/2011/12/31/arduino-adk-board-blink-an-led-with-your-phone-code-and-explanation/

L’environnement Eclipse pour Android

Tout d’abord, installez l’environnement Eclipse pour Android. C’est long à télécharger, donc autant commencer par ça.

Si vous n’avez pas Eclipse

Vous pouvez tout télécharger ici : http://developer.android.com/sdk/index.html

Normalement c’est bien expliqué.

Si vous avez déjà Eclipse

Vous pouvez l’ouvrir, et installer l’environnement Android : Help/Install New Software/Add/

Mettez le nom que vous voulez, et pour location : http://dl-ssl.google.com/android/eclipse/

Plus d’info ici : http://developer.android.com/sdk/installing/installing-adt.html

Il faut ensuite télécharger les sdks android dans Eclipse : Windows/Android SDK Manager
Sélectionner le sdk que vous voulez (normalement ça marche à partir de Android 3.2 (API 13).
Installer « SDK plateform », et « Google APIs ».

Installer Arduino IDE :

Suivre la procédure pour installer l’arduino IDE et l’arduino ADK sur votre ordinateur (sur le site arduino). Si vous êtes sous Windows, ne pas oublier d’installer le driver ! Pour cela, démarrer/panneau de configuration/système et sécurité/Gestionnaire de périphériques

En branchant votre arduino ADK, vous devriez voir apparaître un nouveau périphérique. Une petit bulle-info peut apparaître. Ouvrez-le/la, installer le pilote, et installation manuelle, aller dans votre dossier arduino contenant le dossier drivers. Sélectionnez celui-ci (qui contient un fichier Arduino Mega ADK) pour y trouver le driver.

Dans le gestionnaire des périphériques, on peut vérifier si l’installation s’est bien passée : l’arduino ADK doit apparaître sous ce nom dans le gestionnaire des périphériques. On peut aussi tester grâce au programme Blink Led (dans les exemples de arduino IDE).

Installer les outils Google :

On passe maintenant sur le tutoriel de Google : http://developer.android.com/tools/adk/adk.html

De « Getting Started with the ADK » jusqu’à « Installing the firmware to the ADK board » inclus.

Ne pas télécharger la librairie CapSense, elle n’est plus à jour n’est pas utile. Ne pas faire Running the Demokit Android application (c’est plutôt réservé à la carte de Google).

Vous pouvez lire la suite, mais il est plus simple de passer au tutoriel suivant :

Un exemple pour bien commencer :

On va donc maintenant regarder un tutoriel pour transférer des données du téléphone à la board.

http://allaboutee.com/2011/12/31/arduino-adk-board-blink-an-led-with-your-phone-code-and-explanation/

Vous pouvez le suivre, ou reprendre directement le projet ici :

En important le code dans Eclipse, il est probable que vous ayez des erreurs aux lignes suivantes :

import com.android.future.usb.UsbAccessory ;

import com.android.future.usb.UsbManager ;

Pour régler le problème, il faut régler la « build target » en google api, c’est-à-dire :

Pour le télécharger, sur Eclipse : windows/android sdk manager/

télécharger la google api qui vous convient (la version 3.2 fonctionne, si vous avez besoin d’une version plus récente ça devrait marcher aussi).

projet/properties/Android

Problème classique :

Si vous refaites un projet « from scratch », vous risquez de rencontrer un problème de layout : une erreur avec « android.R.layout ». NE PAS importer R. ça ne fera qu’empirer les choses. Il faut au choix :

  • reprendre le projet au dessus ;
  • supprimer les dossiers values-v11 et values-v14 situés dans le dossier res ;
  • trouver une vraie solution…

Normalement, ça devrait fonctionner !

2 Commentaires

  1. Bonjour pouvez vous remettre le projet de l’exemple car il n’est plus disponible merci à l’avance cordialement

Répondre à devalex Annuler la réponse

Votre adresse e-mail ne sera pas publiée.