![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Tarea3-Versión1. Uso de un teclado matricial 4x4 para la asignación de parámetros a un PID tal que al presionar cualquier tecla, se escucha un sonido
Dependencies: FPointer TextLCD keypad mbed
Fork of Tarea3-V1 by
Diff: main.cpp
- Revision:
- 1:d030741c7919
- Parent:
- 0:e8c0430c5d6d
- Child:
- 2:5ac1bbc59324
diff -r e8c0430c5d6d -r d030741c7919 main.cpp --- a/main.cpp Fri Nov 29 18:26:39 2013 +0000 +++ b/main.cpp Wed Apr 23 16:25:54 2014 +0000 @@ -21,6 +21,7 @@ '7', '8', '9', 'C', '*', '0', '#', 'D' }; +PwmOut sonido(PTA12); uint32_t cbAfterInput(uint32_t index) { tecla=index; @@ -29,6 +30,8 @@ } int main() { + //Asignación de pines para el teclado matricial + // r3 r2 r1 r0 c3 c2 c1 c0 Keypad keypad(PTA2, PTD4, PTD3, PTD7,PTA13, PTD5, PTD0, PTD2); ini1: err=0; med=0; yr=0; pid=0; ap=0; ai=0; ad=0; err_v=0;pidn=0; @@ -49,6 +52,9 @@ keypad.Start(); if(flag1==0){ if(Keytable[tecla]=='B'){ + sonido=0.2f; + wait(0.1); + sonido=0.0; cadena[0]=' ';cadena[1]=' ';cadena[2]=' '; llena=0; num=0; @@ -58,17 +64,26 @@ pos++;} } else if(Keytable[tecla]=='A'){ + sonido=0.2f; + wait(0.1); + sonido=0.0; llena--; cadena[llena]=' '; num=strtod(cadena,NULL); } else if((tecla==0)||(tecla==1)||(tecla==2)||(tecla==4)||(tecla==5)||(tecla==6)||(tecla==8)||(tecla==9)||(tecla==10)||(tecla==13)){ + sonido=0.2f; + wait(0.1); + sonido=0.0; if(llena<3){ cadena[llena]=Keytable[tecla]; num=strtod(cadena,NULL); llena++;} } else if(Keytable[tecla]=='D'){ + sonido=0.2f; + wait(0.1); + sonido=0.0; lcd.writeCommand(C4);//escribimos un comando segun el manual del modulo LCD para quitar cursor bajo lcd.cls(); //borra la pantalla lcd.printf(" GUARDADOS!"); @@ -88,6 +103,9 @@ wait(2); cicloPID: if(Keytable[tecla]=='C'){ + sonido=0.2f; + wait(0.1); + sonido=0.0; spnum=0;kinum=0;kpnum=0;kdnum=0;llena=0;pos=1;flag1=1; cadena[0]=' ';cadena[1]=' ';cadena[2]=' '; goto ini1;}