Arduino :Programmation

Petit point sur mon expérience de programmation / Pense-bête :

https://www.arduino.cc/

https://fr.wikipedia.org/wiki/Arduino

Arduino est une série de cartes électroniques peu couteuses qui permettent d’exploiter par programmation en C++ un microcontroleur.
Ces cartes ont des entrée (collecte de données) et sorties (émission de courant) en Numérique (On/Off = 0/1 = binaire) et en analogique (courant modulable/variable entre 0 et 5V). Elles peuvent être enrichies de Wifi, Bluetooth, Ethernet, capteurs de pression, de température, de lumière….. d’horloges. Elles peuvent commander des moteurs pas à pas : Robotique, impression 3D ….

Matériel :

Arduino Due (37€ sur Amazon) je l’avais pris pour le nombre importants d’ Entrées/ sorties Analogiques et digitales.

Première connexion nickel …. mais j’ai débranché le câble USB en « sauvage » en cours de route. Par la suite le port USB n’était plus reconnu. Nombreuses tentatives de connexion, reconnexion, mise à jour des drivers, recherches sur Internet, etc … ce qui semble avoir débloqué la situation :
L’ajout d’une Alim 9V et les boutons RESET + ERASE.

A cette occasion j’ai eu l’impression que l’info et les forum  sur cette carte était limitée. La prochaine sera un modèle « Certifié »  Arduino (plus chère 100€) ou une autre carte « standard » très commercialisée.

Installation de l’environnement de développement (IDE) :

J’ai pris (par erreur) la première option : l’installation via le Windows Store : bonne installation mais comme rien n’est dans les répertoires « programmes » mais dans l’environnement inaccessible de WinStore, l’ajout de certains composants logiciels n’a pas été possible par la suite.

J’ai désinstallé cette version et réinstallée la version .exe … mais la version WinStore pollue la seconde !

J’ai aussi testé l’IDE en ligne (Java  + une inscription est requise), cela semble bien fonctionner et permet de programmer n’importe où sans installation de l’IDE.

Programmation :

Environnement C++ et appel à des librairies (.c & .h) existantes dans celles livrées avec l’installation de l’IDE ou bien ajoutées. Ils en existe beaucoup sur le Web mais des problèmes de compatibilités apparaissent avec les librairies anciennes (elles font parfois appellent à des fonctions de librairies « standard » qui ont disparues dans les versions récentes)

Après composition du code, il est obligatoirement vérifier avant compilation et transfert du binaire généré vers la carte. Un port micro-usb pour la programmation + un port micro-usb pour le reste (communication avec le PC une fois la carte programmée)

La carte peut envoyer des messages à destination d’un écran d’interface série qui permet de vérifier les calculs produits ou les actions produits par la carte.

Communication

  • Bibliothèque intégrée « serial » mais d’autres plus complètes existent
  • Attention !! En cas de communication via un câble USB : utiliser les commandes « serialUSB » vs « serial ».
  • Un port COM utilisé en programmation pour téléverser ne peut être utilisé pour communiquer via « serial ».
    • La DUE à 2 ports USB : Programmation « Programming »  et un classique « Native USB »
    • Soit utiliser 2 câbles : 1 sur Programming pour téléverser le code et 1 sur UDB Native pour communiquer.
      • Chaque port USB reçoit une adresse COM spécifique (ex:COM5, COM6…) => identifier celle du port USB Native pour communiquer .
    • Soit n’utiliser qu’un seul câble : basculer le port actif dans l’IDE sur le port de l’entrée USB non connectée. Cela libère le port de la prise USB câblée qui devient disponible pour une communication serial externe.
  • Débit testé avec succès 30Kbs => pas obligé de rester du 9600 !! Le débit doit être le même des 2 cotés de la communication.

 

 

Carte des ports Arduino DUE

 

Périphériques :

Montée en puissance :