6. Secuencia de leds con pulsador. (Solución 1 y 2)
Se trata de encender y apagar 4 leds secuencialmente al accionar un pulsador. El pulsador debe estar
conectado al pin 4, y los leds a los pines 5,6,7 y 8.
Se deben encender y posteriormente apagar los leds desde el pin 5 al 8, con un tiempo de duración de encendido y apagado de 200 milisegundos.
Nota: la secuencia principal del programa debe estar reproducida en una función a la que llamará el programa principal.
Objetivos:
• Familiarizarse con el entorno de programación.
• Aprender a conectar una entrada digital a arduino (pulsador).
• Aprender a declarar variables tipo lista de valores.
• Aprender a declarar una función y llamarla cuando sea necesario.
• Conocer órdenes como: digitalRead.
• Conocer órdenes de control de programa como: If.
Solución 1:
int cadenaleds[]={5,6,7,8};
int pulsador=4;
int tiempo=200;
int n=0;
void setup() {
for(n=0;n<4;n++) {
pinMode (cadenaleds[n],OUTPUT);
}
pinMode (pulsador,INPUT);
}
void flash() {
for (n=0;n<4;n++) {
digitalWrite (cadenaleds[n],HIGH);
delay (tiempo);
digitalWrite (cadenaleds[n],LOW);
delay (tiempo);
}
}
void loop() {
if (digitalRead(pulsador)==HIGH) {
flash ();
}
}
Solución 2:
int leds[]={5,6,7,8};
int tiempo=200;
int pulsador=4;
int n=0;
int valorpulsador=0;
void setup(){
for(n=0;n<4;n++){
pinMode(leds[n],OUTPUT);
}
pinMode(pulsador,INPUT);
Serial.begin(9600);
}
void monitoriza(){
Serial.print("El valor del pulsador es ...");
Serial.println(valorpulsador);
delay(1000);
}
void secuencia(){
for(n=0;n<4;n++){
digitalWrite(leds[n],HIGH);
delay(tiempo);
digitalWrite(leds[n],LOW);
delay(tiempo);
}
}
void loop(){
valorpulsador=digitalRead(pulsador);
monitoriza();
if (valorpulsador==1){
secuencia();
}
}
Se deben encender y posteriormente apagar los leds desde el pin 5 al 8, con un tiempo de duración de encendido y apagado de 200 milisegundos.
Nota: la secuencia principal del programa debe estar reproducida en una función a la que llamará el programa principal.
Objetivos:
• Familiarizarse con el entorno de programación.
• Aprender a conectar una entrada digital a arduino (pulsador).
• Aprender a declarar variables tipo lista de valores.
• Aprender a declarar una función y llamarla cuando sea necesario.
• Conocer órdenes como: digitalRead.
• Conocer órdenes de control de programa como: If.
Solución 1:
int cadenaleds[]={5,6,7,8};
int pulsador=4;
int tiempo=200;
int n=0;
void setup() {
for(n=0;n<4;n++) {
pinMode (cadenaleds[n],OUTPUT);
}
pinMode (pulsador,INPUT);
}
void flash() {
for (n=0;n<4;n++) {
digitalWrite (cadenaleds[n],HIGH);
delay (tiempo);
digitalWrite (cadenaleds[n],LOW);
delay (tiempo);
}
}
void loop() {
if (digitalRead(pulsador)==HIGH) {
flash ();
}
}
Solución 2:
int leds[]={5,6,7,8};
int tiempo=200;
int pulsador=4;
int n=0;
int valorpulsador=0;
void setup(){
for(n=0;n<4;n++){
pinMode(leds[n],OUTPUT);
}
pinMode(pulsador,INPUT);
Serial.begin(9600);
}
void monitoriza(){
Serial.print("El valor del pulsador es ...");
Serial.println(valorpulsador);
delay(1000);
}
void secuencia(){
for(n=0;n<4;n++){
digitalWrite(leds[n],HIGH);
delay(tiempo);
digitalWrite(leds[n],LOW);
delay(tiempo);
}
}
void loop(){
valorpulsador=digitalRead(pulsador);
monitoriza();
if (valorpulsador==1){
secuencia();
}
}
Comentarios
Publicar un comentario