Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:29bf6bfc3778, 2013-12-03 (annotated)
- Committer:
- euduardo_guz
- Date:
- Tue Dec 03 03:38:44 2013 +0000
- Revision:
- 0:29bf6bfc3778
baston
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| euduardo_guz | 0:29bf6bfc3778 | 1 | #include "mbed.h" |
| euduardo_guz | 0:29bf6bfc3778 | 2 | |
| euduardo_guz | 0:29bf6bfc3778 | 3 | |
| euduardo_guz | 0:29bf6bfc3778 | 4 | |
| euduardo_guz | 0:29bf6bfc3778 | 5 | DigitalOut myled(LED1); |
| euduardo_guz | 0:29bf6bfc3778 | 6 | |
| euduardo_guz | 0:29bf6bfc3778 | 7 | int verde_estatico(); |
| euduardo_guz | 0:29bf6bfc3778 | 8 | int verde_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 9 | int amarillo(); |
| euduardo_guz | 0:29bf6bfc3778 | 10 | int rojo_estatico(); |
| euduardo_guz | 0:29bf6bfc3778 | 11 | int rojo_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 12 | int rojo_amarillo(); |
| euduardo_guz | 0:29bf6bfc3778 | 13 | int var_rojo=0; |
| euduardo_guz | 0:29bf6bfc3778 | 14 | int var_interm=1; |
| euduardo_guz | 0:29bf6bfc3778 | 15 | DigitalIn senal(PTE29); //NOT_RBPU_bit |
| euduardo_guz | 0:29bf6bfc3778 | 16 | DigitalOut grabador1(PTE2); //portd.f0 |
| euduardo_guz | 0:29bf6bfc3778 | 17 | DigitalOut grabador2(PTE20); //portd.f1 |
| euduardo_guz | 0:29bf6bfc3778 | 18 | |
| euduardo_guz | 0:29bf6bfc3778 | 19 | int main() { |
| euduardo_guz | 0:29bf6bfc3778 | 20 | |
| euduardo_guz | 0:29bf6bfc3778 | 21 | int r; |
| euduardo_guz | 0:29bf6bfc3778 | 22 | int x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 23 | //PORTC=0; |
| euduardo_guz | 0:29bf6bfc3778 | 24 | //PORTD=0; |
| euduardo_guz | 0:29bf6bfc3778 | 25 | //TRISD=0; |
| euduardo_guz | 0:29bf6bfc3778 | 26 | //TRISC=0; |
| euduardo_guz | 0:29bf6bfc3778 | 27 | //NOT_RBPU_bit=0; |
| euduardo_guz | 0:29bf6bfc3778 | 28 | //portc.f5=1; |
| euduardo_guz | 0:29bf6bfc3778 | 29 | |
| euduardo_guz | 0:29bf6bfc3778 | 30 | DigitalOut led0(PTE21); //portc.f0 |
| euduardo_guz | 0:29bf6bfc3778 | 31 | DigitalOut led1(PTE22); //portc.f1 |
| euduardo_guz | 0:29bf6bfc3778 | 32 | DigitalOut led2(PTE23); //portc.f2 |
| euduardo_guz | 0:29bf6bfc3778 | 33 | |
| euduardo_guz | 0:29bf6bfc3778 | 34 | DigitalOut led5(PTE5); //portc.f5 |
| euduardo_guz | 0:29bf6bfc3778 | 35 | DigitalOut led3(PTE3); //portc.f3 |
| euduardo_guz | 0:29bf6bfc3778 | 36 | DigitalOut led4(PTE4); //portc.f4 |
| euduardo_guz | 0:29bf6bfc3778 | 37 | |
| euduardo_guz | 0:29bf6bfc3778 | 38 | //DigitalOut grabador1(PTE2); //portd.f0 |
| euduardo_guz | 0:29bf6bfc3778 | 39 | //DigitalOut grabador2(PTE20); //portd.f1 |
| euduardo_guz | 0:29bf6bfc3778 | 40 | |
| euduardo_guz | 0:29bf6bfc3778 | 41 | //DigitalIn senal(PTE29); //NOT_RBPU_bit |
| euduardo_guz | 0:29bf6bfc3778 | 42 | |
| euduardo_guz | 0:29bf6bfc3778 | 43 | //senal=1; |
| euduardo_guz | 0:29bf6bfc3778 | 44 | while(1) |
| euduardo_guz | 0:29bf6bfc3778 | 45 | { |
| euduardo_guz | 0:29bf6bfc3778 | 46 | |
| euduardo_guz | 0:29bf6bfc3778 | 47 | //semaforo principal |
| euduardo_guz | 0:29bf6bfc3778 | 48 | led0=1; |
| euduardo_guz | 0:29bf6bfc3778 | 49 | verde_estatico(); |
| euduardo_guz | 0:29bf6bfc3778 | 50 | led0=0; |
| euduardo_guz | 0:29bf6bfc3778 | 51 | verde_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 52 | led0=1; |
| euduardo_guz | 0:29bf6bfc3778 | 53 | verde_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 54 | led0=0; |
| euduardo_guz | 0:29bf6bfc3778 | 55 | verde_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 56 | led0=1; |
| euduardo_guz | 0:29bf6bfc3778 | 57 | verde_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 58 | led0=0; |
| euduardo_guz | 0:29bf6bfc3778 | 59 | verde_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 60 | led0=1; |
| euduardo_guz | 0:29bf6bfc3778 | 61 | verde_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 62 | var_interm=1; |
| euduardo_guz | 0:29bf6bfc3778 | 63 | led0=0; |
| euduardo_guz | 0:29bf6bfc3778 | 64 | led1=1; |
| euduardo_guz | 0:29bf6bfc3778 | 65 | amarillo(); |
| euduardo_guz | 0:29bf6bfc3778 | 66 | led1=0; |
| euduardo_guz | 0:29bf6bfc3778 | 67 | led2=1; |
| euduardo_guz | 0:29bf6bfc3778 | 68 | |
| euduardo_guz | 0:29bf6bfc3778 | 69 | //semaforo secundario |
| euduardo_guz | 0:29bf6bfc3778 | 70 | led5=0; |
| euduardo_guz | 0:29bf6bfc3778 | 71 | led3=1; |
| euduardo_guz | 0:29bf6bfc3778 | 72 | rojo_estatico(); |
| euduardo_guz | 0:29bf6bfc3778 | 73 | led3=0; |
| euduardo_guz | 0:29bf6bfc3778 | 74 | rojo_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 75 | led3=1; |
| euduardo_guz | 0:29bf6bfc3778 | 76 | rojo_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 77 | led3=0; |
| euduardo_guz | 0:29bf6bfc3778 | 78 | rojo_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 79 | led3=1; |
| euduardo_guz | 0:29bf6bfc3778 | 80 | rojo_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 81 | led3=0; |
| euduardo_guz | 0:29bf6bfc3778 | 82 | rojo_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 83 | led3=1; |
| euduardo_guz | 0:29bf6bfc3778 | 84 | rojo_intermitente(); |
| euduardo_guz | 0:29bf6bfc3778 | 85 | var_interm=1; |
| euduardo_guz | 0:29bf6bfc3778 | 86 | led3=0; |
| euduardo_guz | 0:29bf6bfc3778 | 87 | led4=1; |
| euduardo_guz | 0:29bf6bfc3778 | 88 | rojo_amarillo(); |
| euduardo_guz | 0:29bf6bfc3778 | 89 | led4=0; |
| euduardo_guz | 0:29bf6bfc3778 | 90 | led5=1; |
| euduardo_guz | 0:29bf6bfc3778 | 91 | led2=0; |
| euduardo_guz | 0:29bf6bfc3778 | 92 | } |
| euduardo_guz | 0:29bf6bfc3778 | 93 | } |
| euduardo_guz | 0:29bf6bfc3778 | 94 | |
| euduardo_guz | 0:29bf6bfc3778 | 95 | |
| euduardo_guz | 0:29bf6bfc3778 | 96 | int verde_estatico() |
| euduardo_guz | 0:29bf6bfc3778 | 97 | { |
| euduardo_guz | 0:29bf6bfc3778 | 98 | int r; |
| euduardo_guz | 0:29bf6bfc3778 | 99 | int x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 100 | for(r=0; r<=50; r++) |
| euduardo_guz | 0:29bf6bfc3778 | 101 | { |
| euduardo_guz | 0:29bf6bfc3778 | 102 | if(var_rojo==1) // señal de activacion "desde rojo" |
| euduardo_guz | 0:29bf6bfc3778 | 103 | { |
| euduardo_guz | 0:29bf6bfc3778 | 104 | grabador1=1; // pulso a sonido ~verde~ |
| euduardo_guz | 0:29bf6bfc3778 | 105 | wait(0.4); //-----cambiar a 200 o 250 |
| euduardo_guz | 0:29bf6bfc3778 | 106 | grabador1=0; |
| euduardo_guz | 0:29bf6bfc3778 | 107 | var_rojo=0; |
| euduardo_guz | 0:29bf6bfc3778 | 108 | } |
| euduardo_guz | 0:29bf6bfc3778 | 109 | if(senal==0 && x==1) // activacion por baston en verde estatico, o señal de activacion "desde rojo" |
| euduardo_guz | 0:29bf6bfc3778 | 110 | { |
| euduardo_guz | 0:29bf6bfc3778 | 111 | grabador1=1; //pulso a sonido ~verde~ |
| euduardo_guz | 0:29bf6bfc3778 | 112 | wait(0.4); //-----cambiar a 200 o 250 |
| euduardo_guz | 0:29bf6bfc3778 | 113 | grabador1=0; |
| euduardo_guz | 0:29bf6bfc3778 | 114 | x=0; // evitar repeticiones de pulso si el baston se deja colocado en el sensor |
| euduardo_guz | 0:29bf6bfc3778 | 115 | } |
| euduardo_guz | 0:29bf6bfc3778 | 116 | if(senal==1) // si no hay baston |
| euduardo_guz | 0:29bf6bfc3778 | 117 | { |
| euduardo_guz | 0:29bf6bfc3778 | 118 | } |
| euduardo_guz | 0:29bf6bfc3778 | 119 | wait(0.1); |
| euduardo_guz | 0:29bf6bfc3778 | 120 | } |
| euduardo_guz | 0:29bf6bfc3778 | 121 | x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 122 | } |
| euduardo_guz | 0:29bf6bfc3778 | 123 | |
| euduardo_guz | 0:29bf6bfc3778 | 124 | int verde_intermitente() |
| euduardo_guz | 0:29bf6bfc3778 | 125 | { |
| euduardo_guz | 0:29bf6bfc3778 | 126 | int r; |
| euduardo_guz | 0:29bf6bfc3778 | 127 | int x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 128 | |
| euduardo_guz | 0:29bf6bfc3778 | 129 | for(r=0; r<=4; r++) |
| euduardo_guz | 0:29bf6bfc3778 | 130 | { |
| euduardo_guz | 0:29bf6bfc3778 | 131 | if(senal==0 && var_interm==1) // activacion por baston en verde intermitente |
| euduardo_guz | 0:29bf6bfc3778 | 132 | { |
| euduardo_guz | 0:29bf6bfc3778 | 133 | grabador2=1; //pulso a sonido ~rojo~ |
| euduardo_guz | 0:29bf6bfc3778 | 134 | wait(0.4); //------cambiar a 200 o 250 |
| euduardo_guz | 0:29bf6bfc3778 | 135 | grabador2=0; |
| euduardo_guz | 0:29bf6bfc3778 | 136 | x=0; |
| euduardo_guz | 0:29bf6bfc3778 | 137 | var_rojo=1; //variable para enviar señal de activacion "desde rojo" |
| euduardo_guz | 0:29bf6bfc3778 | 138 | var_interm=0; //no repetir pulso en las demas funciones "intermitente" |
| euduardo_guz | 0:29bf6bfc3778 | 139 | } |
| euduardo_guz | 0:29bf6bfc3778 | 140 | if(senal==1) // si no hay baston |
| euduardo_guz | 0:29bf6bfc3778 | 141 | { |
| euduardo_guz | 0:29bf6bfc3778 | 142 | } |
| euduardo_guz | 0:29bf6bfc3778 | 143 | wait(0.4); |
| euduardo_guz | 0:29bf6bfc3778 | 144 | } |
| euduardo_guz | 0:29bf6bfc3778 | 145 | x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 146 | } |
| euduardo_guz | 0:29bf6bfc3778 | 147 | |
| euduardo_guz | 0:29bf6bfc3778 | 148 | int amarillo() |
| euduardo_guz | 0:29bf6bfc3778 | 149 | { |
| euduardo_guz | 0:29bf6bfc3778 | 150 | int r; |
| euduardo_guz | 0:29bf6bfc3778 | 151 | int x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 152 | for(r=0; r<=15; r++) |
| euduardo_guz | 0:29bf6bfc3778 | 153 | { |
| euduardo_guz | 0:29bf6bfc3778 | 154 | if(senal==0 && x==1) // activacion por baston en amarillo |
| euduardo_guz | 0:29bf6bfc3778 | 155 | { |
| euduardo_guz | 0:29bf6bfc3778 | 156 | grabador2=1; // pulso a sonido ~rojo~ |
| euduardo_guz | 0:29bf6bfc3778 | 157 | wait(0.4); //------cambiar a 200 o 250 |
| euduardo_guz | 0:29bf6bfc3778 | 158 | grabador2=0; |
| euduardo_guz | 0:29bf6bfc3778 | 159 | x=0; |
| euduardo_guz | 0:29bf6bfc3778 | 160 | var_rojo=1; //variable para enviar señal de activacion "desde rojo" |
| euduardo_guz | 0:29bf6bfc3778 | 161 | } |
| euduardo_guz | 0:29bf6bfc3778 | 162 | if(senal==1) // si no hay baston |
| euduardo_guz | 0:29bf6bfc3778 | 163 | { |
| euduardo_guz | 0:29bf6bfc3778 | 164 | } |
| euduardo_guz | 0:29bf6bfc3778 | 165 | wait(0.1); |
| euduardo_guz | 0:29bf6bfc3778 | 166 | } |
| euduardo_guz | 0:29bf6bfc3778 | 167 | x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 168 | } |
| euduardo_guz | 0:29bf6bfc3778 | 169 | |
| euduardo_guz | 0:29bf6bfc3778 | 170 | int rojo_estatico() |
| euduardo_guz | 0:29bf6bfc3778 | 171 | { |
| euduardo_guz | 0:29bf6bfc3778 | 172 | int r; |
| euduardo_guz | 0:29bf6bfc3778 | 173 | int x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 174 | for(r=0; r<=50; r++) |
| euduardo_guz | 0:29bf6bfc3778 | 175 | { |
| euduardo_guz | 0:29bf6bfc3778 | 176 | if(senal==0 && x==1) // activacion por baston en rojo (verde estatico en semaforo secundario) |
| euduardo_guz | 0:29bf6bfc3778 | 177 | { |
| euduardo_guz | 0:29bf6bfc3778 | 178 | grabador2=1; // pulso a sonido ~rojo~ |
| euduardo_guz | 0:29bf6bfc3778 | 179 | wait(0.4); //-------cambiar a 200 o 250 |
| euduardo_guz | 0:29bf6bfc3778 | 180 | grabador2=0; |
| euduardo_guz | 0:29bf6bfc3778 | 181 | x=0; |
| euduardo_guz | 0:29bf6bfc3778 | 182 | var_rojo=1; //variable para enviar señal de activacion "desde rojo" |
| euduardo_guz | 0:29bf6bfc3778 | 183 | } |
| euduardo_guz | 0:29bf6bfc3778 | 184 | if(senal==1) // si no hay baston |
| euduardo_guz | 0:29bf6bfc3778 | 185 | { |
| euduardo_guz | 0:29bf6bfc3778 | 186 | } |
| euduardo_guz | 0:29bf6bfc3778 | 187 | wait(0.1); |
| euduardo_guz | 0:29bf6bfc3778 | 188 | } |
| euduardo_guz | 0:29bf6bfc3778 | 189 | x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 190 | } |
| euduardo_guz | 0:29bf6bfc3778 | 191 | |
| euduardo_guz | 0:29bf6bfc3778 | 192 | int rojo_intermitente() |
| euduardo_guz | 0:29bf6bfc3778 | 193 | { |
| euduardo_guz | 0:29bf6bfc3778 | 194 | int r; |
| euduardo_guz | 0:29bf6bfc3778 | 195 | int x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 196 | for(r=0; r<=4; r++) |
| euduardo_guz | 0:29bf6bfc3778 | 197 | { |
| euduardo_guz | 0:29bf6bfc3778 | 198 | if(senal==0 && var_interm==1) // activacion por baston en rojo (verde intermitente en semaforo secundario) |
| euduardo_guz | 0:29bf6bfc3778 | 199 | { |
| euduardo_guz | 0:29bf6bfc3778 | 200 | grabador2=1; // pulso a sonido ~rojo~ |
| euduardo_guz | 0:29bf6bfc3778 | 201 | wait(0.4); //-------cambiar a 200 o 250 |
| euduardo_guz | 0:29bf6bfc3778 | 202 | grabador2=0; |
| euduardo_guz | 0:29bf6bfc3778 | 203 | x=0; |
| euduardo_guz | 0:29bf6bfc3778 | 204 | var_rojo=1; //variable para enviar señal de activacion "desde rojo" |
| euduardo_guz | 0:29bf6bfc3778 | 205 | var_interm=0; //no repetir pulso en las demas funciones "intermitente" |
| euduardo_guz | 0:29bf6bfc3778 | 206 | } |
| euduardo_guz | 0:29bf6bfc3778 | 207 | if(senal==1) // si no hay baston |
| euduardo_guz | 0:29bf6bfc3778 | 208 | { |
| euduardo_guz | 0:29bf6bfc3778 | 209 | } |
| euduardo_guz | 0:29bf6bfc3778 | 210 | wait(0.1); |
| euduardo_guz | 0:29bf6bfc3778 | 211 | } |
| euduardo_guz | 0:29bf6bfc3778 | 212 | x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 213 | } |
| euduardo_guz | 0:29bf6bfc3778 | 214 | |
| euduardo_guz | 0:29bf6bfc3778 | 215 | int rojo_amarillo() |
| euduardo_guz | 0:29bf6bfc3778 | 216 | { |
| euduardo_guz | 0:29bf6bfc3778 | 217 | int r; |
| euduardo_guz | 0:29bf6bfc3778 | 218 | int x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 219 | for(r=0; r<=15; r++) |
| euduardo_guz | 0:29bf6bfc3778 | 220 | { |
| euduardo_guz | 0:29bf6bfc3778 | 221 | if(senal==0 && x==1) // activacion por baston en rojo (amarillo en semaforo secundario) |
| euduardo_guz | 0:29bf6bfc3778 | 222 | { |
| euduardo_guz | 0:29bf6bfc3778 | 223 | grabador2=1; // pulso a sonido ~rojo~ |
| euduardo_guz | 0:29bf6bfc3778 | 224 | wait(0.4); //-------cambiar a 200 o 250 |
| euduardo_guz | 0:29bf6bfc3778 | 225 | grabador2=0; |
| euduardo_guz | 0:29bf6bfc3778 | 226 | // delay_ms(1200); //---------------------------------------------------------------/ |
| euduardo_guz | 0:29bf6bfc3778 | 227 | //portd.f1=1; // / |
| euduardo_guz | 0:29bf6bfc3778 | 228 | //delay_ms(400); // pulso de apagado, para evitar problema de doble sonido / |
| euduardo_guz | 0:29bf6bfc3778 | 229 | //portd.f1=0; // ---------------------------------------------------------------/ |
| euduardo_guz | 0:29bf6bfc3778 | 230 | x=0; |
| euduardo_guz | 0:29bf6bfc3778 | 231 | var_rojo=1; //variable para enviar señal de activacion "desde rojo" |
| euduardo_guz | 0:29bf6bfc3778 | 232 | } |
| euduardo_guz | 0:29bf6bfc3778 | 233 | if(senal==1) // si no hay baston |
| euduardo_guz | 0:29bf6bfc3778 | 234 | { |
| euduardo_guz | 0:29bf6bfc3778 | 235 | } |
| euduardo_guz | 0:29bf6bfc3778 | 236 | wait(0.1); |
| euduardo_guz | 0:29bf6bfc3778 | 237 | } |
| euduardo_guz | 0:29bf6bfc3778 | 238 | x=1; |
| euduardo_guz | 0:29bf6bfc3778 | 239 | } |