BUEN DIA AMIGOS necesito ayuda con el siguiente programa es para controlar dos display 7 segmentos con un teclado 3*4, la subrutina de los displays me muestra error. muchas gracias por su colaboracion
#include <Keypad.h>
// empieza codigo necesario
const byte filas=4;
const byte columnas=3;
byte pinsFilas[filas]={8,7,6,5}; // en orden f1,f2,f3,f4
byte pinsColumnas[columnas]={4,3,2}; // en orden C1,c2,c3,
char teclas[filas][columnas]={
{ '1','2','3'},
{ '4','5','6'},
{ '7','8','9'},
{ '*','0','#'}
};
Keypad teclado = Keypad ( makeKeymap(teclas),pinsFilas,pinsColumnas,filas,columnas);
//termina codigo necesario
char tecla;
int uni;
int dece;
int cont;
int num;
void setup(){
Serial.begin(9600);
pinMode (13,OUTPUT);
pinMode (12,OUTPUT);
pinMode (11,OUTPUT);
pinMode (10,OUTPUT);
pinMode (9,OUTPUT);
pinMode (A0,OUTPUT);
pinMode (A1,OUTPUT);
pinMode (A2,OUTPUT);
pinMode (A3,OUTPUT);
}
void loop (){
tecla= teclado.getKey();
if(tecla!=NO_KEY&&cont==0 ){
uni=tecla-48;
cont=cont+1;
if (tecla==NO_KEY){
num=uni;
digitalWrite (A2,HIGH);
digitalWrite (A3,LOW);
disp();
}
}
if(tecla!=NO_KEY&&cont==1){
dece=tecla-48;
cont=0;
if (tecla==NO_KEY){
digitalWrite (A2,LOW);
digitalWrite (A3,HIGH);
dece=tecla-48;
num=dece;
disp(); llama a disp
}
}
}
void disp (int a, int b, int c, int d, int e, int f, int g)
// Funcion del display
{ switch (num){
case 0:
disp (1,1,1,1,1,1,0); //escribe 0
break;
case 1:
disp (0,1,1,0,0,0,0); //escribe 1
break;
case 2:
disp (1,1,0,1,1,0,1); //escribe 2
break;
case 3:
disp (1,1,1,1,0,0,1); //escribe 3
break;
case 4 :
disp (0,1,1,0,0,1,1); //escribe 4
break;
case 5:
disp (1,0,1,1,0,1,1); //escribe 5
break;
case 6:
disp (1,0,1,1,1,1,1); //escribe 6
break;
case 7:
disp (1,1,1,0,0,0,0); //escribe 7
break;
case 8:
disp (1,1,1,1,1,1,1); //escribe 8
break;
case 9:
disp (1,1,1,0,0,1,1); //escribe 9
break;
}
digitalWrite (A0,f); //Se reciben 7 variables y se asignan
digitalWrite (A1,g); //a cada una de las salidas
digitalWrite (9,a);
digitalWrite (10,b);
digitalWrite (11,c);
digitalWrite (12,d);
digitalWrite (13,e);
}