[Tuto] Arduino Mega ADK et Android (part 2)

Les cartes Arduino, les platines

[Tuto] Arduino Mega ADK et Android (part 2)

Message non lude Stéphane » Jeu 7 Juin 2012 16:35

Nous reprenons à la suite de la première partie de ce long tutoriel mettant en scène Android, Processing et Arduino Mega ADK.

Maintenant que vous savez comment écrire un programme sous processing pour le faire fonctionner directement sur votre téléphone, rajoutons un Arduino Mega ADK.
Pour des raisons de compatibilité avec différentes versions d'Android nous utiliserons ADB pour faire le lien (explications).

[1ère étape] Rajout des composants nécessaires à Processing


- Téléchargez cette archive
et décompressez-la dans le dossier sketchbook de processing, que vous avez configuré dans la première partie du tuto.

- La prochaine fois que vous lancerez Processing, dans Files -> Sketchbook -> ADB Examples, vous trouverez un exemple standard.

- Vérifiez bien que vous en mode Android et non en mode Standard, et dans Android -> Sketch permissions -> Internet, cochez la case pour authoriser l'ouverture des ports TCP.

[2ème étape] Rajout des composants nécessaires à l'IDE Arduino

- Téléchargez cette archive
et décompressez la dans le sous dossier libraries du dossier sketchbook relatif à Arduino.
(ex : /home/stef/sketchbook/libraries/<mettre l'archive là>, à ne pas confondre avec le dossier /home/stef/sketchbook_processing/ créé lors de la première étape du tutoriel)

Attention :
Pour les versions de l'IDE Arduino supérieures ou égales à la 1.0, il faut aller dans le dossier ./sketchbook/libraries/ArduinoADB/ et dans les fichiers suivants, remplacer #include "wiring.h" par #include "Arduino.h" :
- Adb.h
- max3421e.cpp
- usb.cpp


- La prochaine fois que vous lancerez Arduino, dans Files -> Exemples -> Arduino ADB, vous trouverez l'exmple basic_communication, que nous allons utiliser sur le champ.

[3ème étape] Rajout des composants nécessaires à l'Arduino mega ADK dans cet exemple

Nous allons prendre l'exemple Basic_communication, pour cela, en faisant varier une tension analogique sur la pin A0 à l'aide d'un capteur ou d'un potentiomètre, nous aurons un cercle rouge sur l'écran du téléphone dont la taille variera en fonction, puis en déplacant ce cercle de gauche à droite, il deviendra vert et influera sur la luminosité d'un couple led/résistance placé entre la pin 11 et la masse.

Pour cela nous prendrons un potentiomètre dont les deux extrémités seront reliées respectivement au +5V et à la masse, et la patte du milieu à la pin A0. Le couple résistance led sera placé entre la pin11 et la masse.

ATTENTION ! Il est fortement recommandé d'utiliser une alimentation secteur (transformateur 9V) pour alimenter l'Arduino Mega Adk, selon certains modèles de téléphone, ça peut être une source d'erreur.

Photo du montage :
adk_tuto_2_board.jpeg
adk_tuto_2_board.jpeg (324.61 Kio) Vu 10329 fois


[4ème étape] Exécution de l'exemple

- Chargez dans l'IDE Arduino l'exemple Basic_communication mentionné plus haut

- Chargez le dans l'Arduino Mega ADK

- Dans processing, en suivant la méthode expliquée dans la première partie du tutoriel, chargez l'exempe Basic communication, se trouvant dans Files -> Sketchbook -> ADB_examples

- Vérifiez bien que dans les permissions du sketch, vous avez coché la case "INTERNET"

- Chargez le programme dans votre téléphone ("Run on Device") après avoir bien vérifié que vous avez activé le mode debug USB de celui-ci

- Connectez ensuite votre téléphone à l'Arduino (port USB rectangulaire) et vous devriez obtenir un résultat proche de la vidéo ci-dessous.



Voilà, ce tutoriel (un peu) long se termine :) ! Il avait vocation a être le plus exhaustif possible, pour vous aider à bien prendre en main l'Arduino Mega ADK et tout son envirronement. Je tiens à remercier particulièrement Julien Rat qui m'a encouragé à m'inspirer de son tutoriel ainsi que pour son aide précieuse dans ses tutos et sa bonne humeur !
Avatar de l’utilisateur
Stéphane
 
Messages: 179
Inscription: Lun 2 Mai 2011 09:40

Retourner vers Arduino

Qui est en ligne

Utilisateurs parcourant ce forum: Yahoo [Bot] et 1 invité

cron