![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
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
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 }
Generated on Tue Jul 19 2022 03:52:32 by
![doxygen](doxygen.png)