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.
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
9600repré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 |
