Bandeau visuel : parcours Arduino C

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) contient setup() (initialisation, une fois) et loop() (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 de main() écrit à la main, bibliothèques Wire, 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).

💡 Prolongement domotique : après Arduino, découvrez l'ESP32 pour créer des capteurs connectés à Home Assistant. → 10 projets ESP32 pour la maison connectée

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.

Schéma : exécution setup puis loop avec entrées et sorties

Compilation et téléversement (étapes)

  1. Ouvrir ou créer un sketch (.ino).
  2. Sélectionner la carte et le port COM (Windows) ou /dev/ttyUSB* (Linux).
  3. Vérifier (compile) — corriger erreurs de syntaxe (point-virgule, types).
  4. 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);
}

Leçons du parcours

  • 1 Arduino C : structure sketch, setup/loop, Serial Monitor Structure sketch Arduino : setup/loop, Serial. 20 exercices.
  • 2 Arduino C — types, variables et constantes (20 exercices) Types Arduino : int, unsigned long, float. 20 exercices.
  • 3 Arduino C : conditions (if/else) capteurs et actionneurs if/else Arduino : seuils, capteurs et actionneurs simulés, bonnes pratiques. 20 exercices corrigés.
  • 4 Arduino C : boucles et timing (delay vs millis) Boucles for/while, compteurs, et timing en robotique : delay, millis, cadence de capteurs/son, éviter les blocages. 20 exercices corrigés.
  • 5 Fonction Arduino : créer et appeler des fonctions en C Fonctions Arduino : portée, DRY, code lisible, éviter les globales. 20 exercices corrigés.
  • ← Toutes les rubriques programmation