Arduino - Interrupteur DIP
Les commutateurs 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 le commutateur DIP avec Arduino. En détail, nous apprendrons :
- Qu'est-ce qu'un commutateur DIP et comment fonctionne-t-il
- Comment connecter le commutateur DIP à l'Arduino
- Comment programmer l'Arduino pour lire l'état ON/OFF du commutateur DIP
- Comment programmer l'Arduino pour lire le nombre entier défini par le commutateur DIP
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sur l'interrupteur DIP
Les commutateurs DIP sont principalement utilisés pour la configuration des appareils, permettant aux utilisateurs de définir des paramètres tels que l'adresse de l'appareil, les paramètres de communication, les codes de sécurité, le mode de fonctionnement et les préférences système dans divers secteurs et applications.
Un commutateur DIP est constitué de plusieurs petits interrupteurs à glissière tous regroupés ensemble. Chacun de ces interrupteurs à glissière est appelé une "position". Les commutateurs DIP sont disponibles en différents types selon le nombre de positions qu'ils ont. Par exemple, il existe des commutateurs DIP à 2 positions, à 4 positions, à 5 positions, à 6 positions, à 8 positions et à 10 positions.
Un interrupteur DIP peut représenter un nombre configurable. Chaque position sur l'interrupteur correspond à un bit du nombre. En basculant les positions entre ON et OFF, nous pouvons régler le nombre désiré.
Brochage
Un interrupteur DIP est composé de deux rangées de broches, le nombre de broches dans chaque rangée correspondant au nombre de positions de l'interrupteur disponibles. Par exemple, un interrupteur DIP à 4 positions comprend un total de 8 broches, réparties uniformément avec 4 broches de chaque côté. Dans l'assemblage de l'interrupteur DIP, chaque paire de broches opposées constitue un interrupteur à glissière. Il est à noter que distinguer entre les broches des deux côtés n'est pas nécessaire car elles sont interchangeables.
Comment ça fonctionne
Dans les interrupteurs DIP, lorsqu'un interrupteur est en position ON, cela signifie que l'interrupteur est fermé. Cela signifie que la connexion électrique est établie, permettant au courant de circuler à travers l'interrupteur.
Inversement, lorsqu'un interrupteur est en position OFF, cela signifie que l'interrupteur est ouvert. Dans cet état, la connexion électrique est interrompue et le courant ne peut pas circuler à travers l'interrupteur.
Alors, pour clarifier :
- Position ON : Circuit fermé, permettant le passage du courant.
- Position OFF : Circuit ouvert, bloquant le passage du courant.
Lorsque nous connectons un côté d'un interrupteur à GND et l'autre à une broche Arduino, puis configurons cette broche Arduino en entrée numérique avec pull-up, le tableau ci-dessous montre la relation entre la position de l'interrupteur et les valeurs lues depuis l'Arduino :
DIP switch position | Binary representation | Circuit state | Arduino 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 - Interrupteur DIP
Nous apprendrons à travers deux morceaux de code :
- Lire l'état ON/OFF de chaque position sur le commutateur DIP.
- Encoder les positions en un nombre.
Code Arduino - Lecture de l'état ON/OFF du commutateur DIP
Étapes rapides
- Faites le câblage comme sur le schéma ci-dessus
- Connectez l'Arduino 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 charger le code sur l'Arduino
- Basculez chaque position sur l'interrupteur DIP en ON une par une.
- Consultez le résultat sur le moniteur série.
Code Arduino - Encoder les états d'un interrupteur DIP en nombre
Étapes rapides
- Téléchargez le code ci-dessus sur Arduino
- Basculez chaque position sur le commutateur DIP en position ON une par une.
- Vérifiez le résultat sur le moniteur série, cela ressemble à 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 |