« Fabrication d'un quadcopter autonome » : différence entre les versions

ajout de la partie bluetooth et appinventor
(explications sur les erreurs rencontrées pour calibrer les ESC)
(ajout de la partie bluetooth et appinventor)
Ligne 71 : Ligne 71 :
Dans notre code arduino, nous avions mis esc.write(180); pendant quelques secondes, puis  esc.write(0); 180 représente la valeur maximale (plein gaz) et 0 la valeur minimale. Le passage à 0 ne se faisait pas au bon moment, et le calibrage ne se faisait pas. Le deuxième lien (firediy) permet d'envoyer la valeur minimale à un moment précis. C'est grâce à ce code que nous avons réussi à calibrer notre ESC. Ensuite nous utilisons le 1er lien (blaisepascal) pour envoyer une valeur précise à l'ESC. Tout se passe bien, on arrive à faire tourner plus ou moins vite notre moteur. Ouf !
Dans notre code arduino, nous avions mis esc.write(180); pendant quelques secondes, puis  esc.write(0); 180 représente la valeur maximale (plein gaz) et 0 la valeur minimale. Le passage à 0 ne se faisait pas au bon moment, et le calibrage ne se faisait pas. Le deuxième lien (firediy) permet d'envoyer la valeur minimale à un moment précis. C'est grâce à ce code que nous avons réussi à calibrer notre ESC. Ensuite nous utilisons le 1er lien (blaisepascal) pour envoyer une valeur précise à l'ESC. Tout se passe bien, on arrive à faire tourner plus ou moins vite notre moteur. Ouf !


=== Piloter la carte arduino avec une application mobile sur android ===
Pour l'application mobile, on utilise app inventor : http://appinventor.mit.edu/
Pour communiquer avec la carte arduino, on passe par une carte bluetooth HC-05
Il existe plein de vidéos qui expliquent comment faire la connexion entre le smartphone et la carte bluetooth : https://www.qwant.com/?q=app%20inventor%20bluetooth%20arduino&t=videos
Au niveau des problèmes rencontrés, nous nous sommes cassés les dents sur :
* les pins à brancher pour les liaisons RX et TX via la bibliothèque SoftwareSerial. Beaucoup d'exemples utilisent les pins 2  et 3 de la carte arduino. Mais comme nous utilisons une carte arduino micro, ces pins ne sont pas compatibles. (''Not all pins on the Leonardo and Micro support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).'') Il va donc falloir changer notre schéma !
* dans le code arduino, attention au baudrate de la liaison par la bibliothèque SoftwareSerial ! Beaucoup d'exemples montrent un baudrate à 57600 ou 115200. Pour nous, ça n'a fonctionné que avec 9600.
* la valeur envoyée à la carte arduino est un nombre. Nous aurions voulu envoyer du texte mais il semble que ça ralentisse énormément la vitesse d'exécution du programme. Nous allons donc échanger uniquement des nombres pour garder une vitesse d'exécution optimale.
*
<references />
<references />
61

modifications