Paso 6: Con botones
Esto es como el ejemplo anterior pero ahora el código se ejecute sólo una vez después de pulsar un botón. El botón utiliza un pull-down resistor por lo que cuando se pulsa el botón del perno de la entrada dice alta, de lo contrario siempre Lee bajo.
Copie y pegue este bosquejo en tu ventana de Arduino-
/*
* Ejemplo 2
* LED de Control usando el botón
* En este ejemplo se parpadear dos LED y desaparecer otro LED cuando un botón es presionado y liberado
* Honus 2010
* Modificado de Adafruit alterna interruptor código, http://www.adafruit.com
*/
ledPin1 int = 13; pin de control de LED
int ledPin2 = 12;
ledPin3 int = 11;
int buttonPin = 14; botón está conectado al pin 14 (analógica en el pin 0)
int val; variable para lectura del estado del pin
int buttonState; variable para mantener el último estado de botón
void setup() {}
pinMode (buttonPin, entrada); configurar el botón pin como entrada
Serial.Begin(9600); configurar la comunicación serial a 9600bps
buttonState = digitalRead(buttonPin); Lee el estado inicial
pinMode (ledPin1, salida); establece el pin LED como salida
pinMode (ledPin2, salida);
}
void loop() {}
Val = digitalRead(buttonPin); leer valor de entrada y almacena en val
Si (val! = buttonState) {/ / el estado de botón ha cambiado!
Si (val == LOW) {/ / comprobar si se presiona el botón
Serial.println ("tecla");
digitalWrite (ledPin1, HIGH); establece el pin LED alta (enciende)
Delay(500); espera 500 milisegundos
digitalWrite (ledPin2, HIGH);
Delay(500);
digitalWrite (ledPin1, LOW); establece el pin del LED baja (apaga)
Delay(500);
digitalWrite (ledPin2, LOW);
Delay(500);
fundidos de min a max en incrementos de 5 puntos:
para (int fadeValue = 0; fadeValue < = 255; fadeValue += 5) {}
establece el valor (rango de 0 a 255):
analogWrite (ledPin3, fadeValue);
Espere 30 milisegundos ver el efecto de atenuación
Delay(40);
}
se descoloran hacia fuera de max a min en incrementos de 5 puntos:
para (int fadeValue = 255; fadeValue > = 0; fadeValue-=5) {}
establece el valor (rango de 0 a 255):
analogWrite (ledPin3, fadeValue);
Espere 30 milisegundos ver el efecto de atenuación
Delay(40);
}
} else {/ / - no - se pulsa el botón...
Serial.println ("botón liberado");
digitalWrite (ledPin1, LOW); Apagar el LED
digitalWrite (ledPin2, LOW);
}
}
buttonState = val; guardar el nuevo estado en nuestra variable
}