PlatformIO, environnement de dev pour Arduino sur VSCode
J'aime bien faire des bouts de code sur les Arduinos, il y a l'aspect des technologies récentes, mais surtout j'ai parfois l'agréable impression de coder sur de vieux ordinateur 8bit. Mais je n'aime pas utiliser l'éditeur officiel Arduino. Surtout qu'au final je travaille rarement sur un Arduino, mais bien souvent sur d'autres cartes, notamment les ESP.
Dans ce petit tuto on va installer VSCode et ce qu'il faut pour coder avec le framework arduino. Puis nous verrons le classique tuto du clignotage de led.
Installation de PlatformIO
Installation de VSCode
Télécharger et installer VSCode disponible ici
Python
Il vous faut un environnement python 3 sur votre machine. Sous Debian il vous suffit d'installer python3-venv. Pour les autres systèmes vous pouvez regarder sur la documentation de PlatformIO
sudo apt install python3-venv
Communication série
Il vous faut la possibilité d'utiliser les ports séries. Sous Debian, il vous faut vous ajouter au groupe dialout.
sudo usermod -a -G dialout $USER
Si cela ne suffit pas, il faut aussi ajouter le groupe tty. Si vous ne voulez pas relancer votre session faite un newgrp dialout.
Installation de l'extension PlatformIo
Dans les extensions de VSCode, recherchez et installez "PlatformIO IDE".
Autre extension
Venant d'éclipse j'aime bien l'extension : Eclipse Keymap
Premier projet
Création d'un projet
En ouvrant l'extension de PlatformIO vous accédez à l'interface de création de projet. Il y a un nombre impressionnant de carte disponible.
Structure
La structure d'un projet sous PlatformIO est un peu différente de celle d'un projet avec l'IDE Arduino.
Répertoire Racine
|- plateformio.txt # un peu l'équivalent d'un pom.xml
|--src
| |- main.c
|- lib
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |--Bar
| | |--src
| | |- Bar.c
| | |- Bar.h
Faire clignoter une diode
Créer un projet et coller dans le fichier main ce code simple :
#include <Arduino.h>
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
Upload du code
Cliquer sur ce bouton et normalement la diode de votre carte clignotera :
Et normalement ça devrait clignoter comme dans cette magnifique vidéo floue :
Vous trouverez le code sur mon github
La prochaine fois nous verrons comment faire clignoter un ruban de diode WS2811 ou équivalent.



