JOSE RUIZ ORTEGA, SEBASTIAN PELAEZ LENTEJA// Programa que permite seleccionar y aumentar o disminuir valores por medio de tres pulsadores, ademas el hecho de presionar cada pulsador genera un sonido diferente

Dependencies:   DebouncedIn TextLCD mbed

Fork of Teclado_Tres_Pulsadores by GrupoProcesadores

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.c Source File

main.c

00001 #include "mbed.h"
00002 #include "DebouncedIn.h"
00003 #include "TextLCD.h"
00004 
00005 AnalogIn Vin(PTC2);
00006 AnalogOut Vout(PTC3);
00007 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7
00008 
00009 DigitalOut led1(LED1);
00010 DigitalOut led2(LED2);
00011 DigitalOut led3(LED3);
00012 DebouncedIn button1(PTC12);
00013 DebouncedIn button2(PTC13);
00014 DebouncedIn button3(PTC16);
00015 
00016 int C1=0x0F;
00017 int sp=0,kp=0,kd=0,ki=0,p=1;
00018 int main()
00019 {
00020     lcd.cls();
00021     lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD
00022     lcd.locate(8,0);
00023     lcd.printf("kp=%d", kp);
00024     lcd.locate(0,1);
00025     lcd.printf("Ki=%d", ki);
00026     lcd.locate(8,1);
00027     lcd.printf("Kd=%d", kd);
00028     lcd.locate(0,0);
00029     lcd.printf("Sp=%d", sp);
00030 
00031     while(1)
00032     {
00033         if (button1.falling())
00034         {   
00035             
00036             led1 =!led1;
00037             if (p==1)
00038             {
00039                 ++sp;
00040                 lcd.locate(3,0);
00041                 lcd.printf("   ");
00042                 lcd.locate(3,0);
00043                 lcd.printf("%d", sp);
00044                                         } //Cierra sp
00045             else if (p==2)
00046             {
00047                 ++kp;
00048                 lcd.locate(11,0);
00049                 lcd.printf("   ");
00050                 lcd.locate(11,0);
00051                 lcd.printf("%d", kp);
00052                                         } //Cierra kp
00053             else if (p==3)
00054             {
00055                 ++ki;
00056                 lcd.locate(3,1);
00057                 lcd.printf("   ");
00058                 lcd.locate(3,1);
00059                 lcd.printf("%d", ki);
00060                                      } //Cierra ki
00061             else if (p==4)
00062             {
00063                 ++kd;
00064                 lcd.locate(11,1);
00065                 lcd.printf("   ");
00066                 lcd.locate(11,1);
00067                 lcd.printf("%d", kd);
00068                                     } //Cierra kd
00069                                                   } //Cierra button1.falling
00070         if (button2.falling())
00071         {
00072             led2 =!led2;
00073             if (p==1)
00074             {
00075                 if (sp==0)  // no mostrar nada
00076                 {
00077                 }
00078                 else
00079                 {
00080                     --sp;
00081                     lcd.locate(3,0);
00082                     lcd.printf("   ");
00083                     lcd.locate(3,0);
00084                     lcd.printf("%d", sp);
00085                                             } //Cierra sp
00086                                             } //Cierra if p==1
00087             if (p==2)
00088             {
00089                 if (kp==0)  // no mostrar nada
00090                 {
00091                 }
00092                 else
00093                 {
00094                     --kp;
00095                     lcd.locate(11,0);
00096                     lcd.printf("   ");
00097                     lcd.locate(11,0);
00098                     lcd.printf("%d", kp);
00099                                             } //Cierra kp
00100                                             } //Cierra if p==2
00101             if (p==3)
00102             {
00103                 if (ki==0)  // no mostrar nada
00104                 {
00105                 }
00106                 else
00107                 {
00108                     --ki;
00109                     lcd.locate(3,1);
00110                     lcd.printf("   ");
00111                     lcd.locate(3,1);
00112                     lcd.printf("%d", ki);
00113                                         } //Cierra ki
00114                                         } //Cierra if p==3
00115             if (p==4)
00116             {
00117                 if (kd==0)  // no mostrar nada
00118                 {
00119                 }
00120                 else
00121                 {
00122                     --kd;
00123                     lcd.locate(11,1);
00124                     lcd.printf("   ");
00125                     lcd.locate(11,1);
00126                     lcd.printf("%d", kd);
00127                                             } //Cierra kd
00128                                             } //Cierra if p==4
00129                                                                     } //Cierra button2.falling
00130  if (button3.falling())
00131         {
00132             led3 =!led3;
00133             if (p==1)
00134             {
00135                 ++p;
00136                 lcd.locate(11,0);
00137                 lcd.printf("%d", kp);
00138                 
00139                 
00140             }
00141             else if (p==2)
00142             {
00143                 ++p;
00144                 lcd.locate(3,1);
00145                 lcd.printf("%d", ki);
00146                 lcd.locate(3,1);
00147                 
00148             }
00149             else if (p==3)
00150             {
00151                 ++p;
00152                 lcd.locate(11,1);
00153                 lcd.printf("%d", kd);
00154                 }
00155             else if (p==4)
00156             {
00157                 p=1;
00158                 lcd.locate(3,0);
00159                 lcd.printf("%d", sp);
00160                 
00161                 
00162             }
00163         }
00164     }
00165 }