PID que funciona con encoder y tiene autotunning.

Dependencies:   QEI TextLCD mbed

Fork of TAREA_4_PROCESADORES by john lopez

Revision:
1:9ca362d07dd0
Parent:
0:dd68101b1b99
Child:
2:f854af43e0c2
--- a/main.cpp	Fri Dec 13 04:14:14 2013 +0000
+++ b/main.cpp	Tue Apr 08 19:02:44 2014 +0000
@@ -5,16 +5,15 @@
  
 AnalogIn Vin(PTC2);
 AnalogOut Vout(PTE30);
+PwmOut sound(PTA12);
 
 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); //Puertos LCD rs, e, d4, d5, d6, d7
-QEI Encoder (PTA16, PTA17, NC, 624);               //Puertos de la tarjeta asignados para el Encoder
+QEI Encoder (PTA1, PTA2, NC, 624);               //Puertos de la tarjeta asignados para el Encoder
  
 DigitalOut led1(LED1);      //led de cambio de posición
 DigitalOut led2(LED2);      //led incremento de parámetros
 DigitalOut led3(LED3);      //led decremento de parámetros
-DebouncedIn bot1(PTC12);    //cambiar la posición
-DebouncedIn bot2(PTC13);    //incrementar variable
-DebouncedIn bot3(PTC16);    //decrementar variable
+DebouncedIn bot1(PTC12);    //cambiar la posición (CONECTO ESTA ENTRADA A LA ULTIMA SALIDA DEL ENCONDER, ASI SE UTILIZARA EL BOTON DEL ENCODER)
 DebouncedIn bot4(PTC17);    //salida de bucle
   
    //Códigos LCD
@@ -52,6 +51,11 @@
      
      while(1) {
            if (bot1.falling()) {            //----------------- Aumenta de posición el cursor a la primera línea de menu
+               
+            sound=1.0f;
+            wait(0.1);
+            sound=0;
+               
                led1=0;
                wait(.15); 
                led1=1;
@@ -77,6 +81,11 @@
                         wait(0.15);
                         
                             if (bot1.falling()) {       //--------------Aumenta de posición el cursor a la segunda línea de menu
+                            
+                            sound=1.0f;
+                            wait(0.1);
+                            sound=0;
+                            
                             a=1;
                             led1=0;
                             wait(.15); 
@@ -100,6 +109,11 @@
                                 wait(0.15);
                                    
                                     if (bot1.falling()) { //--------------Aumenta de posición el cursor a la tercera línea de menu    
+                                    
+                                    sound=1.0f;
+                                    wait(0.1);
+                                    sound=0;
+                                    
                                     a=2;
                                     led1=0;
                                     wait(.15); 
@@ -123,6 +137,11 @@
                                         wait(0.15);
                                         
                                            if (bot1.falling()) { //--------------Aumenta de posición el cursor a la cuarta línea de menu         
+                                            
+                                            sound=1.0f;
+                                            wait(0.1);
+                                            sound=0;
+                                            
                                             a=3;
                                             led1=0;
                                             wait(.15); 
@@ -144,6 +163,11 @@
                                                 wait(0.15);
                                                 
                                                     if (bot1.falling()) {  //--------------Aumenta de posición el cursor a la cuarta línea de menu    
+                                                    
+                                                    sound=1.0f;
+                                                    wait(0.1);
+                                                    sound=0;
+                                                    
                                                     a=0;
                                                     led1=0;
                                                     wait(.15);