dimanche 21 juin 2026

Bouton Poussoir Récalcitrant

 

Le Bouton Poussoir Récalcitrant : Comprendre le Rebond et Maîtriser l’Anti-Rebond avec Arduino



Introduction

Dans le monde de l’électronique et de la programmation avec Arduino, le bouton poussoir est l’un des composants les plus simples et les plus utilisés. Pourtant, malgré sa simplicité apparente, il peut parfois provoquer des comportements inattendus dans un circuit électronique. Une LED qui clignote plusieurs fois au lieu d’une seule, un robot qui réagit de manière étrange ou un programme qui exécute plusieurs commandes après une seule pression sont des problèmes très fréquents chez les débutants. Ce phénomène est souvent appelé « bouton poussoir récalcitrant ».

Un bouton poussoir récalcitrant n’est pas réellement cassé. Le problème vient principalement d’un phénomène électronique appelé le rebond du bouton, aussi connu sous le nom de « Button bounce ». Lorsqu’on appuie sur le bouton, les contacts métalliques internes ne se ferment pas immédiatement de manière stable. Ils rebondissent plusieurs fois en quelques millisecondes avant de se stabiliser. Le microcontrôleur interprète alors ces micro-rebonds comme plusieurs appuis différents.

Comprendre ce phénomène est essentiel pour tous ceux qui souhaitent apprendre l’Arduino, créer des projets robotiques, programmer des systèmes interactifs ou enseigner l’électronique aux enfants. Dans cet article, nous allons découvrir en détail ce qu’est un bouton poussoir récalcitrant, pourquoi le rebond apparaît, comment le détecter et surtout comment résoudre efficacement ce problème grâce à la technique de l’anti-rebond avec la fonction millis().

Qu’est-ce qu’un Bouton Poussoir ?

Le bouton poussoir est un composant électronique permettant d’ouvrir ou de fermer un circuit électrique temporairement. Contrairement à un interrupteur classique qui reste dans une position fixe, le bouton poussoir revient automatiquement à sa position initiale lorsqu’on relâche la pression.

Les boutons poussoirs sont présents partout dans notre quotidien :

  • Télécommandes
  • Claviers d’ordinateur
  • Jouets électroniques
  • Robots éducatifs
  • Ascenseurs
  • Sonnettes
  • Systèmes domotiques

Dans les projets Arduino, le bouton poussoir est souvent utilisé pour :

  • Allumer ou éteindre une LED
  • Contrôler un robot
  • Lancer un chronomètre
  • Modifier un menu
  • Déclencher une alarme
  • Jouer un son avec un buzzer

Malgré son apparence simple, ce composant peut devenir problématique lorsque le programme ne gère pas correctement le phénomène de rebond.

Pourquoi un Bouton Poussoir Devient-il « Récalcitrant » ?

Le mot « récalcitrant » désigne quelque chose qui résiste ou qui ne fonctionne pas comme prévu. Dans le cas du bouton poussoir, cela signifie que le bouton envoie plusieurs signaux au lieu d’un seul.

Lorsqu’un utilisateur appuie sur le bouton, les petites lamelles métalliques à l’intérieur vibrent très rapidement avant de se stabiliser. Cette vibration produit plusieurs transitions électriques successives entre l’état HIGH et LOW.

Le microcontrôleur Arduino étant extrêmement rapide, il détecte chacune de ces micro-variations comme des appuis différents.

Conséquences possibles :

  • Une LED clignote plusieurs fois
  • Un compteur augmente trop vite
  • Un moteur démarre et s’arrête rapidement
  • Un robot reçoit des commandes erronées
  • Une interface utilisateur devient instable

Ce phénomène est totalement normal en électronique. Il ne signifie pas que le bouton est défectueux.

Le Phénomène du Rebond du Bouton

Le rebond du bouton, appelé également « debounce » en anglais, est un phénomène mécanique et électrique.

Quand les contacts métalliques se touchent, ils ne restent pas immédiatement stables. Ils rebondissent pendant quelques millisecondes.

Pendant cette période :

  • Le signal passe rapidement de 0 à 1
  • Puis de 1 à 0
  • Et recommence plusieurs fois

