Le bouton-poussoir, ou bouton de commande, est un composant couramment utilisé dans la robotique pour diverses fonctions. Son rôle dépend du contexte dans lequel il est intégré et de la manière dont il est programmé. Voici quelques-uns des rôles principaux qu'un bouton-poussoir peut jouer dans la robotique :
Commande de démarrage/arrêt : Un bouton-poussoir peut être utilisé pour démarrer ou arrêter le fonctionnement du robot. C'est une méthode simple et efficace pour activer ou désactiver le robot en toute sécurité.
Sélection de modes : Un robot peut avoir différents modes de fonctionnement (par exemple, mode manuel, mode automatique, mode de maintenance). Un bouton-poussoir peut servir à basculer entre ces modes.
Déclenchement d'actions spécifiques : Dans certaines applications, un bouton-poussoir peut être utilisé pour déclencher des actions spécifiques, telles que la saisie d'un objet, le lancement d'un processus de nettoyage, etc.
Sécurité et arrêt d'urgence : Les boutons-poussoirs d'arrêt d'urgence sont des dispositifs de sécurité cruciaux. Lorsqu'ils sont enfoncés, ils interrompent immédiatement toutes les opérations du robot pour éviter les accidents.
Calibrage et réinitialisation : Les boutons-poussoirs peuvent être utilisés pour des opérations de calibrage ou de réinitialisation du robot, par exemple pour recalibrer les capteurs ou rétablir les paramètres par défaut.
Navigation manuelle : Dans le cas de robots mobiles, un bouton-poussoir peut permettre à un opérateur de prendre le contrôle manuel du robot pour le déplacer ou le guider.
Confirmation d'action : Un bouton-poussoir peut être utilisé pour confirmer une action importante, comme la validation d'un choix ou d'une opération critique.
Les boutons-poussoirs sont généralement associés à des routines de programmation qui déterminent leur comportement, ce qui leur confère une grande polyvalence dans la robotique. Ils peuvent être intégrés dans des panneaux de commande, des consoles d'opérateur ou directement sur le robot lui-même, en fonction des besoins spécifiques de l'application robotique.
Pour contrôler deux lampes avec la carte ESP32 par deux boutons poussoirs, vous aurez besoin des composants suivants :
Carte ESP32 :
La carte ESP32 est une carte de développement basée sur le microcontrôleur ESP32, qui offre des fonctionnalités WiFi et Bluetooth intégrées. Vous pouvez utiliser cette carte pour programmer et contrôler une lampe à travers le relais.
Deux boutons poussoirs
Un bouton-poussoir est un composant électromécanique couramment utilisé pour établir ou interrompre un circuit électrique temporairement. Il est composé d'un boîtier, d'un bouton (généralement encastré) et de contacts électriques.
Deux relais :
Un relais est un dispositif électromagnétique qui permet de contrôler des circuits électriques à haute puissance avec un circuit à faible puissance.
On va utiliser le relais pour isoler la faible tension de la carte ESP32 de la haute tension de la lampe. Assurez-vous que le relais que vous choisissez est compatible avec la carte ESP32 et peut gérer la tension et le courant requis pour votre lampe.
Deux lampes :
Ce sont Les lampes que vous souhaitez contrôler. Assurez-vous qu'elles sont compatibles avec les relais en termes de tension et de courant.
Source d'alimentation :
Vous aurez besoin d'une source d'alimentation pour la lampe, généralement une alimentation secteur de 220V pour les lampes de 220V. Assurez-vous que cette alimentation est adaptée à la lampe que vous utilisez.
Câblage électrique :
Vous aurez besoin de câbles électriques pour connecter la lampe, le relais, et la source d'alimentation. Assurez-vous que le câblage est correctement dimensionné et conforme aux normes de sécurité électrique.
Plaque d'essai (Breadboard) :
Une plaque d'essai est utile pour créer un circuit temporaire et connecter facilement les composants entre eux.
Fils de connexion :
Des fils de connexion sont nécessaires pour relier les différents composants ensemble, tels que la connexion entre la carte ESP32 et la relais.
Une fois que vous avez ces composants, vous pouvez commander les deux lampes par la carte ESP32 en utilisant les relais appropriés.
Pour monter une carte ESP32 avec deux lampes, vous aurez besoin des deux relais pour isoler la basse tension de la carte ESP32 de la haute tension des lampes. Voici un guide étape par étape pour réaliser ce montage en toute sécurité :
1- Prenez le premier bouton poussoir et utilisez les fils de raccordement pour le à la carte la carte ESP32 :
- Connectez une patte du bouton-poussoir à la broche GPIO21 de la carte ESP32.
- Connectez une autre patte du bouton-poussoir à la broche GND de la carte ESP32.
2- Connectez le premier relais à la carte ESP32 :
- Connecter la broche (-) du relais à la broche GND de la carte ESP32
- Connecter la broche (+) du relais à la broche 3.3V de la carte ESP32
- Connecter la broche (S) du relais à la broche numérique N°23 de la carte ESP32
3- Connectez la source d'alimentation de la première lampe (220V) au premier relais :
- Connectez la phase de la source d'alimentation à la borne normalement ouverte (NO) du relais.
- Connectez la phase de la première lampe à la borne commune (COM) du relais.
4- Prenez le deuxième bouton poussoir et utilisez les fils de raccordement pour le à la carte la carte ESP32 :
- Connectez une patte du bouton-poussoir à la broche GPIO19 de la carte ESP32.
- Connectez une autre patte du bouton-poussoir à la broche GND de la carte ESP32.
5- Connectez le deuxième relais à la carte ESP32 :
- Connecter la broche (-) du relais à la broche GND de la carte ESP32
- Connecter la broche (+) du relais à la broche 3.3V de la carte ESP32
- Connecter la broche (S) du relais à la broche numérique N°22 de la carte ESP32
6- Connectez la source d'alimentation de la deuxième lampe (220V) au deuxième relais :
- Connectez la phase de la deuxième lampe à la borne normalement ouverte (NO) du relais.
- Connectez la phase de la source d'alimentation à la borne commune (COM) du relais.
Pour programmer une carte ESP32 en MicroPython pour allumer deux lampes en utilisant deux boutons poussoirs, suivez les étapes ci-dessous.
1- Importez les modules nécessaires :
1 2 3 |
import machine from machine import Pin import time |
2- Configurez les broches (GPIO) pour les boutons poussoirs et les relais qui vont allumer chacun une lampe :
1 2 3 4 |
lamp1_relay=Pin(23, Pin.OUT) lamp1_button= machine.Pin(21, machine.Pin.IN, machine.Pin.PULL_UP) lamp2_relay=Pin(22, Pin.OUT) lamp2_button = machine.Pin(19, machine.Pin.IN, machine.Pin.PULL_UP) |
Assurez-vous de connecter le bouton-poussoir à la broche GPIO 22 et le relais à la broche GPIO 23.
3- Créer une variable pour conserver l'état du relais (0 si le relais est ouvert et 1 si le relais est fermé)
1 2 |
lamp1_state=0; lamp2_state=0; |
Créez une boucle pour surveiller l'état du bouton-poussoir et allumer/éteindre la lampe par le relais en conséquence :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
while True: lamp1_first = lamp1_button.value() time.sleep(0.01) lamp1_second = lamp1_button.value() if lamp1_first and not lamp1_second: print('Button pressed!') if (lamp1_state==0): lamp1_relay.value(1) # allumer la premiere lampe lamp1_state=1 else: lamp1_relay.value(0) # eteindre la premiere lampe lamp1_state=0; time.sleep(0.5) elif not lamp1_first and lamp1_second: print('Button released!') #led_rouge.value(0) lamp2_first = lamp2_button.value() time.sleep(0.01) lamp2_second = lamp2_button.value() if lamp2_first and not lamp2_second: print('Button pressed!') if (lamp2_state==0): lamp2_relay.value(1) # allumer la deuxieme lampe lamp2_state=1 else: lamp2_relay.value(0) # eteindre la deuxième lampe lamp2_state=0; time.sleep(0.5) elif not lamp2_first and lamp2_second: print('Button released!') |
Ce code crée une boucle infinie qui vérifie en permanence l'état des boutons poussoirs.
Voici le programme complet en Micropython:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import machine from machine import Pin import time lamp1_relay=Pin(23, Pin.OUT) lamp1_button= machine.Pin(21, machine.Pin.IN, machine.Pin.PULL_UP) lamp1_state=0; lamp2_relay=Pin(22, Pin.OUT) lamp2_button = machine.Pin(19, machine.Pin.IN, machine.Pin.PULL_UP) lamp2_state=0; while True: lamp1_first = lamp1_button.value() time.sleep(0.01) lamp1_second = lamp1_button.value() if lamp1_first and not lamp1_second: print('Button pressed!') if (lamp1_state==0): lamp1_relay.value(1) lamp1_state=1 else: lamp1_relay.value(0) lamp1_state=0; time.sleep(0.5) elif not lamp1_first and lamp1_second: print('Button released!') #led_rouge.value(0) lamp2_first = lamp2_button.value() time.sleep(0.01) lamp2_second = lamp2_button.value() if lamp2_first and not lamp2_second: print('Button pressed!') if (lamp2_state==0): lamp2_relay.value(1) lamp2_state=1 else: lamp2_relay.value(0) lamp2_state=0; time.sleep(0.5) elif not lamp2_first and lamp2_second: print('Button released!') |
Lorsque le bouton est enfoncé (l'état est bas), la lampe s'allume. Si le bouton est enfoncé une autre fois, la lampe s'éteint. Le délai de 0.5 seconde est utilisé pour éviter le rebond du bouton-poussoir, qui peut provoquer plusieurs activations du bouton en appuyant une seule fois.
4- Flasher le code sur votre carte ESP32.
Ce code simple vous permet de contrôler deux lampes à l'aide des boutons poussoirs en utilisant le langage de programmation MicroPython sur la carte ESP32.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info