En C/C++ Arduino : casos con boîtier commutateur (3 / 4 étapes)

Étape 3: Código

El código es bastante directo. Queremos que cada vez que se presione el botón, una interna variable que la vamos a llamar « botonState » cambie de valor. del estado 0 al 1, al 2 y nuevamente al 0. Para lograr eso, vamos a utilizar un operador matemática bastante utilizado en programación, que es el operador módulo « % »

La operación módulo fr una computadora lo que hace es retornar el residuo de la división de enteros. Dados dos operandos, fr dividendo y el diviseur n , % n, es el resíduo de la division, llamada euclidiana por ser división de dos números enteros, de un entre-deux n. ASí por ejemplo 0 % 3 = 0, y 1 % 3 = 1, 2 %3 = 2, 3 3 % = 0, 4 %3 = 1, y así sucesivamente, vean como el resultado va circulando entre 0,1 et 2, para regresar al 0 nuevamente. Este operador es muy útil fr el código, donde se quieran comportamientos circulares de variables. Fr Wikipedia hay una buena explicación de esto.

Fr la línea 1, creamos una variable globale, de tipo entéro, que la llamamos « botonState ». En esta almacenaremos variable el cambio de estado, cada vez que se aprieta el botón. Fr de líneas las 4 qu'a 7 simplemente inicializamos los pins. Noten como el pin 8 indicamos que es INPUT_PULLUP. ACÁ pueden ver más sobre los pins fr Arduino.

El código fr las líneas 10 a 14 :

 if (digitalRead(8) == 0) { // el operador % significa modulo botonState = (botonState + 1) % 3; delay(200); } 

ACÁ es donde utilizamos la operación módulo. Noten como le agregamos un retard para que el cambio aucune mer tan rápido. Primero leemos si el botón está presionado, es decir cuando la lectura del pin es igual a 0. Si es así, entonces actualizamos el estado de la variable « botonState », con la expresión :

 botonState = (botonState + 1) % 3; 

Lo que hace esta expresión estre sumarle 1 lo que ya estaba en « botonState » y luego aplicar la función módulo, de esa forma la variable puede tener los varlores 0,1,2 y da vueltas en esos números. Ahora para indicar cual conduit prender, el utilizamos « estado » en el que está « botonState », en la siguiente línea de código (líneas 15 a 31) :

 switch (botonState) { case 0: digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, LOW); break; case 1: digitalWrite(2, LOW); digitalWrite(3, HIGH); digitalWrite(4, LOW); break; case 2: digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, HIGH); break; } 

Como ven, si « botonState » es igual a 1, entonces prende el conduit conectado al pin2, TR es igual a 0, y el resto los apaga. Si es igual a 1, etonces prende el conduit del broche 3 y el resto los apaga, y así sucesivamente. Listo !

Articles Liés

Arduino alimenté bluetooth distant relais commutateur

Arduino alimenté bluetooth distant relais commutateur

HiJe voulais construire une simple boîte de commutateur à distance 2 canaux bluetooth.pour me permettre de passer à distance des dispositifs divers sur et en dehors de mon téléphone android.L'appareil a dû être petit facile à utiliser et assez flexab
Arduino : Lumière, bruit, Vibration, commutateur

Arduino : Lumière, bruit, Vibration, commutateur

Ce sera un guide étape par étape, de faire une série d'Arduino alimentée à distance qui produira son, lumière et vibrations pendant 1 seconde, une fois que vous appuyez sur un interrupteur. Je vais vous donner le code de l'arduino et les étapes pour
Arduino programmable 5 pédale commutateur

Arduino programmable 5 pédale commutateur

Vous cherchez un simple mélangeur programmable de pédale sur le net, j'ai étéétonné de l'engin hors de prix par là... alors j'ai sorti avec solution bricolage et trouvé plusieurs grands projets mais trouvé em trop compliqué (PCB gravure...) ou peut-ê
Ventilateurs de boîtier commutés bon marchés et gais

Ventilateurs de boîtier commutés bon marchés et gais