Arduino lit ces changements extrêmement vite.

Même si l’utilisateur pense avoir effectué un seul appui, le programme peut détecter plusieurs impulsions.

La durée du rebond varie généralement entre 5 et 50 millisecondes.

Dans les projets professionnels, ignorer ce phénomène peut provoquer des erreurs importantes, notamment dans les systèmes automatisés ou industriels.

Comprendre le Fonctionnement avec Arduino

Arduino fonctionne grâce à un microcontrôleur capable de lire des entrées numériques.

Un bouton poussoir connecté à une broche numérique peut avoir deux états :

  • HIGH : état haut
  • LOW : état bas

Lorsqu’on utilise INPUT_PULLUP, la broche reste à HIGH tant que le bouton n’est pas appuyé. Quand l’utilisateur appuie sur le bouton, la valeur devient LOW.

Exemple simple :

const int bouton = 2;
const int led = 13;

void setup() {
pinMode(bouton, INPUT_PULLUP);
pinMode(led, OUTPUT);
}

void loop() {

if(digitalRead(bouton) == LOW){
digitalWrite(led, HIGH);
}
else{
digitalWrite(led, LOW);
}

}

Ce programme fonctionne correctement pour un simple contrôle. Cependant, lorsqu’on souhaite changer l’état de la LED à chaque appui, le rebond devient visible.

Les Effets du Rebond dans les Projets Robotiques

Dans la robotique éducative, le bouton poussoir est très utilisé.

Par exemple :

  • Démarrer un robot suiveur de ligne
  • Contrôler un bras robotique
  • Modifier la vitesse d’un moteur
  • Changer le mode d’un programme

Si le rebond n’est pas corrigé :

  • Le robot peut changer plusieurs fois de mode
  • Le moteur peut démarrer brusquement
  • Le buzzer peut produire plusieurs sons inattendus
  • Le programme devient instable

Pour les enfants et les débutants, ce problème peut être frustrant car le circuit semble fonctionner « au hasard ».

C’est pourquoi il est essentiel d’apprendre la technique de l’anti-rebond dès les premières leçons d’Arduino.

La Solution : l’Anti-Rebond

L’anti-rebond, ou debounce, consiste à ignorer les changements très rapides du signal pendant quelques millisecondes.

L’idée est simple :

Quand le bouton change d’état, le programme attend un petit délai avant de confirmer l’appui.

Si le signal reste stable après ce délai, alors l’appui est validé.

Cette technique permet :

  • D’éviter les faux appuis
  • D’améliorer la stabilité du programme
  • De rendre les projets plus professionnels
  • D’obtenir un comportement fiable

Pourquoi Utiliser millis() au lieu de delay() ?

De nombreux débutants utilisent delay() pour résoudre le rebond.

Exemple :

if(digitalRead(bouton)==LOW){
delay(50);
}

Cette méthode fonctionne parfois, mais elle bloque totalement le programme pendant le délai.

Pendant ce temps :

  • Arduino ne lit plus les capteurs
  • Les moteurs peuvent s’arrêter
  • Les animations deviennent moins fluides
  • Le robot perd en réactivité

La fonction millis() est beaucoup plus professionnelle.

Elle permet de mesurer le temps sans bloquer le programme.

millis() retourne le nombre de millisecondes écoulées depuis le démarrage de la carte Arduino.

Grâce à cette fonction, le programme peut continuer à fonctionner normalement tout en surveillant le temps.

Exemple Professionnel d’Anti-Rebond avec millis()

Voici un exemple fiable et optimisé :

const int bouton = 2;
const int led = 13;

bool etatLed = false;
bool dernierEtatBouton = HIGH;

unsigned long dernierTemps = 0;
const int delai = 50;

void setup() {
pinMode(bouton, INPUT_PULLUP);
pinMode(led, OUTPUT);
}

void loop() {

bool lecture = digitalRead(bouton);

if (lecture != dernierEtatBouton) {
dernierTemps = millis();
}

if ((millis() - dernierTemps) > delai) {

if (lecture == LOW) {
etatLed = !etatLed;
digitalWrite(led, etatLed);

while(digitalRead(bouton)==LOW);
}
}

dernierEtatBouton = lecture;
}

