ESP32 - Interrupteur DIP
Les interrupteurs DIP (Dual In-line Package) sont couramment utilisés en électronique pour des fins de configuration, telles que la définition d'adresses de dispositifs, l'activation ou la désactivation de fonctionnalités, etc. Dans ce tutoriel, nous allons apprendre à utiliser l'interrupteur DIP avec l'ESP32. En détail, nous apprendrons :
- Qu'est-ce qu'un commutateur DIP et comment fonctionne-t-il ?
- Comment connecter le commutateur DIP à l'ESP32
- Comment programmer l'ESP32 pour lire l'état ON/OFF du commutateur DIP
- Comment programmer l'ESP32 pour lire le nombre entier défini par le commutateur DIP
Les interrupteurs DIP (Dual In-line Package) sont fréquemment utilisés en électronique pour des configurations telles que la définition des adresses des dispositifs, l'activation ou la désactivation de fonctionnalités, et plus encore. Dans ce tutoriel, nous explorerons l'utilisation de l'interrupteur DIP avec l'ESP32. Plus précisément, nous aborderons les sujets suivants :
- Comprendre ce qu'est un interrupteur DIP et ses principes de fonctionnement.
- Connecter l'interrupteur DIP à l'ESP32.
- Programmer l'ESP32 pour détecter l'état ON/OFF de l'interrupteur DIP.
- Programmer l'ESP32 pour interpréter la valeur entière définie par l'interrupteur DIP.
Préparation du matériel
1 | × | ESP-WROOM-32 Dev Module | |
1 | × | USB Cable Type-C | |
1 | × | DIP Switch | |
1 | × | Breadboard | |
1 | × | Jumper Wires | |
1 | × | (Recommended) ESP32 Screw Terminal Adapter |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos de l'interrupteur DIP
Les commutateurs DIP sont des composants fondamentaux pour la configuration des appareils, permettant aux utilisateurs d'ajuster des paramètres tels que les adresses des dispositifs, les réglages de communication, les codes de sécurité, les modes de fonctionnement et les préférences système dans divers secteurs et applications.
Un commutateur DIP comprend plusieurs petits commutateurs coulissants regroupés ensemble, chaque commutateur étant désigné comme une "position". Les commutateurs DIP existent en différents types déterminés par le nombre de positions qu'ils offrent. Les options incluent des commutateurs DIP à 2, 4, 5, 6, 8 et 10 positions...
Chaque position sur un interrupteur DIP correspond à un bit d'un nombre configurable. En basculant les positions entre ON et OFF, les utilisateurs peuvent définir la valeur numérique souhaitée. Cette flexibilité permet une configuration précise des paramètres selon les exigences spécifiques.
Brochage
Un commutateur DIP est composé de deux rangées de broches, avec un nombre de broches dans chaque rangée correspondant aux positions de commutation disponibles. Par exemple, un commutateur DIP à 4 positions contient un total de 8 broches, réparties également avec 4 broches de chaque côté. Dans la structure du commutateur DIP, chaque paire de broches opposées forme un interrupteur coulissant. Il est important de noter que la distinction entre les broches des deux côtés n'est pas nécessaire car elles sont interchangeables.
Comment ça fonctionne
Dans les commutateurs DIP, lorsque un commutateur est en position ON, cela indique que le commutateur est fermé, établissant une connexion électrique qui permet au courant de circuler à travers.
Inversement, lorsqu'un interrupteur est en position OFF, cela signifie que l'interrupteur est ouvert. Dans cet état, la connexion électrique est interrompue, empêchant le courant de passer à travers l'interrupteur.
Pour clarifier :
- Position ON : forme un circuit fermé, permettant le passage du courant.
- Position OFF : résulte en un circuit ouvert, bloquant le passage du courant.
Lorsque l'on relie un côté de l'interrupteur au GND et l'autre à une broche de l'ESP32, et que l'on configure la broche de l'ESP32 en entrée numérique avec pull-up, le tableau suivant illustre la relation entre la position de l'interrupteur et les valeurs lues depuis l'ESP32 :
DIP switch position | Binary representation | Circuit state | ESP32 pin state |
---|---|---|---|
ON | 1 | CLOSED | LOW |
OFF | 0 | OPEN | HIGH |
Dans les parties suivantes, nous utiliserons comme exemple un commutateur DIP à 4 positions. Vous pouvez facilement adapter pour des commutateurs DIP à 2 positions, 3 positions, 5 positions, 6 positions, 8 positions et 10 positions...
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.
Code ESP32 - Interrupteur DIP
Nous apprendrons à travers deux morceaux de code :
- Lecture de l'état ON/OFF de chaque position sur le commutateur DIP.
- Codage des positions en un nombre.
Code ESP32 - Lecture de l'état ON/OFF du commutateur DIP
Étapes rapides
- Si c'est la première fois que vous utilisez l'ESP32, consultez comment configurer l'environnement pour l'ESP32 sur Arduino IDE.
- Effectuez le câblage comme sur l'image ci-dessus.
- Connectez la carte ESP32 à votre PC via un câble micro USB.
- Ouvrez Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 (par exemple, Module de développement ESP32) et le port COM.
- Faites le câblage comme indiqué sur le schéma de câblage ci-dessus.
- Connectez l'ESP32 au PC via un câble USB.
- Ouvrez Arduino IDE.
- Sélectionnez la bonne carte et le bon port.
- Cliquez sur le bouton Upload dans Arduino IDE pour télécharger le code sur l'ESP32.
- Mettez chaque position sur le commutateur DIP en position ON une par une.
- Vérifiez le résultat sur le moniteur série.
Code ESP32 - Encoder les états d'un commutateur DIP en nombre
Étapes rapides
- Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
- Faites le câblage comme sur l'image ci-dessus.
- Connectez la carte ESP32 à votre PC via un câble micro USB.
- Ouvrez l'Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
- Téléchargez le code ci-dessus sur l'ESP32.
- Basculez chaque position sur le commutateur DIP en ON une par une.
- Vérifiez le résultat sur le moniteur série, cela ressemblera à ce qui suit.
Veuillez noter que la valeur dépend des positions de chaque commutateur à glissière. Le tableau ci-dessous montre la correspondance entre la position ON/OFF et la valeur entière pour un commutateur DIP à 4 positions :
Position-1 | Position-2 | Position-3 | Position-4 | Binary Value | Decimal Value |
---|---|---|---|---|---|
OFF | OFF | OFF | OFF | 0000 | 0 |
OFF | OFF | OFF | ON | 0001 | 1 |
OFF | OFF | ON | OFF | 0010 | 2 |
OFF | OFF | ON | ON | 0011 | 3 |
OFF | ON | OFF | OFF | 0100 | 4 |
OFF | ON | OFF | ON | 0101 | 5 |
OFF | ON | ON | OFF | 0110 | 6 |
OFF | ON | ON | ON | 0111 | 7 |
ON | OFF | OFF | OFF | 1000 | 8 |
ON | OFF | OFF | ON | 1001 | 9 |
ON | OFF | ON | OFF | 1010 | 10 |
ON | OFF | ON | ON | 1011 | 11 |
ON | ON | OFF | OFF | 1100 | 12 |
ON | ON | OFF | ON | 1101 | 13 |
ON | ON | ON | OFF | 1110 | 14 |
ON | ON | ON | ON | 1111 | 15 |