pwm recibe la entrada del pid y varia el ciclo de trabajo y = 2.5x - 1.5 presion dice si esta lleno o que se yo (actualizar valores)

Dependencies:   TextLCD mbed

Fork of PWM by proyectotecnicas

Revision:
0:647746eea42d
Child:
1:778a662bafcf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Jan 04 22:12:46 2015 +0000
@@ -0,0 +1,80 @@
+#include "mbed.h"
+
+PwmOut pwm1(PTB0);
+PwmOut pwmLED(LED_RED);
+Serial pc(USBTX,USBRX);
+
+uint16_t periodPWM1 = 1;
+uint16_t periodPWMLED =1;
+float dutyPWM1 = 0;
+float dutyPWMLED = 0;
+
+void rxInterrupt()
+{
+
+    switch(pc.getc()) {
+
+        case 'a':
+        
+            periodPWM1++;
+            periodPWMLED++;
+
+            pwm1.period_ms(periodPWM1);
+            pwmLED.period_ms(periodPWMLED);
+            
+            
+
+            break;
+
+        case 's':
+        
+            if (periodPWM1>1) {
+                periodPWM1--;
+                periodPWMLED--;
+            }
+
+            pwm1.period_ms(periodPWM1);
+            pwmLED.period_ms(periodPWMLED);
+
+            break;
+            
+            case 'f':
+        
+            if (dutyPWM1<1) {
+                dutyPWM1 = dutyPWM1 + 0.05 ;
+                dutyPWMLED = dutyPWMLED + 0.05;
+            }
+
+            pwm1.write(dutyPWM1);
+            pwmLED.write(dutyPWMLED);
+
+            break;
+            
+            
+            case 'g':
+        
+            if (dutyPWM1>0) {
+                dutyPWM1 = dutyPWM1 - 0.05 ;
+                dutyPWMLED = dutyPWMLED - 0.05;
+            }
+
+            pwm1.write(dutyPWM1);
+            pwmLED.write(dutyPWMLED);
+
+            break;
+            
+            default: break;
+    }
+    
+    pc.printf("Period (ms): %i, Duty: %.2f \r\n", periodPWM1,dutyPWM1);
+
+}
+
+int main()
+{
+
+    pc.baud(115200);
+    pc.attach(&rxInterrupt);
+
+    while(1);
+}