Quel langage est utilisé sur Arduino ?
- Débutant
- 0 comments
Le langage principal utilisé pour programmer une carte Arduino est une version simplifiée du C/C++.
Caractéristiques du langage Arduino :
1. Basé sur C/C++ :
- La syntaxe est très similaire au C++, mais avec des simplifications pour faciliter l'apprentissage.
- Compatible avec la plupart des structures de contrôle et fonctions standards du C/C++.
2. les fonctions spécifiques à Arduino :
- Des fonctions prédéfinies comme pinMode(), digitalWrite(), analogRead(), etc., simplifient l'interaction avec les broches (GPIO).
- Gestion simplifiée des entrées/sorties, PWM, communication série (UART, I2C, SPI), etc.
3. Structure de base d'un programme Arduino :
void setup() { // Configuration initiale (exécutée une fois)
pinMode(13, OUTPUT); // Définir la broche 13 comme sortie
}
void loop() { // Boucle principale (exécutée en continu)
digitalWrite(13, HIGH); // Allumer une LED
delay(1000); // Attendre 1 seconde
digitalWrite(13, LOW); // Éteindre la LED
delay(1000);
}
4. Compilation et upload :
- Le code est compilé avec avr-gcc (un compilateur C pour microcontrôleurs AVR).
- L'IDE Arduino simplifie le processus sans nécessiter de connaissances avancées en électronique ou en programmation.
Autres langages possibles (moins courants) :
- MicroPython/CircuitPython : Sur certaines cartes compatibles (ex : Arduino Nano RP2040 Connect), on peut utiliser Python.
- Langages graphiques (ex : Arduino IDE avec des blocs pour les débutants).
- Assembleur (pour les utilisateurs avancés).
Sur Arduino, on utilise principalement une approche procédurale, mais il est aussi possible de faire de la programmation orientée objet (POO) si nécessaire.
Voici les différences de base :
1. Programmation Procédurale (la plus courante sur Arduino)
Définition :
- Le code est organisé en fonctions et instruction qui exécutent de façon séquentielles.
- Idéal pour les petits projets simples (ex : allumer une LED, lire un capteur).
Caractéristiques :
- Pas de classes ni d'objets.
- Simple à comprendre pour les débutants.
- Utilise des fonctions prédéfinies pinMode(), digitalWrite(), etc.).
2. Programmation Orientée Objet (POO) (avancé)
Définition :
- Le code est structuré autour d'objets (instances de classes) qui regroupent des données et des méthodes.
- Utile pour des projets complexes ou pour réutiliser du code (ex : piloter un robot avec plusieurs capteurs).
Caractéristiques :
- Encapsulation : Les données (comme pin) sont protégées dans la classe.
- Réutilisabilité : On peut créer plusieurs objets .
- Moins utilisé sur Arduino pour des projets simples, mais très puissant pour des systèmes modulaires.
Remarque importante
- L'IDE Arduino accepte les deux styles, mais la plupart des tutoriels utilisent le procédural par simplicité.
- La POO est utile pour :
- Créer des bibliothèques (ex : Servo.h, LiquidCrystal.h sont écrites en C++ orienté objet).
- Éviter la répétition de code.