Ce programme attend que le signal reste stable pendant 50 millisecondes avant de considérer que le bouton a réellement été pressé.

Les Avantages de la Technique Anti-Rebond

Utiliser l’anti-rebond dans un projet Arduino présente plusieurs avantages :

Meilleure Fiabilité

Le programme réagit uniquement aux vrais appuis.

Expérience Utilisateur Améliorée

Les commandes deviennent fluides et précises.

Programmation Plus Professionnelle

Les projets ressemblent davantage à des systèmes électroniques réels.

Compatibilité avec les Robots et les Jeux

Les robots, les jeux éducatifs et les interfaces deviennent plus stables.

Comment Enseigner le Bouton Poussoir aux Enfants ?

Le bouton poussoir est un excellent composant pour initier les enfants à la programmation et à l’électronique.

Pour rendre l’apprentissage amusant :

  • Utiliser des LEDs colorées
  • Ajouter un buzzer sonore
  • Créer un mini jeu de réflexe
  • Construire un feu de circulation
  • Réaliser un robot interactif

Une bonne méthode consiste à comparer le rebond du bouton à une balle qui rebondit sur le sol.

Même si on lance la balle une seule fois, elle touche le sol plusieurs fois avant de s’arrêter.

Le bouton fonctionne exactement de la même manière.

Cette comparaison aide énormément les enfants à comprendre le concept.

Les Erreurs Fréquentes des Débutants

Lorsqu’ils commencent avec Arduino, de nombreux élèves commettent les mêmes erreurs :

Utiliser delay() Partout

Cela ralentit les projets et bloque le programme.

Oublier INPUT_PULLUP

Sans résistance pull-up, le signal peut devenir instable.

Lire le Bouton Trop Rapidement

Arduino lit les entrées très vite, ce qui amplifie le problème du rebond.

Ne Pas Tester le Programme

Il est important de tester plusieurs fois le comportement du bouton.

Applications Réelles du Bouton Poussoir

Le bouton poussoir est utilisé dans de nombreux domaines technologiques.

Domotique

Contrôle des lumières et systèmes intelligents.

Industrie

Machines automatisées et panneaux de commande.

Robotique

Commandes de démarrage et changement de mode.

Jeux Vidéo

Bornes d’arcade et manettes.

Éducation STEM

Apprentissage de la logique et de la programmation.

Grâce à sa simplicité, il reste l’un des composants les plus importants dans l’apprentissage de l’électronique.

Conclusion

Le bouton poussoir récalcitrant est un problème classique dans les projets Arduino et électroniques. Derrière ce comportement étrange se cache un phénomène naturel appelé le rebond du bouton.

Comprendre ce phénomène permet de créer des projets plus fiables, plus professionnels et plus agréables à utiliser.

La technique de l’anti-rebond avec millis() constitue aujourd’hui l’une des meilleures solutions pour gérer correctement les boutons poussoirs sans bloquer le programme.

Que ce soit pour l’apprentissage des enfants,

mercredi 25 février 2026

widget Button () - interface graphique avec Arduino et LED

 


Créer une Interface Graphique Python pour Contrôler une LED avec Arduino


Intégration de Python et Arduino via Tkinter et pyFirmata

L’apprentissage de la programmation microcontrôleur devient beaucoup plus interactif lorsque vous combinez Python et Arduino. Si vous avez déjà expérimenté la création d’une interface graphique en Python, vous êtes maintenant prêt à aller un peu plus loin en intégrant votre interface avec un matériel réel. Python est particulièrement puissant pour relier différents modules et paquets hétérogènes, et c’est exactement ce que nous allons explorer dans ce tutoriel.

Dans ce cours pratique, nous allons construire une interface graphique simple utilisant Tkinter pour contrôler une LED connectée à une carte Arduino via la bibliothèque pyFirmata. Cette approche permet de créer des projets interactifs tout en développant vos compétences en programmation Python et électronique.

Pourquoi utiliser Tkinter et pyFirmata ?

