Arduino C — parcours robotique (débutant)
Réponse directe (octobre 2026) — Le « langage Arduino » est du C/C++ simplifié pour microcontrôleurs : chaque programme (sketch) contientsetup()(initialisation, une fois) etloop()(répété). La chaîne officielle compile avec avr-gcc via l’IDE Arduino ou l’CLI, puis téléverse le binaire sur la carte (USB). Ce n’est pas du C standard « bureau » : pas demain()écrit à la main, bibliothèquesWire,Servo, etc. Première leçon : structure du sketch ; types : variables et types.
Leçons progressives pour passer de la structure d’un sketch aux automatismes utiles en robotique : types,
seuils, boucles, timing non-bloquant avec millis() et modularité. Chaque article propose du code, des exercices et des bonnes pratiques.
Ressources complémentaires sur Amazon.fr
(partenaire).
C standard vs langage Arduino — quelle différence ?
Le C « cours » tourne souvent sur PC avec un main() unique. Sur Arduino, l’IDE génère un main() qui appelle votre setup() puis boucle sur loop(). Vous programmez entrées/sorties avec pinMode, digitalWrite, digitalRead, analogRead.
Compilation et téléversement (étapes)
- Ouvrir ou créer un sketch (.ino).
- Sélectionner la carte et le port COM (Windows) ou /dev/ttyUSB* (Linux).
- Vérifier (compile) — corriger erreurs de syntaxe (point-virgule, types).
- Téléverser — attendre « Done uploading ».
Erreurs fréquentes de compilation et de téléversement
| Message / symptôme | Piste |
|---|---|
stk500_getsync() | Mauvais port, câble charge-only, carte non sélectionnée, autre programme monopolise le port |
| Port COM absent | Pilote USB (CH340/CH341, FTDI) — voir leçons robot si carte clone |
| « expected ; before … » | Point-virgule manquant en fin de ligne C |
| Types / conversion | Mélanger int et float — voir types et variables |
Exemple minimal commenté
const int LED = 13;
void setup() {
pinMode(LED, OUTPUT); // broche 13 en sortie
}
void loop() {
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}