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 junior andres calle acevedo

Revision:
1:d030741c7919
Parent:
0:e8c0430c5d6d
Child:
2:5ac1bbc59324
--- 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;}