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.

Arduino Raspberry PiMaintenant 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

  1. Installer l’environnement Arduino
    apt-get install arduino arduino-mk
  2. 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
    
  3. 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 :
    Create Arduino Raspberry Pi
  4. Maintenant vous pouvez tester la connexion entre les deux grâce à l’outil avrdude :
    Create Arduino Raspberry PiChez moi pour ne plus avoir l’erreur, je dois maintenir le bouton Reset appuyé pendant l’exécution de la commande :
    Create Arduino Raspberry Pi
  5. Maintenant, créer un répertoire pour votre programme
    mkdir ardtest
    cd ardtest
  6. 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
  7. 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.

  8. Compiler le programme
    make
  9. Upload du programme. N’oubliez pas de maintenir le bouton reset enfoncé.
    make upload
    Create Arduino Raspberry Pi
  10. Relâchez le bouton
  11. 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.
  12. Déconnecter les 4 fils liés au SPI
  13. Reconnecter la LED sur le pin D13 (ou celui que vous avez configuré dans votre programme)
  14. 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 !

Vous aimez cet article ? Supportez-moi sur Patreon!

Vous aimerez aussi...