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:
2:5ac1bbc59324
Parent:
1:d030741c7919
--- a/main.cpp	Wed Apr 23 16:25:54 2014 +0000
+++ b/main.cpp	Mon May 12 05:29:08 2014 +0000
@@ -6,6 +6,9 @@
 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7
 AnalogIn y(PTB0);
 AnalogOut u(PTE30);
+float Dd=10;
+float pp=30;
+float Fi;
 int C1=0x0F; // Cursor
 int C4=0x0C; // quito cursor bajo
 int spnum=0,kinum=0,kpnum=0,kdnum=0,pos=1,tecla,flag1=1,num=0;
@@ -46,15 +49,18 @@
     lcd.printf("Kd=%d",kdnum);
     lcd.locate(0,0);
     lcd.printf("Sp=%d",spnum);
+    Fi=(Dd)*100;
+    pp=(1/Fi);
+    sonido.period(pp);
     
     ini2:
     keypad.CallAfterInput(&cbAfterInput);
     keypad.Start();
     if(flag1==0){
         if(Keytable[tecla]=='B'){
-            sonido=0.2f;
-            wait(0.1);
-            sonido=0.0;
+        sonido.write(0.1);
+        wait(0.1);
+        sonido=0.0;
             cadena[0]=' ';cadena[1]=' ';cadena[2]=' ';
             llena=0;
             num=0;
@@ -64,7 +70,7 @@
                 pos++;}
         }
         else if(Keytable[tecla]=='A'){
-            sonido=0.2f;
+            sonido.write(0.1);
             wait(0.1);
             sonido=0.0;
             llena--;
@@ -72,7 +78,7 @@
             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;
+            sonido.write(0.1);
             wait(0.1);
             sonido=0.0;
             if(llena<3){
@@ -81,9 +87,9 @@
                 llena++;}
         }
         else if(Keytable[tecla]=='D'){
-            sonido=0.2f;
-            wait(0.1);
-            sonido=0.0;
+        sonido.write(0.1);
+        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!");
@@ -103,9 +109,9 @@
             wait(2);
             cicloPID:
                 if(Keytable[tecla]=='C'){
-                    sonido=0.2f;
-            wait(0.1);
-            sonido=0.0;
+                sonido.write(0.1);
+                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;}