Lektionen
Zu Diane

Programmation et Utilisation Arduino

50 Karten

Guide complet des concepts fondamentaux, branchements, prévention des erreurs et programmation pour microcontrôleurs Arduino, avec exemples pratiques et exercices pour les débutants.

50 Karten

Wiederholen
Verteiltes Wiederholen zeigt dir jede Karte zum optimalen Zeitpunkt zum Auswendiglernen, mit schrittweise größer werdenden Wiederholungsabständen.
Frage
Quel est le montage typique pour lire un interrupteur de manière fiable ?
Antwort
Un montage avec une résistance de pull-down (ou pull-up) pour éviter un état flottant lorsque l'interrupteur est ouvert.
Frage
Comment lire la valeur d'une tension sur le port analogique A0 ?
Antwort
En utilisant l'instruction variable = analogRead(A0);
Frage
Quelle est la syntaxe d'une boucle for simple ?
Antwort
for (int i = 0; i < LIMITE; i++) { // instructions }
Frage
À quoi correspond le port VIN ?
Antwort
Il s'agit du port d'entrée pour une alimentation externe de la carte (non régulée).
Frage
Quelle est la tension fournie par le port 3V3 ?
Antwort
Ce port fournit une tension régulée de 3.3 Volts.
Frage
Comment s'appelle l'environnement de développement pour programmer l'Arduino ?
Antwort
L'IDE Arduino (Integrated Development Environment).
Frage
Comment écrire un commentaire sur une seule ligne dans le code Arduino ?
Antwort
En utilisant deux barres obliques : // Votre commentaire ici.
Frage
Que signifie le type de variable boolean ?
Antwort
C'est un type de variable qui ne peut prendre que deux valeurs : true (vrai) ou false (faux).
Frage
Quel est le rôle du filtre passe-bas sur une sortie PWM ?
Antwort
Il lisse le signal carré de la PWM pour ne conserver que sa valeur moyenne, créant une tension continue plus stable.
Frage
Pourquoi faut-il éviter d'utiliser les ports numériques D0 et D1 ?
Antwort
Car ils sont réservés à la communication série (TX/RX) avec l'ordinateur via USB.
Frage
Le port D13 a une particularité. Laquelle ?
Antwort
Il est connecté à une LED intégrée sur la carte, qui s'allume quand le port est à l'état HIGH.
Frage
Qu'est-ce qu'un pont diviseur de tension ?
Antwort
Un montage simple avec deux résistances en série qui permet d'obtenir une tension de sortie proportionnelle à la tension d'entrée.
Frage
Quelle est la différence entre Serial.print() et Serial.println() ?
Antwort
Serial.println() ajoute un retour à la ligne après avoir envoyé les données, contrairement à Serial.print().
Frage
Que faut-il faire avant de téléverser un nouveau programme ?
Antwort
Débrancher le câble USB, réaliser le montage, le faire valider si besoin, puis rebrancher le câble pour téléverser.
Frage
Quel est le risque si on relie directement deux sorties numériques entre elles ?
Antwort
Si l'une est à HIGH et l'autre à LOW, cela crée un court-circuit qui peut détruire la carte.
Frage
Comment relier une sortie à la masse (GND) en toute sécurité ?
Antwort
Il faut toujours insérer une résistance d'au moins 125 Ω (200 Ω est préférable) pour limiter le courant à moins de 40 mA.
Frage
Comment déclarer une variable de type entier nommée 'valeur' ?
Antwort
En utilisant la syntaxe int valeur;.
Frage
Que retourne la fonction millis() ?
Antwort
Elle retourne le nombre de millisecondes écoulées depuis le lancement du programme en cours.
Frage
Quelle instruction met le programme en pause pendant une seconde ?
Antwort
L'instruction delay(1000);, car la durée est spécifiée en millisecondes.
Frage
Quelle est l'utilité du Moniteur série dans l'IDE Arduino ?
Antwort
Il permet d'afficher les messages envoyés depuis la carte Arduino via Serial.print(), ce qui est utile pour le débogage.
Frage
À quoi sert l'instruction Serial.begin(9600) ?
Antwort
Elle initialise la communication série entre l'Arduino et l'ordinateur à une vitesse de 9600 bauds.
Frage
Quand la fonction loop() est-elle exécutée ?
Antwort
Elle s'exécute en boucle, indéfiniment, après la fin de l'exécution de la fonction setup().
Frage
Quand la fonction setup() est-elle exécutée ?
Antwort
Elle est exécutée une seule fois, au démarrage du microcontrôleur ou après une réinitialisation.
Frage
Quelles sont les deux fonctions principales qui structurent un programme Arduino ?
Antwort
La fonction void setup() et la fonction void loop().
Frage
Quel est le courant total maximum que la carte Arduino peut fournir ?
Antwort
Le courant total est limité à 200 mA pour l'ensemble des ports.
Frage
Quelle est la tension maximale applicable sur un port d'entrée (numérique ou analogique) ?
Antwort
Il ne faut jamais appliquer une tension supérieure à 5.5 V.
Frage
Que se passe-t-il si on relie directement le port 5V au port GND ?
Antwort
Cela provoque un court-circuit qui endommagera de façon permanente la carte Arduino.
Frage
Quelle valeur faut-il utiliser avec analogWrite() pour obtenir environ 2.5V ?
Antwort
Il faut utiliser la valeur 127 ou 128, soit environ la moitié de la valeur maximale (255).
Frage
Quelle est la plage de valeurs pour la fonction analogWrite() ?
Antwort
Un entier de 0 à 255, correspondant à une tension moyenne de 0 V à 5 V.
Frage
Quelle fonction est utilisée pour générer un signal PWM ?
Antwort
La fonction analogWrite(port, valeur), où 'valeur' est un entier de 0 à 255.
Frage
Quels ports numériques supportent la sortie PWM ?
Antwort
Les ports marqués d'un tilde (~), soit les ports 3, 5, 6, 9, 10, et 11.
Frage
Qu'est-ce que la PWM (Pulse Width Modulation) ?
Antwort
Une technique qui simule une tension analogique en faisant varier rapidement le rapport cyclique d'un signal numérique entre HIGH et LOW.
Frage
L'Arduino a-t-il de vraies sorties analogiques ?
Antwort
Non, l'Arduino ne possède pas de vraie sortie analogique. Il simule une tension à l'aide de la technique PWM.
Frage
Une tension de 5V sur A0 donnera quelle valeur avec analogRead(A0) ?
Antwort
La valeur sera 1023, qui est la valeur maximale pour une résolution de 10 bits.
Frage
Quelle est la tension de référence (Vref) par défaut pour les entrées analogiques ?
Antwort
Par défaut, la tension de référence Vref est de 5 V.
Frage
Quelle est la plage de valeurs retournée par la fonction analogRead() ?
Antwort
Elle retourne un entier compris entre 0 et 1023.
Frage
Quelle est la résolution du convertisseur analogique-numérique (CAD) de l'Arduino ?
Antwort
Le CAD travaille sur 10 bits, ce qui donne une plage de valeurs de 0 à 1023.
Frage
Que fait une entrée analogique ?
Antwort
Elle mesure la tension appliquée sur son port et la convertit en une valeur numérique. C'est un voltmètre numérique.
Frage
Quelle fonction lit l'état (HIGH/LOW) d'une entrée numérique ?
Antwort
La fonction digitalRead(numero_port).
Frage
À quoi sert une résistance de pull-down ?
Antwort
Elle relie une entrée numérique à la masse (GND) pour assurer un état LOW stable lorsque l'entrée n'est pas active (par ex. interrupteur ouvert).
Frage
Qu'est-ce qu'un état flottant pour une entrée numérique ?
Antwort
C'est un état indéterminé (ni HIGH, ni LOW) qui se produit lorsqu'une entrée n'est connectée à aucune tension de référence.
Frage
Pourquoi faut-il une résistance en série avec une LED ?
Antwort
Pour limiter le courant qui traverse la LED et protéger à la fois la LED et le port du microcontrôleur.
Frage
Quel est le courant maximal qu'une sortie numérique peut fournir ?
Antwort
Le courant est limité à 40 mA par port. Dépasser cette limite peut endommager la carte.
Frage
Quelle est la fonction pour écrire une valeur sur un port numérique ?
Antwort
La fonction digitalWrite(numero_port, VALEUR), avec VALEUR étant HIGH ou LOW.
Frage
Quelle fonction faut-il utiliser pour définir un port comme entrée ou sortie ?
Antwort
La fonction pinMode(numero_port, MODE), où MODE est INPUT ou OUTPUT.
Frage
Quelles sont les deux valeurs que peut prendre une sortie numérique ?
Antwort
Les valeurs LOW (0 V, GND) et HIGH (~5 V).
Frage
Quels sont les deux types d'entrées/sorties (I/O) sur une carte Arduino ?
Antwort
Les entrées/sorties (I/O) numériques (digital) et analogiques (analog).
Frage
Qu'est-ce qu'une platine d'expérimentation (breadboard) ?
Antwort
Une platine permettant de réaliser des montages électriques rapidement et sans soudure, en y insérant des fils et des composants.
Frage
Quels sont les deux rôles du câble USB pour l'Arduino ?
Antwort
Il assure l'alimentation électrique de la carte et permet la communication série avec un ordinateur pour la programmation et le débogage.
Frage
Qu'est-ce qu'une carte Arduino ?
Antwort
Un microcontrôleur open source utilisé pour construire des systèmes électroniques et de mesure, populaire auprès de la communauté des 'Makers'.

Le microcontrôleur Arduino est un système open-source qui intègre un processeur, de la mémoire et des interfaces pour interagir avec le monde extérieur,devenant un outil essentiel pour les projets d'électronique embarquée et d'instrumentation physique.

Le Microcontrôleur Arduino

Un microcontrôleur est un petit ordinateur autonome à performances réduites mais de faible taille et faible consommation d'énergie, idéal pour l'électroniqueembarquée. La carte Arduino est une implémentation populaire et open-source de ce concept.

  • Connexion: La carte se connecte à un ordinateur via un câble USB, qui assure à la fois l'alimentation et la communication série.

  • Précautions: Il est crucial de suivre les consignes de sécurité pour éviter d'endommager la carte ou le port USB de l'ordinateur.

La Platine d'Expérimentation (Breadboard)

Le breadboard est une platine expérimentale qui permet de créer des circuits électriques rapidement sans soudure.

  • Structure: Elle dispose de bandes latérales généralement réservées aux tensions d'alimentation (0V et 5V) et d'une section centrale divisée.

  • Connexions: Les trous sont connectés en colonnes au centre, et en lignes sur les côtés.

Les Entrées / Sorties (I/O - Input/Output)

Les I/O permettent à la carte Arduino d'interagir avec son environnement, via des signaux numériques ou analogiques.

Les Entrées / Sorties Numériques

Les I/O numériques prennent seulement deux valeurs : LOW (0V) ou HIGH (environ 5V).

  • Ports: L'Arduino comporte 14 ports numériques (D0 à D13).

  • Usage spécifique: Les ports D0 et D1 sont réservés à la communication série. Le port D13 est équipé d'une LED intégrée.

  • GND: Le port GND est la masse (0V) de la carte.

Les Sorties Numériques

Un port numérique configuré en sortie permet au microcontrôleur de contrôler sa valeur (HIGH ou LOW).

  • Courant limité: Le courant délivré par un port digital en sortie est limité à 40 mA. Un dépassement peut endommager la carte.

  • Application: Utilisées pour l'échange d'informations (communication série) ou le déclenchement d'actions(par exemple, allumer une LED).

  • Exemple de montage (LED):

    Montage LED

    Une résistance (R1) est indispensable pour limiter le courant et protéger la LED et l'Arduino.

  • Instructions de programmation:

    • pinMode (2, OUTPUT);: Définit D2 comme une sortie.

    • digitalWrite(2, HIGH);: Met l'état de D2 àHIGH (5V).

    • digitalWrite(2, LOW);: Met l'état de D2 à LOW (0V).

Les Entrées Numériques

Un port numérique configuré en entrée permet à l'Arduino de lire l'état (HIGH ou LOW) d'un signal externe.

  • Seuils de tension:

    • Tensions < 1V sont lues comme LOW.

    • Tensions > 4V sont lues comme HIGH.

    Les tensions intermédiaires sont à éviter. Une tension > 5.5V peut détruire la carte.

  • Entrée flottante: Une entrée non connectée aura un état indéterminé.

  • Problème de montage:

    Mauvais montage interrupteur

    Ce montage est problématique car D2 est flottant quand l'interrupteur est ouvert.

  • Solution (Pull-down):

    Bon montage interrupteur pull-down

    L'ajout d'une résistance de pull-down (R2, 10 kOhms) connectée à GND assure que l'entrée D2 est à

LOW lorsque l'interrupteur est ouvert.

  • Risque: Si D2 est par erreur déclaré comme sortie et l'interrupteur fermé, un court-circuit peut se produire.

  • Instructions de programmation:

    • pinMode (2, INPUT);: Définit D2 comme une entrée.

    • buttonState = digitalRead(2);: Lit la valeur (HIGH/LOW) de D2.

Les Entrées Analogiques

Lesentrées analogiques mesurent une tension et la convertissent en une valeur numérique grâce à un Convertisseur Analogique/Numérique (CAN).

  • Fonctionnement du CAN:

    Fonctionnement CAN

    Le CAN de l'Arduino travaille sur 10 bits, convertissant une tension entre 0V et Vref en un entier entre 0 et 1023.

    • Vref est de 5V par défaut et peut être modifiée.

    • La relation entre tension et valeur numérique est linéaire.

  • Exemple de montage (Potentiomètre):

    Montage potentiomètre

    Un potentiomètre agit comme un diviseur de tension, permettant de faire varier la tension lue par l'entrée analogique.

    Montage potentiomètre avec source externe

    Avec une source d'alimentation externe, il est essentiel d'avoir une masse commune.

  • Instructions de programmation:

    • sensorValue = analogRead (A0);: Lit la valeur analogique sur le port A0 (retourne un entier entre 0 et 1023).

LesSorties Analogiques (PWM)

L'Arduino ne dispose pas de vraies sorties analogiques, mais simule une tension analogique via la Modulation de Largeur d'Impulsion (PWM) sur certains ports numériques (3, 5, 6, 9, 10, 11).

  • Principe du PWM:

    Principe PWM

    Le port bascule rapidement entre LOW (0V) et HIGH (5V). La tension moyenne est contrôlée par le rapport cyclique (temps passé à HIGH).

  • Sensibilité: La carte gère la PWM avec une sensibilité de 8 bits (valeurs entières de 0 à 255).

    PWM et rapport cyclique

    0 correspond à 0V, 255 à 5V. Les valeurs intermédiaires donnent des tensions moyennes proportionnelles.

  • Applications: Commande de la puissance d'un moteur, variation de l'intensité d'une LED.

  • Exemple de montage (LED via PWM):

    Montage LED via PWM

    Permet de faire varier l'intensité d'une LED.

  • Vraie tension analogique: Pour une tension continue stable, un filtre passe-bas doit être ajouté pour lisser le signal PWM.

  • Instructions de programmation:

    • analogWrite(3, 127);: Envoie unetension moyenne de 2.5V sur le port D3.

Les Tensions de Référence

L'Arduino offre des points d'accès à des tensions de référence stables.

Tensions de référence
  • GND: La masse de la carte (0V). C'est la référence par laquelle toutes les tensions sont mesurées.

  • 5V et 3.3V: Fournissent des tensions régulées (5V et 3.3V). Si la carte est connectée à l'USB sans alimentation externe, le 5V provient directement du câble USB et peut être moins régulé.

  • VIN: Tension de l'alimentation externe, si présente.

  • ATTENTION: Évitezde court-circuiter ces ports (par exemple, connecter 5V à GND), cela endommagerait la carte.

Le Port USB

Le port USB sert à la fois à l'alimentation de la carte et à la communication série avec l'ordinateur.

  • Identification: L'Arduino apparaît comme un port série (COMx) dans le gestionnaire de périphériques.

  • Configuration: L'IDE Arduino doit être configuré avec le bon type de carte et le bon port COM.

  • Débogage: Le "Moniteur Série" de l'IDE est un outil essentiel pour visualiser les messages de la carte.

Transférer un Programme à la Carte

Le programme exécuté par le microcontrôleur est écrit en langage C/C++ à l'aide de l'IDE Arduino, puis compilé et téléversé via USB.

  • IDE Arduino: Fournit un environnement pour écrire, compiler et téléverser le code.

  • Configuration: Il faut spécifier le modèle de la carte et le port série utilisé dans les menus de l'IDE.

    Configuration IDE Arduino
  • Exécution: Après téléversement, la fonction setup() s'exécute une fois, suivie de la fonction loop() qui s'exécute encontinu.

  • Exemples: L'IDE contient de nombreux exemples de programmes utiles.

Les Précautions (ou comment ne pas détruire votre carte Arduino)

Le non-respect de ces consignes peut entraîner des dommages irréparables à la carte Arduinoou au port USB de l'ordinateur.

  • Ne jamais connecter une tension supérieure à 5V sur les ports d'entrée.

  • Ne jamais dépasser 40 mA par port, ni 200 mA au total pour la carte.

  • Résistance de protection: Pour connecter une sortie à la masse, utilisez une résistance d'au moins 125 Ohms (idéalement 200 Ohms) pour limiter le courant.

  • Ne jamais relier directement une sortie digitale à la masse.

  • Ne jamais relier directement deux sorties digitales.

  • Vérifier la polarité d'une alimentation externe avant de la brancher.

  • Ne pas envoyer de tension dans les ports de sorties fixes (5V, 3.3V, GND, VIN).

  • Toujours vérifier les courants demandéspar le circuit et les comparer aux limites de la carte.

  • Toujours mettre une résistance en série avec une diode branchée à une sortie digitale.

  • Toutes les tensions sont par rapport à GND (masse).

CE QU'IL NE FAUT PAS FAIRE N°1: UN COURANT TROP FORT

Connecter une résistance trop faible (ou un fil) entre un port numérique et la masse (GND) provoquera un courant excessif qui détruira la sortie.

Circuit àéviter: courant trop fort

NE FAITES JAMAIS CE MONTAGE !

CE QU'IL NE FAUT PAS FAIRE N°2 : UN COURANT TOTAL TROP FORT

Même si chaque port respecte la limite de 40 mA, le courant total délivré par lacarte ne doit pas dépasser 200 mA. Activer trop de ports simultanément peut endommager le microcontrôleur.

Circuit à éviter: courant total trop fort

NE FAITES JAMAIS CE MONTAGE !

CEQU'IL NE FAUT PAS FAIRE N°3 : UN COURT-CIRCUIT

Relier deux sorties numériques l'une à l'autre avec des états opposés (l'une HIGH, l'autre LOW) crée un court-circuit.

Circuit à éviter: court-circuit deux sorties

NE FAITES JAMAIS CE MONTAGE !

CE QU'IL NE FAUT PAS FAIRE N°4 : UN AUTRE COURT-CIRCUIT

Tout court-circuit entre les ports d'alimentation (5V,3.3V, GND) est dangereux pour la carte.

Circuit à éviter: court-circuit alims

NE FAITES JAMAIS CE MONTAGE !

CE QU'IL NE FAUT PAS FAIRE N°5 : UNCOURANT TROP FORT MALGRÉ TOUT

Une sortie PWM (analogique) peut aussi être détruite par un courant excessif. Même si la tension moyenne est faible, la tension réelle alterne entre 0V et 5V, nécessitant une résistance de protection.

Circuit à éviter: sortie analogique courant trop fort

NE FAITES JAMAIS CE MONTAGE !

CE QU'IL NE FAUT PAS FAIRE N°6 : UNE TROP FORTE TENSION

Appliquer une tension supérieure à 5V sur n'importe quel port (numérique ou analogique) de la carte est critique.

Circuit à éviter: tension trop forte

NE FAITES JAMAIS CE MONTAGE !

LeLangage de Programmation

La documentation complète est disponible sur arduino.cc/en/Reference/HomePage.

Structure d'un Programme Arduino

Un programme Arduino est composé de deux fonctions principales :setup() et loop().

Déclaration des variables:

  • int led = 13;: Définit une variable entière nommée "led" avec la valeur 13.

  • byte bytea;: Entier de 0 à 255.

  • int integer1;: Entier de -32,768 à 32,767.

  • unsigned int uInteger1;: Entier de 0 à 65,535.

  • float mesure1;: Nombre réel à virgule flottante.

  • boolean flag = true;: Booléen (true ou false).

  • int tableauInt [6];: Tableau de 6 entiers (indices 0 à 5).

Fonction setup():

void setup() {
    Serial.begin(9600); // initialise le port série
    pinMode(3, OUTPUT); // initialise la voie 3 comme sortie
    pinMode(4, INPUT); //initialise la voie 4 comme entrée
    pinMode(led, INPUT); // si led = 13, initialise la voie 13 comme entrée
} // fin de la procédure setup()

Cette fonction est exécutée une seule fois au démarrage de la carte.Elle configure les ports et initialise les communications.

Fonction loop():

void loop() {
    // instructions du programme à mettre ici;
}

Cette fonction contient le code principal qui s'exécute en boucleinfinie après setup().

Instructions les plus utiles

La capitalisation des lettres est importante dans le langage Arduino.

Imposer des tensions aux sorties de la carte (Écrire):

  • digitalWrite(3,HIGH);: Applique 5V au port D3 configuré comme sortie. Peut être LOW pour 0V.

  • analogWrite(6, 100);: Envoie une valeur PWM de 100 au port D6. La valeur estentre 0 (0V) et 255 (5V), donc 100 correspond à environ 1.96V.

Lire des tensions aux entrées de la carte:

  • buttonState = digitalRead(4);: Lit l'état (HIGH ou LOW) du port D4 (ici buttonState est un booléen).

  • val = analogRead(5);: Lit la valeur analogique du port A5 (entier entre 0 et 1023).

Autresinstructions courantes:

  • readings[3] = 1;: Affecte la valeur 1 à l'index 3 d'un tableau.

  • nombrereel = float(nombreentier);: Convertit un entier en réel.

  • Exemples de calculs:

    • Vmes = average * Vref / 1024;

    • temp = (Rmes / 100 - 1) / 3.85e-3;

  • delay(1);: Met le programme en pause pendant 1 milliseconde.

  • time = millis();: Renvoie le temps écoulé en millisecondes depuis le démarrage (utiliser unsigned long pour time).

Communicationsérie:

  • Serial.print("Mesure : ");: Envoie une chaîne de caractères sur le port série.

  • Serial.print(variable);: Envoie la valeur d'une variable.

  • Serial.println(" toto ");: Envoie unechaîne avec un retour à la ligne (println ajoute un retour à la ligne, print non).

Boucles:

  • Boucle for (ici de 0 à 99):

    for (int index= 0; index < 100; index++) {
        // instructions de la boucle à exécuter
    }
    for (int x = 2; x < 100; x = x * 1.5) {
        // instructions de la boucleà exécuter
    }
  • Boucle while (ici tant que index est < 3):

    while (index < 3) {
        index = index + 1;
    }
  • Boucle do-while:

    do {
        // instruction à faire;
    } while (condition);

Conditions:

  • Instruction if-else:

    if (buttonState == HIGH) {
        // instruction si buttonState vaut HIGH
    } else {
        // instruction si buttonState vaut LOW
    }

La Séance de Travail : Découvrir Arduino

Cette section guideà travers une série d'exercices pratiques pour se familiariser avec l'Arduino, sa programmation et les montages électroniques.

AU TOUT DÉBUT

  1. Connectez-vous et lancez l'IDE Arduino.

  2. Spécifiez letype de carte (UNO ou MEGA) dans Outils > Type de carte.

  3. Branchez l'Arduino via USB.

  4. Spécifiez le port COM utilisé dans Outils > Port.

LA CONNECTIQUE : MICROCONTRÔLEUR ARDUINO ET BREADBOARD

Le breadboard est une plateforme où il est facile de connecter divers éléments.

Schéma breadboard

Par convention, la ligne bleue est connectée à 0V (GND) et la ligne rouge à 5V.

  1. Vérifiez les connexions du breadboard avec un multimètre.

  2. Utilisez l'Arduino pour créer une tension de 5V (ou 3.3V) entre les zones rouge et bleue du breadboard et mesurez-la.

  3. Construisez un montage pour allumer une LED, en incluant une résistance de 220 Ohms.

    Montage LED sur breadboard
  4. Construisez un montage avec un potentiomètre pour délivrer une tension variable.

    Montage potentiomètre sur breadboard
  5. Utilisez un potentiomètre pour allumer progressivement une LED.

    Potentiomètre commande LED

PROGRAMMER LE MICROCONTRÔLEUR ARDUINO

Avant chaque programmation, suivez ces étapes :

  • Lancez initOrsayavec le câble USB branché pour initialiser les voies et effacer le programme précédent.

  • Débranchez le câble USB, réalisez le montage électrique et le programme.

  • Rebranchez le câble USB, puis téléversez le programme Arduino.

  • Si le montagefonctionne, dessinez le circuit ou prenez une photo.

Exercices de programmation :

  1. Test de base: Lancez Fichier > Exemples > Basics > Blink, vérifiez le clignotement de la LED et modifiez le délai.

  2. LED extérieure: Adaptez le programme Blink pour faire clignoter une LED externe via le breadboard.

  3. Interrupteur (entrée numérique): Réalisez le circuit et le programme pour contrôler la LED interne de la carte avec un interrupteur.

    Montage interrupteur commande LED
  4. Interrupteur et LED extérieure: Modifiez le montage précédent pour contrôler une LED externe avec l'interrupteur.

  5. Lire une tension constante (entrée analogique):

    • Utilisez analogRead pour lire une tension (par exemple, 3.3V de la carte).

    • Inspirez-vous de Fichier > Exemples > Analog > AnalogInOutSerial.

    • Affichez la valeur luesur le moniteur série (et en volts).

  6. Lire une tension pilotée avec un potentiomètre: Modifiez le circuit pour lire une tension réglable par un potentiomètre.

  7. Créer une tension PWM (sortie analogique):

    • Utilisez une sortie PWM pour générer une tension de 1V (inspiré de AnalogWriteMega).

    • Lisez la tension avec un multimètre et une entrée analogique de la carte, puis comparez.

  8. Piloter une LED avec une tension PWM: Utilisez une sortie PWM pour contrôler l'intensité d'une LED externe.

RÉCUPÉRER ET TRACER LES DONNÉES AVEC LABVIEW

Utilisez le programme LabVIEW "Communication Arduino Vers Labview.vi" pour lire les données des expériences Arduino.

  • Attention: Ne pas lancer LabVIEW si le moniteur série est actif ou si un programme est en cours de téléversement.

  • Format des données: Écrivez vos données au format d'un tableau de nombres séparés par des points-virgules (;) avec un retour à la ligne à la fin de chaque ligne, par exemple:

    4;7
    6;3.2
    7;2
    ...
  • Vérifiez que LabVIEW peut lire et enregistrer les données, puis relisez-les avec d'autres logiciels (Kaleidagraph ou Excel).

QUE MESURE-T-ON VRAIMENT AVEC LE MICROCONTRÔLEUR ?

En effectuant desmesures de tension appropriées, étudiez et testez :

  • La digitalisation de la carte.

  • Le bruit de la carte.

  • Le temps d'acquisition minimum.

  • L'intérêt ou non de moyenner une mesure.

Facultatif: Réalisez un programme pour mesurer une thermistance Pt100 en fonction du temps, et analysez la précision et la sensibilité de votre système.

Points Clés à Retenir

  • Arduino est un microcontrôleuropen-source, versatile pour l'électronique et la physique.

  • Le breadboard facilite les montages sans soudure.

  • Les I/O numériques gèrent des états HIGH/LOW (5V/0V), tandis que les I/O analogiques lisent des tensions transformées en valeurs numériques (0-1023).

  • Les sorties analogiques sont simulées par la PWM (Pulse Width Modulation) sur certains ports.

  • Il est impératif de respecter les limites de courant (40 mA par port, 200 mA total) et de tension (max 5.5V) pour éviter d'endommager la carte.

  • Un programme Arduino est structuré avec setup() (exécution unique) et loop() (exécution continue).

  • La communication série via le portUSB est essentielle pour le téléversement et le débogage.

  • Des précautions rigoureuses sont nécessaires pour la manipulation et la connexion des composants afin de prévenir les courts-circuits et les surintensités.

  • L'IDE Arduino et les nombreux exemples disponibles en ligne sont des ressources précieusespour l'apprentissage et le développement.

Quiz starten

Teste dein Wissen mit interaktiven Fragen