Juan Salvador Payares Ernesto Guevara
Dependencies: DebouncedIn TextLCD mbed
Diff: main.cpp
- Revision:
- 0:7853369d3ed2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Apr 02 16:55:05 2014 +0000 @@ -0,0 +1,199 @@ +#include "mbed.h" +#include "DebouncedIn.h" +#include "TextLCD.h" + +AnalogIn Vin(PTC2); +TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7 + +DigitalOut led1(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); +DigitalOut sound(PTC5); //Salida de Audio Digital +DebouncedIn button1(PTC12); +DebouncedIn button2(PTC13); +DebouncedIn button3(PTC16); + +int C1=0x0F; +int sp=0,kp=0,kd=0,ki=0,p=1; +int i; +int main() +{ + lcd.cls(); + lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD + lcd.locate(8,0); + lcd.printf("kp=%d", kp); + lcd.locate(0,1); + lcd.printf("Ki=%d", ki); + lcd.locate(8,1); + lcd.printf("Kd=%d", kd); + lcd.locate(0,0); + lcd.printf("Sp=%d", sp); + + while(1) + { + if (button1.falling()) + { + + for(i=1; i<= 1000; ++i){ //ONDA CUADRADA, OSCILACIONES A 10 KHZ.... A VER SI FUNCIONA + sound = 0; + wait(0.00015); // Medio ciclo de dureza Arriba + sound=1; + wait(0.0005); // Medio ciclo Abajo + + } + + if (p==1) + + { + ++sp; + lcd.locate(3,0); + lcd.printf(" "); + lcd.locate(3,0); + lcd.printf("%d", sp); + + } + else if (p==2) + { + ++kp; + lcd.locate(11,0); + lcd.printf(" "); + lcd.locate(11,0); + lcd.printf("%d", kp); + } + else if (p==3) + { + ++ki; + lcd.locate(3,1); + lcd.printf(" "); + lcd.locate(3,1); + lcd.printf("%d", ki); + } + else if (p==4) + { + ++kd; + lcd.locate(11,1); + lcd.printf(" "); + lcd.locate(11,1); + lcd.printf("%d", kd); + } + } + if (button2.falling()) + { + for(i=1; i<= 1000; ++i){ //ONDA CUADRADA, OSCILACIONES A 10 KHZ.... A VER SI FUNCIONA + sound = 0; + wait(0.00012); // Medio ciclo de dureza Arriba + sound=1; + wait(0.00008); // Medio ciclo Abajo + + } + //led2 =!led2; + //sound = 3.2; + //wait(0.2); + //sound = 0; + if (p==1) + + { + if (sp==0) // no mostrar nada + { + } + else + { + --sp; + lcd.locate(3,0); + lcd.printf(" "); + lcd.locate(3,0); + lcd.printf("%d", sp); + } + } + if (p==2) + { + if (kp==0) // no mostrar nada + { + } + else + { + --kp; + lcd.locate(11,0); + lcd.printf(" "); + lcd.locate(11,0); + lcd.printf("%d", kp); + } + } + if (p==3) + { + if (ki==0) // no mostrar nada + { + } + else + { + --ki; + lcd.locate(3,1); + lcd.printf(" "); + lcd.locate(3,1); + lcd.printf("%d", ki); + } + } + if (p==4) + { + if (kd==0) // no mostrar nada + { + } + else + { + --kd; + lcd.locate(11,1); + lcd.printf(" "); + lcd.locate(11,1); + lcd.printf("%d", kd); + } + } + } + + if (button3.falling()) + { + + for(i=1; i<= 1000; ++i){ //ONDA CUADRADA, OSCILACIONES A 10 KHZ.... A VER SI FUNCIONA + sound = 0; + wait(0.00019); // Medio ciclo de dureza Arriba + sound=1; + wait(0.00001); // Medio ciclo Abajo + } + //led3 =!led3; + //sound = 3.2; + //wait(0.2); + //sound = 0; + if (p==1) + + { + ++p; + lcd.locate(11,0); + lcd.printf("%d", kp); + + + } + else if (p==2) + { + ++p; + lcd.locate(3,1); + lcd.printf("%d", ki); + lcd.locate(3,1); + + } + else if (p==3) + { + ++p; + lcd.locate(11,1); + lcd.printf("%d", kd); + } + else if (p==4) + { + p=1; + lcd.locate(3,0); + lcd.printf("%d", sp); + + + } + } + } +} + \ No newline at end of file