Tkinter est la bibliothèque standard de Python pour créer des interfaces graphiques (GUI). Elle est légère, simple à apprendre et fonctionne sur toutes les plateformes principales. En l’associant à pyFirmata, qui est un pont Python vers la carte Arduino, nous pouvons envoyer des commandes directement au microcontrôleur depuis notre interface.

pyFirmata permet de contrôler facilement les pins numériques et analogiques de la carte Arduino, de lire les capteurs, ou d’activer des actionneurs comme des LEDs. Avec Tkinter, vous pouvez créer des boutons, curseurs et autres widgets pour interagir avec Arduino en temps réel, sans avoir besoin de modifier le code sur la carte elle-même.

Dans ce tutoriel, nous allons principalement utiliser le widget Button() de Tkinter pour contrôler le clignotement d’une LED. L’objectif est de cliquer sur un bouton et d’allumer ou éteindre la LED connectée sur la carte Arduino.

Composants principaux du code

Le code Python que nous allons utiliser se compose de trois parties principales :

  1. Configuration de la carte Arduino avec pyFirmata
    Cette section initialise la carte et définit les pins que nous allons utiliser.

  2. Définition du widget Tkinter pour le bouton
    Cette partie crée l’interface graphique et ajoute un bouton interactif.

  3. Fonction de contrôle de la LED
    La fonction associée au bouton permet de faire clignoter la LED lorsqu’on appuie dessus.

Initialisation de la carte Arduino

Avant de pouvoir contrôler la LED, il est nécessaire d’importer les bibliothèques nécessaires et de configurer la carte Arduino. Pour ce tutoriel, nous utiliserons une LED connectée à la pin digitale 11.

from pyfirmata import Arduino, util
import time
from tkinter import *

# Initialisation de la carte Arduino
carte = Arduino("COM5") # Remplacez COM5 par le port utilisé par votre Arduino
acquisition = util.Iterator(carte)
acquisition.start()

# Définition de la LED sur la pin 11
led11 = carte.get_pin("d:11:p")

# Petite pause pour s'assurer que la communication est stable
time.sleep(1.0)

Cette étape est cruciale : elle établit la communication entre Python et Arduino, permettant ensuite de contrôler les composants électroniques directement depuis votre script Python.

Création de la fonction de contrôle de la LED

Ensuite, nous définissons la fonction qui sera exécutée lorsque l’utilisateur appuie sur le bouton dans l’interface. Cette fonction allume la LED pendant cinq secondes, puis l’éteint.

def start_btn():
led11.write(1) # Allume la LED
time.sleep(5) # Maintient la LED allumée pendant 5 secondes
led11.write(0) # Éteint la LED

La fonction write() de pyFirmata envoie la commande correspondante au pin spécifié. Ici, 1 correspond à l’état HIGH (allumé) et 0 à l’état LOW (éteint). Cette fonction simple est idéale pour comprendre le contrôle des composants électroniques via Python.

Création de l’interface graphique avec Tkinter

Enfin, nous allons construire l’interface graphique. Tkinter nous permet de créer une fenêtre, ajouter un bouton et associer ce bouton à notre fonction de contrôle de la LED.

# Création de la fenêtre principale
win = Tk()
win.title("Commande LED avec Tkinter")
win.minsize(300, 100)

# Ajout d’un bouton
btn = Button(win, text="Start", bd=5, bg='yellow', command=start_btn)
btn.pack()

# Lancement de la boucle principale Tkinter
win.mainloop()

Voici ce que fait chaque élément :

  • Tk() crée la fenêtre principale de votre interface.

  • title() définit le titre de la fenêtre.

  • minsize() définit la taille minimale de la fenêtre.

  • Button() crée un bouton avec du texte, une couleur et une fonction associée.

  • pack() organise le bouton dans la fenêtre.

  • mainloop() démarre la boucle principale de Tkinter pour gérer les événements.

Commentaires et bonnes pratiques

  1. Vérification du port COM : assurez-vous que votre Arduino est connecté au bon port série. Vous pouvez le vérifier dans l’IDE Arduino.

  2. Temps d’attente (time.sleep) : utile pour stabiliser la communication et éviter des erreurs dans la lecture/écriture des pins.

  3. Sécurité des composants : ne dépassez pas les limites électriques de vos LEDs et résistances pour éviter d’endommager votre carte.

  4. Extensibilité : vous pouvez facilement ajouter plusieurs LEDs et boutons en créant des variables et fonctions similaires.