c'est comment j'ai ajouté 2 ventilateurs supplémentaires à mon ordinateur avec nice gros commutateurs lumineux à l'aide de trucs, j'ai dû mentir au sujet. Je sais que vous pouvez obtenir 5 1/2 pouce contrôleurs baie ventilateur monté assez bon marché
Controlando affichage LCD I2C con Arduino

Controlando affichage LCD I2C con Arduino

Hace unos días amendements llegaron unas LCD I2C de 16 × 2 y aucun soi si alguna vez te ha pasado que estas haciendo un proyecto con muchos componentes y debes usar una pantalla LCD que se lleva 6 pins de tu Arduino y todo se vuelve ONU caos porque y
Caja para Arduino con corte laser - Uno, Mega, Leonardo, Yun

Caja para Arduino con corte laser - Uno, Mega, Leonardo, Yun

Una caja para nuestras tarjetas Arduino, es un gran aliado para protegerlas y manipularlas de forma más sencilla. Y qué mejor forma para conseguir una caja para tu Arduino Québec fabricarla tu mismo ?En este Instructable encontrarás los archivos para
Portaretrato digital con Arduino

Portaretrato digital con Arduino

En este pequeño tutoriel vamos a aprender bouclier hacer un pequeño portraretraros numérique usando un Arduino UNO y ONU LCD tactile de 2.8".El objetivo de este es tutoriel familiarizarse con el bouclier y la lectura de imagenes bmp desde una tarjeta
Servomoteur de commande de ONU con un Arduino Nano y el acelerómetro ADXL345 [En espagnol] [Équateur]

Servomoteur de commande de ONU con un Arduino Nano y el acelerómetro ADXL345 [En espagnol] [Équateur]

El vídeo muestra el código para programar el Arduino Nano, con el fin de realizar el control de giro de ONU servomoteur usando ONU acelerómetro ADXL345. También se verifica la funcionalidad del código en una prueba real-Referencias :http://www.Jarzeb
Arduino personnalisé MIDI Controller

Arduino personnalisé MIDI Controller

Bonjour et Bienvenue à cette instructable sur comment construire un contrôleur MIDI USB personnalisé, bon marché et facile, basé sur Arduino. Les meilleures nouvelles : aucun souci avec interfaces USB-MIDI ou outils logiciels tels que MIDI sans poil,
Pirater un vieil iPod à l’aide d’un androïde et un Arduino.

Pirater un vieil iPod à l’aide d’un androïde et un Arduino.

Ce tutoriel vous montre comment utiliser un Arduino pour transformer ce vieux lecteur de musique poussiéreux en une station d'accueil Bluetooth contrôlée.Même si elle a un écran criqué ou une pile déchargée, qu'il peut toujours être utilisé.Les direc
Projecteur IR contrôle à l’aide de Arduino Uno

Projecteur IR contrôle à l’aide de Arduino Uno

Durant Halloween et de Noël, j'ai du projet vidéo dans une fenêtre chez moi. Le système utilise un projecteur LED qui affiche des personnages virtuels sur une fenêtre. L'effet crée l'impression comme si les caractères sont vraiment à l'intérieur de v
C/C++ En Arduino : Funciones

C/C++ En Arduino : Funciones

La funciones permiten ordenar el código y hacerlo más lisible y eficiente. Culquier porción de código que se repita muchas veces, probablemente es mejor escribirla en una función. En este instrucable hacemos ONU semáforo automático, creando una funci
Manomètre vapeur STEAMPUNK, propulsé par ARDUINO

Manomètre vapeur STEAMPUNK, propulsé par ARDUINO

cela a été créé pour être certains eye-candy pour ma cuisine. Je voulais quelque chose d'unique pour un espace spécial sur mon mur et l'ajout de mouvement, les lumières blinky et intéressantes mécaniques « guts » fait encore mieux.Finalement, ce proj
Capuchon d’Arduino y Android NFC 1

Capuchon d’Arduino y Android NFC 1

OS presentamos una nueva serie de tutoriales en la que trastearemos ne con la tecnología NFC, aun llevando algunos años en el mercado aucun termina de extenderse al publico général. Y es que esta tecnologia tiene muchas utilidades que pueden hacer ca