Práctica 16: Contador 2 pulsadores con impresión y un display
El esquema de conexión es el siguiente:
El programa:
int numero = 0;
int estadoBoton1 = 0;
int estadoBoton2 = 0;
int estadoanterior1 = 0;
int estadoanterior2 = 0;
void setup() {
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
Serial.begin(9600);
}
void loop() {
estadoBoton1 = digitalRead(2);
estadoBoton2 = digitalRead(3);
if (estadoBoton1 == HIGH and estadoanterior1 == LOW ) {
numero = numero + 1;
}
estadoanterior1=estadoBoton1;
if (estadoBoton2 == HIGH and estadoanterior2 == LOW ) {
numero = numero - 1;
}
estadoanterior2=estadoBoton2;
Serial.print("El boton ha sido pulsado");
Serial.print(numero);
Serial.println("veces");
switch (numero) {
case 0:
limpiar();
cero();
break;
case 1:
limpiar();
uno();
break;
case 2:
limpiar();
dos();
break;
case 3:
limpiar();
tres();
break;
case 4:
limpiar();
cuatro();
break;
case 5:
limpiar();
cinco();
break;
case 6:
limpiar();
seis();
break;
case 7:
limpiar();
siete();
break;
case 8:
limpiar();
ocho();
break;
case 9:
limpiar();
nueve();
break;
}
delay(125);
}
void cero(){
digitalWrite(10,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
}
void uno(){
digitalWrite(8,HIGH);
digitalWrite(5,HIGH);
}
void dos(){
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(11,HIGH);
}
void tres(){
digitalWrite(6,HIGH);
digitalWrite(5,HIGH);
digitalWrite(11,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
}
void cuatro(){
digitalWrite(8,HIGH);
digitalWrite(5,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
}
void cinco(){
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
}
void seis(){
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
}
void siete(){
digitalWrite(8,HIGH);
digitalWrite(5,HIGH);
digitalWrite(9,HIGH);
}
void ocho(){
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
}
void nueve(){
digitalWrite(5,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
}
void limpiar(){
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
}
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.