Arduino para principiantes (15 / 15 paso)

Paso 15: Botón de interruptor

A veces usted estará interesado en el momento exacto un botón es presionado o liberado, por lo que puede desencadenar un evento en su bosquejo. En este caso usted necesitará almacenar currentState del botón y compararlo con el último estado registrado. Si el currentState es alta y la lastState es baja, usted sabe que sólo se ha pulsado el botón. Echa un vistazo en el código siguiente:

Usé algo nuevo en mi if declaración:

Si (currentState == alto & & lastState == LOW)

Esto se lee como "si currentState es alta y lastState es baja", & & nos permite comprobar la verdad de muchas cosas en el mismo if instrucción. También puede utilizar || ("o") para poner a prueba es una cosa o la otra es cierto. Leer más aquí.

Usted notará también que la siguiente línea aparece dos veces en el código anterior:

Delay(1);

Este retraso fue puesto allí para dar la hora botón para colocar a voltaje constante antes de empezar a medir una vez más, que esto se llama botón contra rebotes; evita que nos cuenta una sola vez dos prensas debido al botón de la charla. Utilizar un retraso de botón contra rebotes es fino para este sencillo ejemplo, pero si se mide un montón de botones de los retrasos se suman y que el código se ejecuta muy lento. Esto podría terminar dando su hardware a una sensación de retraso. Voy a encarar algunas mejores técnicas para hacer contra rebotes más adelante en esta clase.

Este código también introduce un nuevo tipo de datos: booleanos. Valores booleanos se utilizan para almacenar 1 bit pedazos de información, cosas como verdadero/falso, activado/desactivado, 1/0, de alta y baja. En mi código lo utilizado para almacenar el actual y último estado del botón (alto o bajo).

Aquí es cómo podríamos utilizar esto para cambiar un LED en y off cada vez que se pulsa el botón:

En el código anterior configurar una variable llamada "ledState" para almacenar el estado actual del LED, entonces cada vez que se presionó el botón, digitalWrite se utiliza para establecer el LED al estado opuesto y había guarda un nuevo ledState.

Yendo aún más lejos, puede utilizar el código del botón alternar con el código de fader del ejemplo RGB LED para las siguientes:

He añadido una función auxiliar adicional en el código anterior para ayudar a elegir el próximo color a desvanecerse a:

int getNextColor (int color) {}

Si (color == rojo) volver verde;
Si (color == verde) volver azul;
Si (color == azul) volver rojo;

}

