Juan Salvador Payares Ernesto Guevara

Dependencies:   DebouncedIn TextLCD mbed

Fork of Tarea2 by Juan Salvador Payares Iriarte

Committer:
payarito32
Date:
Wed Apr 02 16:55:05 2014 +0000
Revision:
0:7853369d3ed2
Tarea 2 - Pulsadores Que suenan y Display;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
payarito32 0:7853369d3ed2 1 #include "mbed.h"
payarito32 0:7853369d3ed2 2 #include "DebouncedIn.h"
payarito32 0:7853369d3ed2 3 #include "TextLCD.h"
payarito32 0:7853369d3ed2 4
payarito32 0:7853369d3ed2 5 AnalogIn Vin(PTC2);
payarito32 0:7853369d3ed2 6 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7
payarito32 0:7853369d3ed2 7
payarito32 0:7853369d3ed2 8 DigitalOut led1(LED1);
payarito32 0:7853369d3ed2 9 DigitalOut led2(LED2);
payarito32 0:7853369d3ed2 10 DigitalOut led3(LED3);
payarito32 0:7853369d3ed2 11 DigitalOut sound(PTC5); //Salida de Audio Digital
payarito32 0:7853369d3ed2 12 DebouncedIn button1(PTC12);
payarito32 0:7853369d3ed2 13 DebouncedIn button2(PTC13);
payarito32 0:7853369d3ed2 14 DebouncedIn button3(PTC16);
payarito32 0:7853369d3ed2 15
payarito32 0:7853369d3ed2 16 int C1=0x0F;
payarito32 0:7853369d3ed2 17 int sp=0,kp=0,kd=0,ki=0,p=1;
payarito32 0:7853369d3ed2 18 int i;
payarito32 0:7853369d3ed2 19 int main()
payarito32 0:7853369d3ed2 20 {
payarito32 0:7853369d3ed2 21 lcd.cls();
payarito32 0:7853369d3ed2 22 lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD
payarito32 0:7853369d3ed2 23 lcd.locate(8,0);
payarito32 0:7853369d3ed2 24 lcd.printf("kp=%d", kp);
payarito32 0:7853369d3ed2 25 lcd.locate(0,1);
payarito32 0:7853369d3ed2 26 lcd.printf("Ki=%d", ki);
payarito32 0:7853369d3ed2 27 lcd.locate(8,1);
payarito32 0:7853369d3ed2 28 lcd.printf("Kd=%d", kd);
payarito32 0:7853369d3ed2 29 lcd.locate(0,0);
payarito32 0:7853369d3ed2 30 lcd.printf("Sp=%d", sp);
payarito32 0:7853369d3ed2 31
payarito32 0:7853369d3ed2 32 while(1)
payarito32 0:7853369d3ed2 33 {
payarito32 0:7853369d3ed2 34 if (button1.falling())
payarito32 0:7853369d3ed2 35 {
payarito32 0:7853369d3ed2 36
payarito32 0:7853369d3ed2 37 for(i=1; i<= 1000; ++i){ //ONDA CUADRADA, OSCILACIONES A 10 KHZ.... A VER SI FUNCIONA
payarito32 0:7853369d3ed2 38 sound = 0;
payarito32 0:7853369d3ed2 39 wait(0.00015); // Medio ciclo de dureza Arriba
payarito32 0:7853369d3ed2 40 sound=1;
payarito32 0:7853369d3ed2 41 wait(0.0005); // Medio ciclo Abajo
payarito32 0:7853369d3ed2 42
payarito32 0:7853369d3ed2 43 }
payarito32 0:7853369d3ed2 44
payarito32 0:7853369d3ed2 45 if (p==1)
payarito32 0:7853369d3ed2 46
payarito32 0:7853369d3ed2 47 {
payarito32 0:7853369d3ed2 48 ++sp;
payarito32 0:7853369d3ed2 49 lcd.locate(3,0);
payarito32 0:7853369d3ed2 50 lcd.printf(" ");
payarito32 0:7853369d3ed2 51 lcd.locate(3,0);
payarito32 0:7853369d3ed2 52 lcd.printf("%d", sp);
payarito32 0:7853369d3ed2 53
payarito32 0:7853369d3ed2 54 }
payarito32 0:7853369d3ed2 55 else if (p==2)
payarito32 0:7853369d3ed2 56 {
payarito32 0:7853369d3ed2 57 ++kp;
payarito32 0:7853369d3ed2 58 lcd.locate(11,0);
payarito32 0:7853369d3ed2 59 lcd.printf(" ");
payarito32 0:7853369d3ed2 60 lcd.locate(11,0);
payarito32 0:7853369d3ed2 61 lcd.printf("%d", kp);
payarito32 0:7853369d3ed2 62 }
payarito32 0:7853369d3ed2 63 else if (p==3)
payarito32 0:7853369d3ed2 64 {
payarito32 0:7853369d3ed2 65 ++ki;
payarito32 0:7853369d3ed2 66 lcd.locate(3,1);
payarito32 0:7853369d3ed2 67 lcd.printf(" ");
payarito32 0:7853369d3ed2 68 lcd.locate(3,1);
payarito32 0:7853369d3ed2 69 lcd.printf("%d", ki);
payarito32 0:7853369d3ed2 70 }
payarito32 0:7853369d3ed2 71 else if (p==4)
payarito32 0:7853369d3ed2 72 {
payarito32 0:7853369d3ed2 73 ++kd;
payarito32 0:7853369d3ed2 74 lcd.locate(11,1);
payarito32 0:7853369d3ed2 75 lcd.printf(" ");
payarito32 0:7853369d3ed2 76 lcd.locate(11,1);
payarito32 0:7853369d3ed2 77 lcd.printf("%d", kd);
payarito32 0:7853369d3ed2 78 }
payarito32 0:7853369d3ed2 79 }
payarito32 0:7853369d3ed2 80 if (button2.falling())
payarito32 0:7853369d3ed2 81 {
payarito32 0:7853369d3ed2 82 for(i=1; i<= 1000; ++i){ //ONDA CUADRADA, OSCILACIONES A 10 KHZ.... A VER SI FUNCIONA
payarito32 0:7853369d3ed2 83 sound = 0;
payarito32 0:7853369d3ed2 84 wait(0.00012); // Medio ciclo de dureza Arriba
payarito32 0:7853369d3ed2 85 sound=1;
payarito32 0:7853369d3ed2 86 wait(0.00008); // Medio ciclo Abajo
payarito32 0:7853369d3ed2 87
payarito32 0:7853369d3ed2 88 }
payarito32 0:7853369d3ed2 89 //led2 =!led2;
payarito32 0:7853369d3ed2 90 //sound = 3.2;
payarito32 0:7853369d3ed2 91 //wait(0.2);
payarito32 0:7853369d3ed2 92 //sound = 0;
payarito32 0:7853369d3ed2 93 if (p==1)
payarito32 0:7853369d3ed2 94
payarito32 0:7853369d3ed2 95 {
payarito32 0:7853369d3ed2 96 if (sp==0) // no mostrar nada
payarito32 0:7853369d3ed2 97 {
payarito32 0:7853369d3ed2 98 }
payarito32 0:7853369d3ed2 99 else
payarito32 0:7853369d3ed2 100 {
payarito32 0:7853369d3ed2 101 --sp;
payarito32 0:7853369d3ed2 102 lcd.locate(3,0);
payarito32 0:7853369d3ed2 103 lcd.printf(" ");
payarito32 0:7853369d3ed2 104 lcd.locate(3,0);
payarito32 0:7853369d3ed2 105 lcd.printf("%d", sp);
payarito32 0:7853369d3ed2 106 }
payarito32 0:7853369d3ed2 107 }
payarito32 0:7853369d3ed2 108 if (p==2)
payarito32 0:7853369d3ed2 109 {
payarito32 0:7853369d3ed2 110 if (kp==0) // no mostrar nada
payarito32 0:7853369d3ed2 111 {
payarito32 0:7853369d3ed2 112 }
payarito32 0:7853369d3ed2 113 else
payarito32 0:7853369d3ed2 114 {
payarito32 0:7853369d3ed2 115 --kp;
payarito32 0:7853369d3ed2 116 lcd.locate(11,0);
payarito32 0:7853369d3ed2 117 lcd.printf(" ");
payarito32 0:7853369d3ed2 118 lcd.locate(11,0);
payarito32 0:7853369d3ed2 119 lcd.printf("%d", kp);
payarito32 0:7853369d3ed2 120 }
payarito32 0:7853369d3ed2 121 }
payarito32 0:7853369d3ed2 122 if (p==3)
payarito32 0:7853369d3ed2 123 {
payarito32 0:7853369d3ed2 124 if (ki==0) // no mostrar nada
payarito32 0:7853369d3ed2 125 {
payarito32 0:7853369d3ed2 126 }
payarito32 0:7853369d3ed2 127 else
payarito32 0:7853369d3ed2 128 {
payarito32 0:7853369d3ed2 129 --ki;
payarito32 0:7853369d3ed2 130 lcd.locate(3,1);
payarito32 0:7853369d3ed2 131 lcd.printf(" ");
payarito32 0:7853369d3ed2 132 lcd.locate(3,1);
payarito32 0:7853369d3ed2 133 lcd.printf("%d", ki);
payarito32 0:7853369d3ed2 134 }
payarito32 0:7853369d3ed2 135 }
payarito32 0:7853369d3ed2 136 if (p==4)
payarito32 0:7853369d3ed2 137 {
payarito32 0:7853369d3ed2 138 if (kd==0) // no mostrar nada
payarito32 0:7853369d3ed2 139 {
payarito32 0:7853369d3ed2 140 }
payarito32 0:7853369d3ed2 141 else
payarito32 0:7853369d3ed2 142 {
payarito32 0:7853369d3ed2 143 --kd;
payarito32 0:7853369d3ed2 144 lcd.locate(11,1);
payarito32 0:7853369d3ed2 145 lcd.printf(" ");
payarito32 0:7853369d3ed2 146 lcd.locate(11,1);
payarito32 0:7853369d3ed2 147 lcd.printf("%d", kd);
payarito32 0:7853369d3ed2 148 }
payarito32 0:7853369d3ed2 149 }
payarito32 0:7853369d3ed2 150 }
payarito32 0:7853369d3ed2 151
payarito32 0:7853369d3ed2 152 if (button3.falling())
payarito32 0:7853369d3ed2 153 {
payarito32 0:7853369d3ed2 154
payarito32 0:7853369d3ed2 155 for(i=1; i<= 1000; ++i){ //ONDA CUADRADA, OSCILACIONES A 10 KHZ.... A VER SI FUNCIONA
payarito32 0:7853369d3ed2 156 sound = 0;
payarito32 0:7853369d3ed2 157 wait(0.00019); // Medio ciclo de dureza Arriba
payarito32 0:7853369d3ed2 158 sound=1;
payarito32 0:7853369d3ed2 159 wait(0.00001); // Medio ciclo Abajo
payarito32 0:7853369d3ed2 160 }
payarito32 0:7853369d3ed2 161 //led3 =!led3;
payarito32 0:7853369d3ed2 162 //sound = 3.2;
payarito32 0:7853369d3ed2 163 //wait(0.2);
payarito32 0:7853369d3ed2 164 //sound = 0;
payarito32 0:7853369d3ed2 165 if (p==1)
payarito32 0:7853369d3ed2 166
payarito32 0:7853369d3ed2 167 {
payarito32 0:7853369d3ed2 168 ++p;
payarito32 0:7853369d3ed2 169 lcd.locate(11,0);
payarito32 0:7853369d3ed2 170 lcd.printf("%d", kp);
payarito32 0:7853369d3ed2 171
payarito32 0:7853369d3ed2 172
payarito32 0:7853369d3ed2 173 }
payarito32 0:7853369d3ed2 174 else if (p==2)
payarito32 0:7853369d3ed2 175 {
payarito32 0:7853369d3ed2 176 ++p;
payarito32 0:7853369d3ed2 177 lcd.locate(3,1);
payarito32 0:7853369d3ed2 178 lcd.printf("%d", ki);
payarito32 0:7853369d3ed2 179 lcd.locate(3,1);
payarito32 0:7853369d3ed2 180
payarito32 0:7853369d3ed2 181 }
payarito32 0:7853369d3ed2 182 else if (p==3)
payarito32 0:7853369d3ed2 183 {
payarito32 0:7853369d3ed2 184 ++p;
payarito32 0:7853369d3ed2 185 lcd.locate(11,1);
payarito32 0:7853369d3ed2 186 lcd.printf("%d", kd);
payarito32 0:7853369d3ed2 187 }
payarito32 0:7853369d3ed2 188 else if (p==4)
payarito32 0:7853369d3ed2 189 {
payarito32 0:7853369d3ed2 190 p=1;
payarito32 0:7853369d3ed2 191 lcd.locate(3,0);
payarito32 0:7853369d3ed2 192 lcd.printf("%d", sp);
payarito32 0:7853369d3ed2 193
payarito32 0:7853369d3ed2 194
payarito32 0:7853369d3ed2 195 }
payarito32 0:7853369d3ed2 196 }
payarito32 0:7853369d3ed2 197 }
payarito32 0:7853369d3ed2 198 }
payarito32 0:7853369d3ed2 199