Juan Gonzalo Gutieerez
/
tareaunopulsadores
tarea uno , pulsadores
Fork of Tarea1 by
main.cpp@0:82e4377469f8, 2013-11-15 (annotated)
- Committer:
- avallejopo
- Date:
- Fri Nov 15 17:01:23 2013 +0000
- Revision:
- 0:82e4377469f8
Parametros PID
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
avallejopo | 0:82e4377469f8 | 1 | #include "mbed.h" |
avallejopo | 0:82e4377469f8 | 2 | #include "DebouncedIn.h" |
avallejopo | 0:82e4377469f8 | 3 | #include "TextLCD.h" |
avallejopo | 0:82e4377469f8 | 4 | |
avallejopo | 0:82e4377469f8 | 5 | AnalogIn Vin(PTC2); |
avallejopo | 0:82e4377469f8 | 6 | TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7 |
avallejopo | 0:82e4377469f8 | 7 | |
avallejopo | 0:82e4377469f8 | 8 | DigitalOut led1(LED1); |
avallejopo | 0:82e4377469f8 | 9 | DigitalOut led2(LED2); |
avallejopo | 0:82e4377469f8 | 10 | DigitalOut led3(LED3); |
avallejopo | 0:82e4377469f8 | 11 | DebouncedIn button1(PTC12); |
avallejopo | 0:82e4377469f8 | 12 | DebouncedIn button2(PTC13); |
avallejopo | 0:82e4377469f8 | 13 | DebouncedIn button3(PTC16); |
avallejopo | 0:82e4377469f8 | 14 | |
avallejopo | 0:82e4377469f8 | 15 | int C1=0x0F; |
avallejopo | 0:82e4377469f8 | 16 | int spnum=0,kinum=0,kpnum=0,kdnum=0,pos=1; |
avallejopo | 0:82e4377469f8 | 17 | |
avallejopo | 0:82e4377469f8 | 18 | int main() |
avallejopo | 0:82e4377469f8 | 19 | { |
avallejopo | 0:82e4377469f8 | 20 | lcd.cls(); // Borrar Pantalla |
avallejopo | 0:82e4377469f8 | 21 | lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD |
avallejopo | 0:82e4377469f8 | 22 | |
avallejopo | 0:82e4377469f8 | 23 | lcd.locate(8,0); lcd.printf("Kp=%d",kpnum); |
avallejopo | 0:82e4377469f8 | 24 | lcd.locate(0,1); lcd.printf("Ki=%d",kinum); |
avallejopo | 0:82e4377469f8 | 25 | lcd.locate(8,1); lcd.printf("Kd=%d",kdnum); |
avallejopo | 0:82e4377469f8 | 26 | lcd.locate(0,0); lcd.printf("Sp=%d",spnum); |
avallejopo | 0:82e4377469f8 | 27 | |
avallejopo | 0:82e4377469f8 | 28 | while(1) |
avallejopo | 0:82e4377469f8 | 29 | { |
avallejopo | 0:82e4377469f8 | 30 | if (button1.falling()) |
avallejopo | 0:82e4377469f8 | 31 | { |
avallejopo | 0:82e4377469f8 | 32 | led1 =!led1; |
avallejopo | 0:82e4377469f8 | 33 | if(pos==1) |
avallejopo | 0:82e4377469f8 | 34 | { |
avallejopo | 0:82e4377469f8 | 35 | spnum++; |
avallejopo | 0:82e4377469f8 | 36 | lcd.locate(3,0); lcd.printf("%d", spnum); |
avallejopo | 0:82e4377469f8 | 37 | } |
avallejopo | 0:82e4377469f8 | 38 | else if(pos==2) |
avallejopo | 0:82e4377469f8 | 39 | { |
avallejopo | 0:82e4377469f8 | 40 | kpnum++; |
avallejopo | 0:82e4377469f8 | 41 | lcd.locate(11,0); lcd.printf("%d", kpnum); |
avallejopo | 0:82e4377469f8 | 42 | } |
avallejopo | 0:82e4377469f8 | 43 | else if(pos==3) |
avallejopo | 0:82e4377469f8 | 44 | { |
avallejopo | 0:82e4377469f8 | 45 | kinum++; |
avallejopo | 0:82e4377469f8 | 46 | lcd.locate(3,1); lcd.printf("%d", kinum); |
avallejopo | 0:82e4377469f8 | 47 | } |
avallejopo | 0:82e4377469f8 | 48 | else if(pos==4) |
avallejopo | 0:82e4377469f8 | 49 | { |
avallejopo | 0:82e4377469f8 | 50 | kdnum++; |
avallejopo | 0:82e4377469f8 | 51 | lcd.locate(11,1); lcd.printf("%d", kdnum); |
avallejopo | 0:82e4377469f8 | 52 | } |
avallejopo | 0:82e4377469f8 | 53 | } |
avallejopo | 0:82e4377469f8 | 54 | |
avallejopo | 0:82e4377469f8 | 55 | if (button2.falling()) |
avallejopo | 0:82e4377469f8 | 56 | { |
avallejopo | 0:82e4377469f8 | 57 | led2 =!led2; |
avallejopo | 0:82e4377469f8 | 58 | if(pos==1) |
avallejopo | 0:82e4377469f8 | 59 | { |
avallejopo | 0:82e4377469f8 | 60 | if(spnum==0) |
avallejopo | 0:82e4377469f8 | 61 | { |
avallejopo | 0:82e4377469f8 | 62 | //No ocurre nada |
avallejopo | 0:82e4377469f8 | 63 | } |
avallejopo | 0:82e4377469f8 | 64 | else |
avallejopo | 0:82e4377469f8 | 65 | { |
avallejopo | 0:82e4377469f8 | 66 | spnum--; |
avallejopo | 0:82e4377469f8 | 67 | lcd.locate(3,0); lcd.printf(" "); |
avallejopo | 0:82e4377469f8 | 68 | lcd.locate(3,0); |
avallejopo | 0:82e4377469f8 | 69 | lcd.printf("%d", spnum); |
avallejopo | 0:82e4377469f8 | 70 | } |
avallejopo | 0:82e4377469f8 | 71 | } |
avallejopo | 0:82e4377469f8 | 72 | else if(pos==2) |
avallejopo | 0:82e4377469f8 | 73 | { |
avallejopo | 0:82e4377469f8 | 74 | if(kpnum==0) |
avallejopo | 0:82e4377469f8 | 75 | { |
avallejopo | 0:82e4377469f8 | 76 | //No ocurre nada |
avallejopo | 0:82e4377469f8 | 77 | } |
avallejopo | 0:82e4377469f8 | 78 | else |
avallejopo | 0:82e4377469f8 | 79 | { |
avallejopo | 0:82e4377469f8 | 80 | kpnum--; |
avallejopo | 0:82e4377469f8 | 81 | lcd.locate(11,0); lcd.printf(" "); |
avallejopo | 0:82e4377469f8 | 82 | lcd.locate(11,0); |
avallejopo | 0:82e4377469f8 | 83 | lcd.printf("%d", kpnum); |
avallejopo | 0:82e4377469f8 | 84 | } |
avallejopo | 0:82e4377469f8 | 85 | } |
avallejopo | 0:82e4377469f8 | 86 | else if(pos==3) |
avallejopo | 0:82e4377469f8 | 87 | { |
avallejopo | 0:82e4377469f8 | 88 | if(kinum==0) |
avallejopo | 0:82e4377469f8 | 89 | { |
avallejopo | 0:82e4377469f8 | 90 | //No ocurre nada |
avallejopo | 0:82e4377469f8 | 91 | } |
avallejopo | 0:82e4377469f8 | 92 | else |
avallejopo | 0:82e4377469f8 | 93 | { |
avallejopo | 0:82e4377469f8 | 94 | kinum--; |
avallejopo | 0:82e4377469f8 | 95 | lcd.locate(3,1); lcd.printf(" "); |
avallejopo | 0:82e4377469f8 | 96 | lcd.locate(3,1); |
avallejopo | 0:82e4377469f8 | 97 | lcd.printf("%d", kinum); |
avallejopo | 0:82e4377469f8 | 98 | } |
avallejopo | 0:82e4377469f8 | 99 | } |
avallejopo | 0:82e4377469f8 | 100 | else if(pos==4) |
avallejopo | 0:82e4377469f8 | 101 | { |
avallejopo | 0:82e4377469f8 | 102 | if(kdnum==0) |
avallejopo | 0:82e4377469f8 | 103 | { |
avallejopo | 0:82e4377469f8 | 104 | //No ocurre nada |
avallejopo | 0:82e4377469f8 | 105 | } |
avallejopo | 0:82e4377469f8 | 106 | else |
avallejopo | 0:82e4377469f8 | 107 | { |
avallejopo | 0:82e4377469f8 | 108 | kdnum--; |
avallejopo | 0:82e4377469f8 | 109 | lcd.locate(11,1); lcd.printf(" "); |
avallejopo | 0:82e4377469f8 | 110 | lcd.locate(11,1); |
avallejopo | 0:82e4377469f8 | 111 | lcd.printf("%d", kdnum); |
avallejopo | 0:82e4377469f8 | 112 | } |
avallejopo | 0:82e4377469f8 | 113 | } |
avallejopo | 0:82e4377469f8 | 114 | } |
avallejopo | 0:82e4377469f8 | 115 | |
avallejopo | 0:82e4377469f8 | 116 | if (button3.falling()) |
avallejopo | 0:82e4377469f8 | 117 | { |
avallejopo | 0:82e4377469f8 | 118 | led3 =!led3; |
avallejopo | 0:82e4377469f8 | 119 | if(pos==4) |
avallejopo | 0:82e4377469f8 | 120 | { |
avallejopo | 0:82e4377469f8 | 121 | pos=1; |
avallejopo | 0:82e4377469f8 | 122 | lcd.locate(3,0);lcd.printf("%d", spnum); |
avallejopo | 0:82e4377469f8 | 123 | } |
avallejopo | 0:82e4377469f8 | 124 | else if (pos==1) |
avallejopo | 0:82e4377469f8 | 125 | { |
avallejopo | 0:82e4377469f8 | 126 | pos++; |
avallejopo | 0:82e4377469f8 | 127 | lcd.locate(11,0);lcd.printf("%d", kpnum); |
avallejopo | 0:82e4377469f8 | 128 | } |
avallejopo | 0:82e4377469f8 | 129 | else if(pos==2){ |
avallejopo | 0:82e4377469f8 | 130 | pos++; |
avallejopo | 0:82e4377469f8 | 131 | lcd.locate(3,1);lcd.printf("%d", kinum); |
avallejopo | 0:82e4377469f8 | 132 | } |
avallejopo | 0:82e4377469f8 | 133 | else if(pos==3){ |
avallejopo | 0:82e4377469f8 | 134 | pos++; |
avallejopo | 0:82e4377469f8 | 135 | lcd.locate(11,1);lcd.printf("%d", kdnum); |
avallejopo | 0:82e4377469f8 | 136 | } |
avallejopo | 0:82e4377469f8 | 137 | |
avallejopo | 0:82e4377469f8 | 138 | } |
avallejopo | 0:82e4377469f8 | 139 | } |
avallejopo | 0:82e4377469f8 | 140 | } |