Extensions possibles

Après avoir maîtrisé cette configuration simple, vous pouvez enrichir votre projet en :

  • Ajoutant plusieurs boutons pour contrôler différentes LEDs.

  • Utilisant des curseurs (Slider) pour ajuster l’intensité des LEDs via PWM.

  • Intégrant des capteurs comme la lumière ou la température pour déclencher des actions automatiquement.

  • Créant une interface graphique plus complexe avec plusieurs fenêtres et widgets pour un projet Arduino complet.

Conclusion

Ce tutoriel vous a guidé pas à pas pour intégrer Python et Arduino en utilisant Tkinter et pyFirmata. Vous avez appris à :

  • Configurer la carte Arduino dans Python.

  • Créer une interface graphique simple.

  • Contrôler une LED à l’aide d’un bouton interactif.

Cette base vous ouvre la porte à des projets plus ambitieux, où Python peut piloter plusieurs composants électroniques et créer des systèmes interactifs puissants. L’utilisation de Tkinter et pyFirmata rend l’apprentissage de l’électronique plus accessible, tout en combinant la puissance de la programmation Python avec l’univers Arduino.





samedi 7 février 2026

Cours 1- Découverte des circuits électriques

 

1. Qu’est-ce qu’un circuit électrique ?



Un circuit électrique est un chemin fermé qui permet au courant électrique de circuler.

  • Le courant circule de la source d’énergie (pile ou batterie), passe par des composants (comme une LED ou un moteur) et revient à la source.

  • Si le chemin est interrompu, le courant ne circule pas : le circuit est ouvert.

Analogie amusante :
Imagine que l’électricité est comme l’eau qui coule dans un tuyau. Si le tuyau est fermé quelque part, l’eau ne passe plus.


2. Les éléments d’un circuit électrique



  1. Source d’énergie : pile ou batterie.

  2. Conducteurs : fils électriques qui transportent le courant.

  3. Charge : ce que le courant alimente, par exemple une LED, un moteur ou un buzzer.

  4. Interrupteur (facultatif) : permet d’ouvrir ou de fermer le circuit.


3. Petites expériences amusantes

Expérience 1 : Allumer une LED.


Matériel : 1 pile, 1 LED, 1 résistance, 2 fils.

Expérience 2 : Faire sonner un buzzer.


Matériel : 1 pile, 1 buzzer, 2 fils.

  • Relier le + de la pile à l’entrée du buzzer, et la sortie du buzzer au – de la pile.

  • Le buzzer émet un son.
    Explication : Le courant électrique fait fonctionner le buzzer comme la LED.


Expérience 3 : Le circuit ouvert / fermé.




  • Introduire un interrupteur dans le circuit.

  • Ouvrir le circuit : la LED ou le buzzer s’éteint.

  • Fermer le circuit : tout fonctionne à nouveau.
    Leçon : un circuit doit être fermé pour que l’électricité circule.



4. Conclusion

  • Un circuit électrique est un chemin pour l’électricité.

  • Pour qu’un circuit fonctionne, il doit être complet et fermé.

  • Les petites expériences montrent comment l’électricité peut allumer, faire bouger ou faire sonner des objets.

jeudi 4 décembre 2025

les Résistances Variables : Fonctionnement, Types et Applications Modernes.

 

Introduction


Les résistances variables jouent un rôle essentiel dans d’innombrables systèmes électroniques et électriques. Leur capacité à modifier la valeur de résistance dans un circuit les rend indispensables aussi bien dans les appareils simples du quotidien que dans les dispositifs industriels avancés. À travers ce contenu complet et reformulé de manière professionnelle, vous découvrirez en profondeur le fonctionnement des résistances variables, leurs principaux types, leurs usages, ainsi que les raisons pour lesquelles elles demeurent un composant fondamental de l’ingénierie électrique.



Qu’est-ce qu’une résistance variable ?

Une résistance variable est un composant électrique capable de fournir une infinité de valeurs de résistance dans une plage donnée. Contrairement aux résistances fixes, qui possèdent une seule valeur précise, les résistances variables permettent d’ajuster le courant électrique circulant dans un circuit.

