ESP32 S3 - Commutateur DIP
Les commutateurs DIP (Dual In-line Package) sont largement utilisés en électronique à des fins de configuration, comme la définition d'adresses d'appareils, l'activation ou la désactivation de fonctionnalités, et la définition de modes de fonctionnement. Dans ce tutoriel, vous apprendrez à connecter et à utiliser un commutateur DIP avec la carte ESP32 S3.

Ce que vous allez construire :
- Lire l'état ON/OFF de chaque position individuelle du commutateur DIP
- Encoder toutes les positions du commutateur DIP en une seule valeur entière
- Afficher les résultats en temps réel via le moniteur série Arduino
- Appliquer la technique à tout commutateur DIP de 2 à 10 positions
Matériel nécessaire
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du commutateur DIP
Les commutateurs DIP sont des composants fondamentaux pour la configuration d'appareils, permettant aux utilisateurs d'ajuster des paramètres tels que les adresses d'appareils, les réglages de communication, les codes de sécurité, les modes de fonctionnement et les préférences système dans de nombreux secteurs et applications. Chaque position d'un commutateur DIP correspond à un seul bit d'un nombre binaire configurable, ce qui en fait un moyen compact et fiable de définir des options matérielles sans logiciel. En basculant les positions entre ON et OFF, vous pouvez définir précisément des valeurs numériques et des indicateurs de fonctionnalités que l'ESP32 S3 lit au démarrage ou pendant le fonctionnement.
Spécifications clés
Un commutateur DIP est composé de plusieurs petits interrupteurs à glissière regroupés, chaque interrupteur individuel étant appelé une "position". Les commutateurs DIP sont disponibles en variantes de 2, 4, 5, 6, 8 et 10 positions. Chaque position d'un commutateur DIP correspond à un bit d'un nombre configurable, et basculer les positions entre ON et OFF vous permet de définir une valeur numérique souhaitée avec une grande précision.
Brochage
Un commutateur DIP est composé de deux rangées de broches, le nombre de broches de chaque rangée correspondant au nombre de positions du commutateur.
- Deux rangées de broches — une rangée par côté du corps du commutateur
- Un commutateur DIP à 4 positions comporte 8 broches au total (4 par côté)
- Chaque paire de broches opposées forme un interrupteur à glissière
- Les broches des deux côtés sont interchangeables — la polarité n'a pas d'importance

