Arduino Nano ESP32 - Interrupteur DIP
En électronique, les commutateurs DIP (Dual In-line Package) sont largement utilisés pour des tâches de configuration, telles que les adresses des dispositifs, les paramètres de communication, les codes de sécurité. Ce tutoriel explorera comment utiliser le commutateur DIP avec Arduino Nano ESP32. Plus précisément, nous aborderons :
- Fonctionnement des interrupteurs DIP
- Établissement des connexions entre l'interrupteur DIP et l'Arduino Nano ESP32
- Programmation de l'Arduino Nano ESP32 pour lire les états ON/OFF de l'interrupteur DIP
- Programmation de l'Arduino Nano ESP32 pour interpréter la valeur entière configurée par l'interrupteur DIP
Préparation du matériel
1 | × | Arduino Nano ESP32 | |
1 | × | USB Cable Type-C | |
1 | × | DIP Switch | |
1 | × | Breadboard | |
1 | × | Jumper Wires | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano ESP32 | |
1 | × | (Recommended) Screw Terminal Adapter for Arduino Nano |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du commutateur DIP
Les commutateurs DIP sont des outils essentiels pour configurer des appareils, permettant aux utilisateurs de régler des paramètres tels que l'adresse de l'appareil, les paramètres de communication, les codes de sécurité, les modes opérationnels et les préférences système dans divers secteurs et applications.
Un commutateur DIP est composé de plusieurs petits commutateurs coulissants regroupés ensemble, chaque commutateur étant appelé une « position ». Ces commutateurs sont disponibles en différents types selon le nombre de positions qu'ils offrent. Par exemple, il existe des commutateurs DIP à 2, 4, 5, 6, 8 et 10 positions.
Chaque position sur un interrupteur DIP représente un bit configurable d'un nombre. En basculant ces positions entre ON et OFF, les utilisateurs peuvent définir la valeur numérique qu'ils souhaitent configurer.
Brochage
Un commutateur DIP est composé de deux rangées de broches, où le nombre de broches dans chaque rangée correspond au nombre de positions de commutateur disponibles. Par exemple, un commutateur DIP à 4 positions a un total de 8 broches, réparties également avec 4 broches de chaque côté. À l'intérieur du montage du commutateur DIP, chaque paire de broches opposées représente un interrupteur coulissant. Il est important de noter qu'il n'est pas nécessaire de différencier les broches des deux côtés car elles peuvent être utilisées de manière interchangeable.
Comment ça fonctionne
Dans les commutateurs DIP, lorsque un commutateur est en position ON, cela indique que le commutateur est engagé ou fermé. Cela implique qu'une connexion électrique est établie, permettant le passage du courant à travers le commutateur.
Inversement, lorsqu'un interrupteur est en position OFF, cela signifie que l'interrupteur est désengagé ou ouvert. Dans cet état, la connexion électrique est coupée, empêchant le passage du courant à travers l'interrupteur.
Pour clarifier :
- Position ON : Établit un circuit fermé, permettant au courant de passer.
- Position OFF : Crée un circuit ouvert, bloquant le flux de courant.
Lorsqu'un côté d'un interrupteur est connecté à la terre (GND) et l'autre côté à une broche Arduino Nano ESP32, et que la broche Arduino Nano ESP32 est configurée comme entrée numérique avec pull-up, le tableau ci-dessous illustre la relation entre la position de l'interrupteur et les valeurs lues depuis l'Arduino Nano ESP32 :
DIP switch position | Binary representation | Circuit state | Arduino Nano ESP32 pin state |
---|---|---|---|
ON | 1 | CLOSED | LOW |
OFF | 0 | OPEN | HIGH |
Dans les parties suivantes, nous utiliserons par exemple un commutateur DIP à 4 positions. Vous pouvez facilement l'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
Code Arduino Nano ESP32 - Interrupteur DIP
Nous apprendrons à travers deux morceaux de code :
- Lecture de l'état ON/OFF de la position individuelle sur le commutateur DIP.
- Codage des positions en un nombre.
Code Arduino Nano ESP32 - Lire l'état ON/OFF du commutateur DIP
Étapes rapides
Pour commencer avec l'Arduino Nano ESP32, suivez ces étapes :
- Si vous êtes nouveau avec l'Arduino Nano ESP32, référez-vous au tutoriel sur comment configurer l'environnement pour l'Arduino Nano ESP32 dans l'Arduino IDE.
- Câblez les composants selon le schéma fourni.
- Connectez la carte Arduino Nano ESP32 à votre ordinateur via un câble USB.
- Lancez l'Arduino IDE sur votre ordinateur.
- Sélectionnez la carte Arduino Nano ESP32 et son port COM correspondant.
- Faites le câblage comme sur le schéma ci-dessus
- Connectez l'Arduino Nano ESP32 au PC via un câble USB
- Ouvrez l'Arduino IDE
- Sélectionnez la bonne carte et le bon port
- Cliquez sur le bouton Upload dans l'Arduino IDE pour téléverser le code sur l'Arduino Nano ESP32
- Basculez chaque position sur le commutateur DIP en ON l'une après l'autre.
- Observez le résultat sur le moniteur série.
Code Arduino Nano ESP32 - Encodage des états d'un interrupteur DIP en un nombre
Étapes rapides
Pour commencer avec l'Arduino Nano ESP32, suivez ces étapes :
- Si vous êtes nouveau avec l'Arduino Nano ESP32, consultez le tutoriel sur comment configurer l'environnement pour l'Arduino Nano ESP32 dans l'IDE Arduino.
- Connectez les composants selon le schéma fourni.
- Connectez la carte Arduino Nano ESP32 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte Arduino Nano ESP32 et le port COM correspondant.
- Téléchargez le code ci-dessus sur Arduino Nano ESP32.
- Basculez chaque position sur le commutateur DIP en position ON une par une.
- Consultez le résultat sur le moniteur série, il ressemble à ce qui suit.
Veuillez noter que la valeur dépend de la position de chaque commutateur à glissière. Le tableau ci-dessous montre le mappage 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 |