Leur fonction est cruciale dans les systèmes où l’on souhaite contrôler la luminosité, le volume sonore, la vitesse d’un moteur, ou la valeur d'un signal. Elles sont aussi présentes dans les applications de mesure, de calibration, de régulation et de contrôle.

Pourquoi utiliser une résistance variable ?

Les résistances variables sont utilisées pour :

  • Régler l’intensité d’un courant

  • Modifier la tension dans certaines parties d'un circuit

  • Ajuster la luminosité, le volume ou la vitesse

  • Calibrer ou affiner un dispositif électronique

  • Offrir une flexibilité de réglage manuel ou automatique

Leur polyvalence fait d’elles des composants incontournables dans de nombreux systèmes électroniques.

Les deux principaux types de résistances variables

Les résistances variables les plus répandues sont :

  1. Le rhéostat

  2. Le potentiomètre

Bien qu’ils partagent des similitudes, leur conception et leur utilisation diffèrent légèrement.

1. Le rhéostat : un contrôleur d’intensité à deux bornes



Définition et utilisation

Le rhéostat est une résistance variable à deux bornes, utilisée principalement pour contrôler l’intensité du courant dans un circuit. Il est souvent employé dans des systèmes nécessitant une variation progressive du courant, comme les circuits d’éclairage ou les moteurs électriques.

Structure du rhéostat

Un rhéostat est composé de :

  • Une résistance fixe (un long fil résistif ou une piste résistive)

  • Un contact mobile, appelé curseur ou wiper

  • Deux bornes :

    • une reliée à l’extrémité fixe de la résistance

    • l’autre au curseur mobile

Le curseur glisse sur la surface résistive. En modifiant sa position, il exploite plus ou moins de longueur résistive, ce qui change instantanément la résistance totale en série dans le circuit.

Comment fonctionne le rhéostat ?

Le principe repose sur la variation de la longueur du chemin électrique.

  • Plus le curseur s’éloigne du point d’entrée, plus la résistance augmente, ce qui réduit le courant.

  • Plus le curseur s’en rapproche, plus la résistance diminue, permettant un passage de courant plus important.

Ce système simple et efficace permet un réglage continu du courant électrique.

2. Le potentiomètre : une résistance réglable à trois bornes



Définition

Le potentiomètre est une résistance variable à trois bornes, souvent utilisé comme diviseur de tension. Contrairement au rhéostat, il ne sert pas uniquement à contrôler le courant mais permet également d’ajuster un signal électrique.

Structure

Un potentiomètre comporte :

  • Deux bornes reliées aux extrémités d’une résistance fixe

  • Un curseur (wiper) relié à une troisième borne

  • Une poignée ou un axe rotatif permettant de déplacer le curseur

Fonctionnement

Lorsque le curseur est déplacé :

  • La résistance entre le curseur et l'une des extrémités augmente

  • Tandis que la résistance entre le curseur et l'autre extrémité diminue

Cela crée un diviseur de tension, très utile pour régler des valeurs analogiques (volume, luminosité, fréquence, etc.).

Applications courantes des résistances variables

1. Dans les dispositifs d’éclairage

Le rhéostat est historiquement utilisé dans les commandes d’éclairage, notamment celles des tableaux de bord automobiles. En tournant la manette, l’utilisateur modifie la résistance, ce qui ajuste la luminosité des voyants et instruments.

2. Dans les systèmes audio

Les potentiomètres sont omniprésents dans les systèmes audio. Ils servent à régler :

  • Le volume

  • Les basses

  • Les aigus

  • Le gain

Ils permettent un réglage fluide du signal électrique transmis aux haut-parleurs ou amplificateurs.

3. Dans les cartes électroniques et microcontrôleurs

Dans les projets Arduino, Raspberry Pi et robots éducatifs, les potentiomètres servent souvent à :

  • Ajuster un seuil analogique

  • Contrôler un moteur

  • Lire une valeur de capteur variable

  • Simuler une entrée analogique humaine

4. Dans les instruments de mesure

