Introduction à Arduino et Tinkercad
Objectifs pédagogiques
* Comprendre ce qu’est une carte Arduino et ses usages.
* Découvrir l’environnement Tinkercad pour simuler des circuits.
* Apprendre à programmer et simuler des montages simples.
* Maîtriser les commandes de base pour interagir avec l’électronique.
Qu’est-ce qu’Arduino ?
Définition
Arduino est une **plateforme open-source** combinant **matériel électronique** (carte microcontrôleur) et **logiciel** (IDE de programmation) permettant de créer des projets interactifs.
Les composants d’Arduino
- Une carte Arduino Uno (ou autre modèle) qui exécute du code et interagit avec les composants.
- Un langage de programmation inspiré du C/C++.
- Un IDE (environnement de développement) pour écrire et transférer le code.
Exemples de projets possibles :
- Clignotement de LED
- Mesure de température
- Robotique
- Systèmes domotiques
2. Qu’est-ce que Tinkercad ?
Tinkercad est un outil en ligne gratuit permettant de :
- Simuler des circuits électroniques avec Arduino.
- Programmer en blocs ou en C++.
- Tester vos montages sans matériel physique.
🔗 Accéder à Tinkercad
3. Premier projet avec Arduino
Étapes de création dans Tinkercad :
- Crée un compte et accède à la section Circuits.
- Ajoute une carte Arduino Uno.
- Place une LED et une résistance de 220Ω ou 330Ω.
- Connecte la LED :
- Anode (patte longue) → Broche D3
- Cathode (patte courte) → GND via la résistance
- Passe en code texte et saisis le code suivant :
void setup() {
pinMode(3, OUTPUT);
}
void loop() {
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
delay(1000);
}
- Clique sur Démarrer la simulation.
Pourquoi utiliser Tinkercad ?
Avantages pour les débutants
- Pas besoin de matériel : tout se fait en ligne.
- Visualisation intuitive des circuits et composants.
- Correction automatique des erreurs de branchement ou de syntaxe.
4. Le moniteur série
Le moniteur série permet à la carte Arduino d’envoyer ou de recevoir des messages texte avec l’ordinateur.
Initialiser la communication série
Serial.begin(9600); // Place dans setup()
- Cette commande initialise la connexion. Le nombre
9600
représente la vitesse de transmission (baud rate).
Envoyer des messages
Serial.print("Message"); // Sans saut de ligne
Serial.println("Message"); // Avec saut de ligne
Lire des données envoyées par l’utilisateur
if (Serial.available() > 0) {
int valeur = Serial.read(); // Lit un caractère envoyé
}
Exemple complet
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Arduino est prêt !");
delay(1000);
}
5. Commandes utiles : gestion du temps
Commande |
Rôle |
delay(ms) |
Pause en millisecondes (1000 = 1 seconde) |
millis() |
Temps écoulé depuis le démarrage (en millisecondes) |
Exemple avec millis()
unsigned long previousMillis = 0;
const long interval = 1000;
void loop() {
if (millis() - previousMillis >= interval) {
previousMillis = millis();
Serial.println("Une seconde s'est écoulée");
}
}
6. Contrôler les composants
Lire et écrire sur les broches
Fonction |
Description |
digitalRead(pin) |
Lit l’état d’une broche numérique |
digitalWrite(pin, état) |
Écrit un état HIGH ou LOW |
analogRead(pin) |
Lit une tension analogique (0 à 1023) |
analogWrite(pin, valeur) |
Génère un signal PWM (0 à 255) |
7. Résumé des commandes essentielles
Commande |
Rôle |
pinMode(pin, mode) |
Configure une broche (INPUT ou OUTPUT) |
digitalWrite() |
Envoie un signal haut ou bas |
digitalRead() |
Lit l'état logique d'une broche |
analogRead() |
Lit une valeur analogique |
analogWrite() |
Envoie un signal PWM |
Serial.begin() |
Initialise la communication série |
Serial.print() |
Affiche un message |
delay() |
Crée un délai |
millis() |
Chronomètre non-bloquant |