![](/media/cache/profiles/faaf2eb04638f2f0a77e0d1db2386c2d.jpg.50x50_q85.jpg)
Juan Salvador Payares Ernesto Guevara
Dependencies: DebouncedIn TextLCD mbed
Fork of Tarea2 by
main.cpp
- Committer:
- payarito32
- Date:
- 2014-04-02
- Revision:
- 0:7853369d3ed2
File content as of revision 0:7853369d3ed2:
#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); } } } }