PlatformIO, environnement de dev pour Arduino sur VSCode

27 octobre 2024 Code ArduinoVSCodePlatformIOCPP

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 travail rarement sur un Arduino mais bien souvent sur d'autre carte 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 Dedian il vous faut vous ajouter au group dialout.

sudo usermod -a -G dialout $USER

Si cela ne suffit pas il faut aussi ajouter le group tty.

Installation de l'extension PlatformIo

Dans les extensions de VSCode, recherche et installer "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érent de celui 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 ca devrais clignoter comme dans cette magnifique vidéo flou :

Vous trouverez le code sur mon github

La prochaine fois nous verrons comment faire clignoter un ruban de diode WS2811 ou équivalent.

par Shionn, le 27 octobre 2024, derniére modification le 31 décembre 2024.

Commentaires

Ajouter un commentaire

Calendrier