Créer votre Arduino (2 / 2)
La suite de la création de votre propre Arduino en utilisant le Raspberry Pi. Après un article sur la création de l’Arduino, voici maintenant comment le programmer depuis le Raspberry.
Maintenant que votre Arduino est prêt à être programmé, nous allons voir comment configurer le Raspberry Pi pour pouvoir l’utiliser.
Vous allez tout d’abord avoir besoin de l’environnement Arduino sur le Raspberry Pi. Comme je l’utilise chez moi en ssh (sans serveur X local non plus), nous allons aussi installer ce qu’il faut pour la ligne de commande.
Pour la suite je suis parti d’une distribution nouvellement installée et à jour
- Installer l’environnement Arduino
apt-get install arduino arduino-mk
- Télécharger la version Raspberry de l’outil avrdude qui va permettre de faire l’upload de vos programmes
cd /tmp wget http://project-downloads.drogon.net/gertboard/avrdude_5.10-4_armhf.deb dpkg -i avrdude_5.10-4_armhf.deb
- Vous pouvez connecter le Raspberry à votre Arduino avec l’interface SPI. J’ai déconnecté la LED. Voici le montage. Pour ne pas surcharger l’image, je n’ai mis que les câbles pour la liaison SPI :
- Maintenant vous pouvez tester la connexion entre les deux grâce à l’outil avrdude :
Chez moi pour ne plus avoir l’erreur, je dois maintenir le bouton Reset appuyé pendant l’exécution de la commande :
- Maintenant, créer un répertoire pour votre programme
mkdir ardtest
cd ardtest
- Créer un fichier Makefile avec le contenu suivant :
ARDUINO_DIR = /usr/share/arduino
AVRDUDE_ARD_PROGRAMMER = gpio
BOARD_TAG = uno
ARDUINO_PORT = /dev/ttyAMA0
ARDUINO_LIBS =
include /usr/share/arduino/Arduino.mk
- Créer un fichier blink.ino avec le contenu suivant :
int led = 13;
void setup() { pinMode(led, OUTPUT); }
void loop() { digitalWrite(led, HIGH); delay(400); digitalWrite(led, LOW); delay(400); }
Le programme fait clignoter la LED avec un délai de 400ms.
- Compiler le programme
make
- Upload du programme. N’oubliez pas de maintenir le bouton reset enfoncé.
make upload
- Relâchez le bouton
- Débrancher l’Arduino. Je déconnecte juste le fil 3.3V sans éteindre le Raspberry. Je ne sais pas si c’est à faire ou non mais ca fonctionne.
- Déconnecter les 4 fils liés au SPI
- Reconnecter la LED sur le pin D13 (ou celui que vous avez configuré dans votre programme)
- Rallumer l’Arduino. Votre LED doit maintenant clignoter.
Voilà pour une méthode qui fonctionne. Les inconvénients sont :
- Il faut maintenir le bouton enfoncé ! Pas très pratique car il faut être à coté de l’Arduino !
- Connecter les fils SPI à chaque chargement. Est-ce qu’il est possible d’utiliser les broches RX / TX dédiées ?
- La compilation est lente sur le Raspberry Pi. Là, pas grand chose à faire …
Je vais maintenant utiliser ce montage pour créer des petites sondes sans fil. Les étapes suivantes sont donc la communication vers le Raspberry Pi avec des modules 433Mz ou NRF24L01 et alimenter le module pour une autonomie maximale.
Si vous avez des idées d’utilisation de ce genre de montage, n’hésitez pas à les partager dans les commentaires !