Declaré la función con un int a Arduino que debe esperar a que la función devuelve un número (en este caso, el número del pin Arduino que ha conectado a uno de los pines de los LED RGB. El si declaraciones mira un poco diferentes que lo que hemos visto antes, podría haber escrito la función como esta:

.. .y que podría funcionar de la misma manera exacta. Si sólo necesita ejecutar una línea en un if instrucción, puede usar la notación abreviada:

Si (algo) HacerAlgo;

sin llaves ni saltos de línea.

Continuar con la parte 2 de esta serie aquí, o aprende a conectar MIDI a entradas y salidas de Arduino.

Artículos Relacionados

Solo clic encendido/apagado de tu móvil Android usando Arduino y pfodApp. Arduino para principiantes

Solo clic encendido/apagado de tu móvil Android usando Arduino y pfodApp. Arduino para principiantes

IntroducciónEste instructable muestra cómo puede cambiar un Arduino y la salida de tu móvil Android con tan solo un clic en el icono de pfodApp . Añadir un relé impulsado por esta salida para cambiar el hardware real. No hay codificación Android se r
Generador de código para menús personalizados de Android/Arduino activar salidas de Arduino y apagado. Andriod/Arduino para principiantes. Absolutamente ninguna programación requerida

Generador de código para menús personalizados de Android/Arduino activar salidas de Arduino y apagado. Andriod/Arduino para principiantes. Absolutamente ninguna programación requerida

Actualización: un usuario pidió menú apoyo. pfodApp siempre admite submenús pero he agregado submenús al pfodDesigner. El instructable diseño un sistema de menú Custom muestra cómo utilizar pfodDesigner para crear un menú con submenús que mostrará en
Diseñar un menú personalizado menú sistema--Android/Arduino para principiantes--absolutamente ninguna programación requerida

Diseñar un menú personalizado menú sistema--Android/Arduino para principiantes--absolutamente ninguna programación requerida

IntroducciónEste instructable muestra cómo utilizar el libre pfodDesigner disponible en GooglePlay para diseñar un sistema Android menú con submenús para dispositivos compatibles con Arduino.El tutorial es adecuado para principiantes. No se requiere
Arduino para principiantes y básicos electrónica Kit cartilla

Arduino para principiantes y básicos electrónica Kit cartilla

aprendí que una de mis sobrinas tuvo un interés en la programación.  Ella estaba trabajando con la robótica en el colegio y tiene una pasantía de verano donde tuvieron Arduinos.  Creo que ella fue capaz de pedir prestado un Arduino para experimentar
Cómo cambiar un Arduino salida de encendido y apagado de tu móvil Android.  Arduino para principiantes

Cómo cambiar un Arduino salida de encendido y apagado de tu móvil Android. Arduino para principiantes

Actualización: Ver Andriod/Arduino para principiantes - diseño personalizado Andriod menús para activar salidas de Arduino y apagado. Absolutamente ninguna programación requerida para una alternativa que no requiere ninguna programación en todos.Cómo
Arduino para principiantes, ahora con datos de trazado, controlado por Android, No codificación requerida, No requiere de soldadura.

Arduino para principiantes, ahora con datos de trazado, controlado por Android, No codificación requerida, No requiere de soldadura.

IntroductionEste instructable muestra que cómo puede leer y escribir los pines digitales de tu Arduino Uno y leer los valores de los pines analógicos todo controlado desde tu móvil Android sin hacer cualquier codificación. Este proyecto es plug and p
Semáforo de Arduino para principiantes

Semáforo de Arduino para principiantes

este es mi primer instructables, así va a ser bastante simple. Compré un Arduino y decidí hacerla en un semáforo, pero sólo tenía LEDs verde, no amarillo o azul y rojo. Así que esto es lo que hice: un semáforo que parpadea 3 veces antes de cambiar de
Conexión de alimentación de CA a arduino para principiantes!

Conexión de alimentación de CA a arduino para principiantes!

¡¡Hola!! Vengo aquí a ayudar como pueda.Podemos dar sólo 5V a la placa arduino desde el paquete de energía o de cualquier fuente.Pero no podemos trabajar con los artículos que necesitan más potencia que sólo damos 5 v a la placa arduino.Dando más pod
Semáforos [proyecto de Arduino para principiantes]

Semáforos [proyecto de Arduino para principiantes]

este es un proyecto de principiantes para el Arduino. Estoy usando la Arduino Uno, pero debería funcionar con poca o ninguna modificación en otros modelos de arduino.Configurar el hardware es muy fácil. Este proyecto es más una herramienta de entrena
Arduinos para principiantes taller

Arduinos para principiantes taller

Esta es una guía a la ejecución de un taller en los aspectos básicos de Arduinos, adecuado para grupos pequeños a las aulas. Funcionó originalmente como taller para los estudiantes de 6 a 9 primer año Universidad, pero podría funcionar para los estud
Arduino para principiantes - con una pantalla TFT de 1,8 pulgadas

Arduino para principiantes - con una pantalla TFT de 1,8 pulgadas

Esta es tu guía introductoria al uso de un 1.8 en pantalla TFT con un Arduino. Me gusta el 1.8 en pantalla por su pequeño tamaño y bajo costo. Yo tengo la mía por unos 10 dólares en ebay, aquí. No viene con instrucciones pero con algunas investigacio
Sensores y comunicaciones serie de Arduino para principiantes de color

Sensores y comunicaciones serie de Arduino para principiantes de color

Hola todos, yo voy a hablar de sensores del color: Cómo construir y calibrar uno y cómo utilizarlo con comunicación serial a través de una placa de Arduino.El último paso, explica cómo utilicé este proyecto para un Gimp (está parado para el "Programa
Seguridad alarma Laser detector o sensor para arduino para principiantes

Seguridad alarma Laser detector o sensor para arduino para principiantes

Hola, chicos hoy me y todos vamos a hacer un detector de láser trabajan con un Arduino y piezo.Cómo funciona. Cuando el láser está bloqueado por el jefe de módulo el piezoalarma para arriba.permite así iniciar. :):):):):):):):):):):):):):):):):):):):
Blockhead Blinky (proyecto de Arduino para principiantes)

Blockhead Blinky (proyecto de Arduino para principiantes)

Esto es sólo una diversión poco a su escritorio.Gracias a mi hermana para hacer el cubo de papel y pelo!Paso 1: Reúna los suministros.Paso 2: Dibujar un rectángulo que es 2 1/2 X 10 "Paso 3: Dibujar líneas que son 2 1/2 aparte.Paso 4: Dibujar 2 plaza