Tarea1
Dependencies: Debounced TextLCD1 mbed
main.cpp
- Committer:
- lcorralesc1
- Date:
- 2013-10-20
- Revision:
- 0:964cee3e89ee
File content as of revision 0:964cee3e89ee:
#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); DigitalIn button1(PTC12); DigitalIn button2(PTC13); DigitalIn button3(PTC16); //DigitalIn button4(PTC17); //DebouncedIn button1(PTC12); //DebouncedIn button2(PTC13); //DebouncedIn button3(PTC16); //DebouncedIn button4(PTC17); //codigos movimiento del curzor //18 para izquierda //1A para derecha int C1=0x0E; // solo muestra el curzor int C2=0x18; // desplaza izquierda int C3=0x1A; // desplaza derecha int C4=0x0C; // quito cursor bajo int contador1, contador2, contador3, contador4; // variable con la que controlo disminucion de conteo int j=0; //variable controla cambio 4 posiciones int kp, ki, kd, sp, i; int main() { lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD lcd.cls(); lcd.locate(0,0); lcd.printf("Sp%d",sp);//primero print y luego locate 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); while(1) { if(!button3){ j=j+1; lcd.locate(2,0); lcd.writeCommand(C1); if(button3){ break; } } while (j==0){ wait(0.3); if (!button1) { //primer if button1 j=0 wait(0.3); while(sp<5){ sp=sp+1; lcd.locate(0,0); lcd.printf("Sp%d ",sp); wait(0.3); if(button1){ break; } } wait(0.3); if(!button1){ //segundo if button1 j=0 wait(0.3); while(sp<50){ sp=sp+5; lcd.locate(0,0); lcd.printf("Sp%d ",sp); wait(0.3); if(button1){ break; } } wait(0.3); if(!button1){ //tercer if button1 j=0 wait(0.3); while(sp<100){ sp=sp+10; lcd.locate(0,0); lcd.printf("Sp%d ",sp); wait(0.3); if(button1){ break; } } wait(0.3); if(!button1){ //cuarto if button1 j=0 wait(0.3); while(sp<1000){ sp=sp+100; lcd.locate(0,0); lcd.printf("Sp%d ",sp); wait(0.3); if(button1){ break; } } wait(0.3); if(!button1){ //quinto if button1 j=0 wait(0.3); while(sp<10000){ sp=sp+1000; lcd.locate(0,0); lcd.printf("Sp%d ",sp); wait(0.3); if(button1){ break; } } } //cierro quinto if button1 j=0 } //cierro cuarto if button1 j=0 } //cierro tercer if button1 j=0 } //cierro segundo if button1 j=0 } //cierro primer if button1 j=0 if(!button2){ wait(0.2); while(contador1<10 & sp>0){ contador1=contador1+1; sp=sp-1; if(sp<0){ sp=0; } lcd.locate(0,0); lcd.printf("Sp%d ",sp); //lcd.locate(12,0); //lcd.printf("C%d",contador1); wait(0.3); if(button2){ break; } } wait(0.3); if(!button2){ wait(0.2); while(contador1>=10 & contador1<19){ contador1=contador1+1; sp=sp-10; if(sp<0){ sp=0; } lcd.locate(0,0); lcd.printf("Sp%d ",sp); //lcd.locate(12,0); //lcd.printf("C%d",contador1); wait(0.3); if(button2){ break; } } wait(0.3); if(!button2){ wait(0.2); while(contador1>=19){ contador1=contador1+1; sp=sp-100; if(sp<0){ sp=0; } lcd.locate(0,0); lcd.printf("Sp%d ",sp); //lcd.locate(12,0); //lcd.printf("C%d",contador1); wait(0.3); if(button2){ break; } } } //cierro tercer if button2 j=0 } //cierro segundo if button2 j=0 } //cierro primer if button2 j=0 if(!button3){ j=j+1; lcd.locate(10,0); lcd.writeCommand(C1); if(button3){ break; } } } //cierro while con j=0 //%------------------------------------------------------------------------------------------ while (j==1){ wait(0.3); if (!button1) { //primer if button1 j=1 wait(0.2); while(kp<5){ kp=kp+1; lcd.locate(8,0); lcd.printf("Kp%d ",kp); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //segundo if button1 j=1 wait(0.3); while(kp<50){ kp=kp+5; lcd.locate(8,0); lcd.printf("Kp%d ",kp); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //tercer if button1 j=1 wait(0.3); while(kp<100){ kp=kp+10; lcd.locate(8,0); lcd.printf("Kp%d ",kp); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //cuarto if button1 j=1 wait(0.3); while(kp<1000){ kp=kp+100; lcd.locate(8,0); lcd.printf("Kp%d ",kp); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //quinto if button1 j=1 wait(0.3); while(kp<10000){ kp=kp+1000; lcd.locate(8,0); lcd.printf("Kp%d ",kp); wait(0.4); if(button1){ break; } } } //cierro quinto if button1 j=1 } //cierro cuarto if button1 j=1 } //cierro tercer if button1 j=1 } //cierro segundo if button1 j=1 } //cierro primer if button1 j=1 if(!button2){ wait(0.2); while(contador2<10 & kp>0){ contador2=contador2+1; kp=kp-1; if(kp<0){ kp=0; } lcd.locate(8,0); lcd.printf("Kp%d ",kp); //lcd.locate(12,1); //lcd.printf("C%d",contador2); wait(0.3); if(button2){ break; } } wait(0.3); if(!button2){ wait(0.2); while(contador2>=10 & contador2<19){ contador2=contador2+1; kp=kp-10; if(kp<0){ kp=0; } lcd.locate(8,0); lcd.printf("Kp%d ",kp); //lcd.locate(12,1); //lcd.printf("C%d",contador2); wait(0.3); if(button2){ break; } } wait(0.3); if(!button2){ wait(0.2); while(contador2>=19){ contador2=contador2+1; kp=kp-100; if(kp<0){ kp=0; } lcd.locate(8,0); lcd.printf("Kp%d ",kp); //lcd.locate(12,1); //lcd.printf("C%d",contador2); wait(0.3); if(button2){ break; } } } //cierro tercer if button2 j=1 } //cierro segundo if button2 j=1 } //cierro primer if button2 j=1 if(!button3){ j=j+1; lcd.locate(0,2); lcd.writeCommand(C1); if(button3){ break; } } } //cierro while con j=1 //%---------------------------------------------------------------------------------------------- while (j==2){ wait(0.3); if (!button1) { //primer if button1 j=2 wait(0.2); while(ki<5){ ki=ki+1; lcd.locate(0,1); lcd.printf("Ki%d ",ki); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //segundo if button1 j=2 wait(0.3); while(ki<50){ ki=ki+5; lcd.locate(0,1); lcd.printf("Ki%d ",ki); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //tercer if button1 j=2 wait(0.3); while(ki<100){ ki=ki+10; lcd.locate(0,1); lcd.printf("Ki%d ",ki); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //cuarto if button1 j=2 wait(0.3); while(ki<1000){ ki=ki+100; lcd.locate(0,1); lcd.printf("Ki%d ",ki); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //quinto if button1 j=2 wait(0.3); while(ki<10000){ ki=ki+1000; lcd.locate(0,1); lcd.printf("Ki%d ",ki); wait(0.4); if(button1){ break; } } } //cierro quinto if button1 j=2 } //cierro cuarto if button1 j=2 } //cierro tercer if button1 j=2 } //cierro segundo if button1 j=2 } //cierro primer if button1 j=2 if(!button2){ wait(0.2); while(contador3<10 & ki>0){ contador3=contador3+1; ki=ki-1; if(ki<0){ ki=0; } lcd.locate(0,1); lcd.printf("Ki%d ",ki); //lcd.locate(12,1); //lcd.printf("C%d",contador3); wait(0.3); if(button2){ break; } } wait(0.3); if(!button2){ wait(0.2); while(contador3>=10 & contador3<19){ contador3=contador3+1; ki=ki-10; if(ki<0){ ki=0; } lcd.locate(0,1); lcd.printf("Ki%d ",ki); //lcd.locate(12,1); //lcd.printf("C%d",contador3); wait(0.3); if(button2){ break; } } wait(0.3); if(!button2){ wait(0.2); while(contador3>=19){ contador3=contador3+1; ki=ki-100; if(ki<0){ ki=0; } lcd.locate(0,1); lcd.printf("Ki%d ",ki); //lcd.locate(12,1); //lcd.printf("C%d",contador3); wait(0.3); if(button2){ break; } } } //cierro tercer if button2 j=2 } //cierro segundo if button2 j=2 } //cierro primer if button2 j=2 if(!button3){ j=j+1; lcd.locate(10,1); lcd.writeCommand(C1); if(button3){ break; } } } //cierro while con j=2 //%---------------------------------------------------------------------------------------------- while (j==3){ wait(0.3); if (!button1) { //primer if button1 j=3 wait(0.2); while(kd<5){ kd=kd+1; lcd.locate(8,1); lcd.printf("Kd%d ",kd); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //segundo if button1 j=3 wait(0.3); while(kd<50){ kd=kd+5; lcd.locate(8,1); lcd.printf("Kd%d ",kd); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //tercer if button1 j=3 wait(0.3); while(kd<100){ kd=kd+10; lcd.locate(8,1); lcd.printf("Kd%d ",kd); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //cuarto if button1 j=2 wait(0.3); while(kd<1000){ kd=kd+100; lcd.locate(8,1); lcd.printf("Kd%d ",kd); wait(0.4); if(button1){ break; } } wait(0.4); if(!button1){ //quinto if button1 j=2 wait(0.3); while(kd<10000){ kd=kd+1000; lcd.locate(8,1); lcd.printf("Kd%d ",kd); wait(0.4); if(button1){ break; } } } //cierro quinto if button1 j=3 } //cierro cuarto if button1 j=3 } //cierro tercer if button1 j=3 } //cierro segundo if button1 j=3 } //cierro primer if button1 j=3 if(!button2){ wait(0.2); while(contador4<10 & kd>0){ contador4=contador4+1; kd=kd-1; if(kd<0){ kd=0; } lcd.locate(8,1); lcd.printf("Kd%d ",kd); //lcd.locate(12,0); //lcd.printf("C%d",contador4); wait(0.3); if(button2){ break; } } wait(0.3); if(!button2){ wait(0.2); while(contador4>=10 & contador4<19){ contador4=contador4+1; kd=kd-10; if(kd<0){ kd=0; } lcd.locate(8,1); lcd.printf("Kd%d ",kd); //lcd.locate(12,0); //lcd.printf("C%d",contador4); wait(0.3); if(button2){ break; } } wait(0.3); if(!button2){ wait(0.2); while(contador4>=19){ contador4=contador4+1; kd=kd-100; if(kd<0){ kd=0; } lcd.locate(8,1); lcd.printf("Kd%d ",kd); //lcd.locate(12,0); //lcd.printf("C%d",contador4); wait(0.3); if(button2){ break; } } } //cierro tercer if button2 j=3 } //cierro segundo if button2 j=3 } //cierro primer if button2 j=3 if(!button3){ j=j+1; lcd.locate(0,0); lcd.writeCommand(C1); if(button3){ break; } } } //cierro while con j=3 //%---------------------------------------------------------------------------------------------- while(j==4){ j=-1; } } //cierro while(1) } //cierro main