Les appareils comme les multimètres, oscilloscopes ou alimentations de laboratoire utilisent des potentiomètres de précision afin d’affiner les mesures ou les tensions de sortie.

Rhéostat vs Potentiomètre : quelle différence réelle ?

CritèreRhéostatPotentiomètre
Nombre de bornes23
Rôle principalRégler le courantDiviser la tension
Type de réglageIntensitéSignal analogique
Utilisation typiqueÉclairage, moteursVolume, capteurs, ajustements
ConnexionEn sérieEn diviseur de tension

Ils sont souvent confondus, mais leur rôle n’est pas identique. Le choix dépend du besoin : modification du courant ou manipulation de la tension.

Avantages des résistances variables

  • Réglage progressif et précis

  • Facilité d’utilisation

  • Grand nombre d’applications

  • Adaptabilité dans les circuits analogiques

  • Faible coût et disponibilité

Limites et précautions d’utilisation

  • Les modèles mécaniques s’usent avec le temps

  • Sensibles à la poussière et aux variations de température

  • Peuvent produire du bruit électrique (sauts de signal)

  • Les valeurs extrêmes peuvent être instables si le composant est de mauvaise qualité

Conclusion

Les résistances variables, qu’il s’agisse de rhéostats ou de potentiomètres, constituent des éléments fondamentaux de l’électronique moderne. Leur capacité à ajuster le courant ou la tension rend possible la création de systèmes flexibles, contrôlables et adaptés à des usages très divers, allant de l’éclairage aux systèmes audio, en passant par les microcontrôleurs et les instruments de précision. Comprendre leur fonctionnement et leurs différences permet d’optimiser les circuits et de choisir le composant adapté à chaque application.

lundi 24 novembre 2025

Servomoteur avec Arduino.

 

Qu’est-ce qu’un servo-moteur ?

introduction.

Un servo-moteur est un petit moteur capable de tourner avec précision dans un angle défini, généralement entre 0° et 180°.
Contrairement à un moteur DC qui tourne librement, un servo se positionne exactement là où on lui dit.

Composition d’un servo

Un servo-moteur contient :

Grâce à cela, le servo compare l’angle demandé à l’angle réel et ajuste en permanence → c’est un système à rétroaction (feedback).

Les fils du servo-moteur.

Couleur du filFonction
🔴 Rouge+5V (alimentation)
⚫ Noir/MarronGND (masse)
🟠 Jaune/OrangeSignal (commande Arduino)

Comment fonctionne le signal du servo ? (PWM)



Le servo reçoit un signal appelé PWM :

  • Une impulsion de 1 ms → angle ≈

  • 1.5 ms90°

  • 2 ms180°

Ce signal est envoyé toutes les 20 ms (50 Hz).

Branchement du servo avec Arduino.




ServoArduino
Rouge5V
NoirGND
OrangePin 9 (par ex.)

 Le servo doit avoir une bonne alimentation (certains demandent 500 mA).

Code Arduino simple pour contrôler un servo

#include <Servo.h> Servo monServo; void setup() { monServo.attach(9); // pin du servo } void loop() { monServo.write(0); // va à 0° delay(1000);
monServo.write(90); // va à 90° delay(1000); monServo.write(180); // va à 180° delay(1000); }








Applications du servo-moteur

Robotique (bras robotique)
Voitures télécommandées (direction)
Robots suiveurs
Radar Arduino + HC-SR04
Mécanismes ouvrants (portes, trappes…)


Conclusion

Le servo-moteur est un composant essentiel en robotique, en modélisme et dans les projets Arduino. Grâce à son contrôle précis de l’angle, il permet de réaliser des mouvements fiables, rapides et répétables. Son fonctionnement repose sur un signal PWM qui lui indique la position exacte à atteindre.

Facile à utiliser, même pour les débutants, le servo-moteur est idéal pour créer des systèmes interactifs : bras robotisés, roues directrices, capteurs mobiles, portes automatiques, etc. Compact, peu coûteux et très précis, il reste l’un des moteurs les plus adaptés aux projets éducatifs et aux prototypes.

En résumé, le servo-moteur combine simplicité, précision et polyvalence, ce qui en fait un élément incontournable pour apprendre et réaliser des projets mécaniques et électroniques.