Comment ça marche
Quand une position du commutateur est sur ON, le circuit entre les deux broches correspondantes est fermé, ce qui permet au courant de circuler. Quand une position est sur OFF, le circuit est ouvert et le courant ne peut pas circuler.
Notes de sécurité
Connectez un côté de chaque position du commutateur à GND et l'autre côté à une broche GPIO de l'ESP32 S3 configurée en entrée numérique avec résistance de tirage (pull-up). Cela maintient la broche à un état HIGH connu quand le commutateur est ouvert, et la fait passer à LOW quand le commutateur est fermé.
| Position du commutateur DIP | Représentation binaire | État du circuit | État de la broche ESP32 S3 |
|---|---|---|---|
| ON | 1 | CLOSED | LOW |
| OFF | 0 | OPEN | HIGH |
Dans les sections ci-dessous, un commutateur DIP à 4 positions est utilisé comme exemple. Vous pouvez facilement adapter le code et le câblage pour des commutateurs DIP à 2, 3, 5, 6, 8, et 10 positions.
Schéma de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code ESP32 S3 - Commutateur DIP
Les sections suivantes parcourent deux croquis complémentaires qui montrent les deux façons d'utiliser un commutateur DIP avec l'ESP32 S3. Le premier croquis lit chaque position individuellement, tandis que le second encode toutes les positions en une seule valeur entière. Les deux croquis utilisent des résistances de tirage (pull-up) internes, donc aucune résistance externe n'est nécessaire.
Code ESP32 S3 - Lire l'état ON/OFF du commutateur DIP
Le code suivant lit chaque position du commutateur DIP indépendamment et affiche son état ON ou OFF dans le moniteur série. Cette approche est utile quand chaque position contrôle une fonctionnalité ou un réglage distinct dans votre projet ESP32 S3.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Effectuez le câblage comme indiqué sur le schéma ci-dessus.
- Connectez la carte ESP32 S3 à votre PC via un câble USB Type-C.
- Ouvrez l'Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 S3 et le bon port COM.
- Cliquez sur le bouton Upload dans l'Arduino IDE pour téléverser le code vers l'ESP32 S3.
- Basculez chaque position du commutateur DIP sur ON une par une.
- Voyez le résultat dans le moniteur série.
- Astuce : Si vous adaptez ceci pour davantage de positions, ajoutez simplement plus de définitions de broches et d'itérations de boucle pour correspondre au nombre de positions de votre commutateur DIP.
Code ESP32 S3 - Encoder les états du commutateur DIP en un nombre
Le code suivant traite chaque position du commutateur DIP comme un seul bit et combine toutes les positions en une seule valeur entière. C'est idéal pour lire des codes de configuration, des adresses d'appareils, ou des réglages multi-bits en une seule opération sur votre ESP32 S3.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Effectuez le câblage comme indiqué sur le schéma ci-dessus.
- Connectez la carte ESP32 S3 à votre PC via un câble USB Type-C.
- Ouvrez l'Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 S3 et le bon port COM.
- Téléversez le code ci-dessus vers l'ESP32 S3.
- Basculez chaque position du commutateur DIP sur ON une par une.
- Voyez le résultat dans le moniteur série — il ressemblera à la sortie ci-dessous.
- Astuce : Pour un commutateur DIP avec davantage de positions, étendez la boucle d'encodage en conséquence ; la correspondance binaire-décimal s'adapte automatiquement.
Veuillez noter que la valeur encodée dépend de la position de chaque interrupteur à glissière individuel. Le tableau ci-dessous montre la correspondance complète entre les positions ON/OFF et l'entier résultant pour un commutateur DIP à 4 positions :
| Position-1 | Position-2 | Position-3 | Position-4 | Valeur binaire | Valeur décimale |
|---|---|---|---|---|---|
| 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 |
Applications
Les commutateurs DIP sont des outils de configuration polyvalents que l'on retrouve dans de nombreux projets ESP32 S3 pratiques et systèmes embarqués. Voici quelques applications courantes :
- Définition d'adresse d'appareil : Attribuer des adresses I2C ou RS485 uniques à plusieurs appareils identiques sur le même bus sans changer le firmware.
- Activation de fonctionnalités : Activer ou désactiver des fonctionnalités optionnelles telles que la sortie de débogage, le mode Wi-Fi, ou des modules périphériques au niveau matériel.
- Sélection du mode de fonctionnement : Basculer entre différents modes de fonctionnement (par exemple, maître/esclave, autonome/en réseau) en lisant la valeur DIP encodée au démarrage.
- Saisie de code de sécurité : Utiliser un commutateur DIP comme mécanisme de sécurité matériel simple pour protéger l'accès à un système ou à un boîtier.
- Décalages de calibrage : Stocker des décalages d'ajustement fin ou des réglages de gain pour des capteurs nécessitant un ajustement sur le terrain sans reprogrammation.
Vidéo
Regardez la vidéo pas à pas pour ce projet ESP32 S3 ci-dessous.
Défis
Approfondissez votre compréhension des commutateurs DIP avec l'ESP32 S3 en relevant ces exercices supplémentaires. Chaque défi s'appuie sur les compétences du tutoriel et vous encourage à explorer de nouveaux cas d'usage.
- Débutant : Modifiez le croquis de lecture pour contrôler une LED différente pour chaque position du commutateur DIP — allumant la LED quand la position est sur ON et l'éteignant quand elle est sur OFF.
- Intermédiaire : Utilisez l'entier encodé du croquis binaire pour définir l'adresse I2C d'un écran OLED ou d'un capteur à l'exécution, sans modifier le code source.
- Avancé : Construisez un réseau RS485 multi-appareils où chaque nœud lit sa propre adresse de commutateur DIP au démarrage et ne répond qu'aux commandes adressées à ce nœud.