Apprendre les Listes avec Turtle Python.

 

1. Introduction

Le module turtle de Python permet de créer des graphiques et animations via un concept simple de "tortue graphique". L'utilisation des listes Python dans ce contexte permet de gérer dynamiquement les couleurs, positions, tailles, formes et d'automatiser des motifs complexes.

Objectifs

  • Maîtriser la création et manipulation de listes.

  • Utiliser des listes pour générer des dessins programmatiques.

  • Combiner boucles et listes pour créer des animations avancées.

2. Rappel des bases sur les listes

# Création d'une liste

fruits = ["pomme", "banane", "orange"]
nombres = [1, 2, 3, 4, 5]

# Accès aux éléments

print(fruits[0])   # 'pomme'
print(nombres[-1]) # 5

# Modification

fruits[1] = "kiwi"

# Ajouter / supprimer

fruits.append("mangue")
fruits.remove("orange")

# Parcourir

for fruit in fruits:
    print(fruit)

Points clés avancés

  • Slicing, index négatif, compréhension de liste.

  • Combinaison avec boucles et conditions.

3. Intégration des listes avec Turtle Python

3.1 Listes de couleurs

import turtle

t = turtle.Turtle()
couleurs = ["red", "green", "blue", "orange", "purple"]

for couleur in couleurs:
    t.color(couleur)
    t.forward(100)
    t.right(72)

Utilisation d'une liste pour appliquer dynamiquement les couleurs à chaque segment.

3.2 Listes de positions (coordonnées)


positions = [(0,0), (100,0), (100,100), (0,100)]
for x, y in positions:
    t.goto(x, y)

Chaque point de la liste est visité pour dessiner un polygone précis.

3.3 Listes de formes et tailles.

formes = ["turtle", "circle", "square"]
t.shapesize(2)
for f in formes:
    t.shape(f)
    t.stamp()
    t.forward(60)

Les formes sont extraites d'une liste et imprimées sur l'écran.

4. Combiner Listes et Boucles pour Motifs Complexes

import turtle

t = turtle.Turtle()
t.speed(0)
couleurs = ["red", "orange", "yellow", "green", "blue", "purple"]

for i in range(36):
    t.color(couleurs[i % len(couleurs)])
    t.circle(100)
    t.right(10)

Création d'un motif circulaire avec rotation et changement de couleur.

5. Exemple Avancé : Fleur Multicolore

import turtle

t = turtle.Turtle()
t.speed(0)
couleurs = ["red", "yellow", "blue", "green", "orange", "purple"]

for couleur in couleurs:
    t.color(couleur)
    for i in range(36):
        t.forward(100)
        t.right(170)
    t.right(60)

t.hideturtle()
turtle.done()

Combinaison de deux boucles imbriquées et d'une liste de couleurs pour générer un motif complexe et esthétique.

6. Concepts Avancés à Retenir

  • Indexation et slicing pour gérer les listes de manière dynamique.

  • Listes imbriquées pour coordonnées 2D ou 3D.

  • Compréhension de liste pour générer des séries de valeurs (ex. couleurs ou longueurs).

  • Combinaison listes + boucles pour automatiser des motifs répétitifs ou animations.

  • Utilisation de modulo (i % len(liste)) pour boucler sur des listes plus courtes que le nombre de répétitions.

7. Exercices Professionnels

  1. Créer un motif étoilé avec 8 branches et une liste de couleurs dynamique.

  2. Dessiner une spirale de carrés où chaque carré utilise une couleur de liste différente.

  3. Générer une grille 2D de cercles avec des tailles et couleurs stockées dans deux listes différentes.

  4. Combiner positions, couleurs et formes pour créer un logo abstrait.

8. Conclusion

L'association des listes Python et du module Turtle permet de créer des dessins et animations programmatiques complexes. La maîtrise de ces techniques est essentielle pour la programmation graphique, l'algorithmique visuelle et la création de projets interactifs.


Bouton Poussoir Récalcitrant

  Le Bouton Poussoir Récalcitrant : Comprendre le Rebond et Maîtriser l’Anti-Rebond avec Arduino Introduction Dans le monde de l’électroniqu...