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.
Revision 0:29bf6bfc3778, committed 2013-12-03
- Comitter:
- euduardo_guz
- Date:
- Tue Dec 03 03:38:44 2013 +0000
- Commit message:
- baston
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 29bf6bfc3778 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Dec 03 03:38:44 2013 +0000 @@ -0,0 +1,239 @@ +#include "mbed.h" + + + +DigitalOut myled(LED1); + +int verde_estatico(); +int verde_intermitente(); +int amarillo(); +int rojo_estatico(); +int rojo_intermitente(); +int rojo_amarillo(); +int var_rojo=0; +int var_interm=1; +DigitalIn senal(PTE29); //NOT_RBPU_bit +DigitalOut grabador1(PTE2); //portd.f0 +DigitalOut grabador2(PTE20); //portd.f1 + +int main() { + +int r; +int x=1; +//PORTC=0; +//PORTD=0; +//TRISD=0; +//TRISC=0; +//NOT_RBPU_bit=0; +//portc.f5=1; + +DigitalOut led0(PTE21); //portc.f0 +DigitalOut led1(PTE22); //portc.f1 +DigitalOut led2(PTE23); //portc.f2 + +DigitalOut led5(PTE5); //portc.f5 +DigitalOut led3(PTE3); //portc.f3 +DigitalOut led4(PTE4); //portc.f4 + +//DigitalOut grabador1(PTE2); //portd.f0 +//DigitalOut grabador2(PTE20); //portd.f1 + +//DigitalIn senal(PTE29); //NOT_RBPU_bit + +//senal=1; +while(1) +{ + + //semaforo principal + led0=1; + verde_estatico(); + led0=0; + verde_intermitente(); + led0=1; + verde_intermitente(); + led0=0; + verde_intermitente(); + led0=1; + verde_intermitente(); + led0=0; + verde_intermitente(); + led0=1; + verde_intermitente(); + var_interm=1; + led0=0; + led1=1; + amarillo(); + led1=0; + led2=1; + + //semaforo secundario + led5=0; + led3=1; + rojo_estatico(); + led3=0; + rojo_intermitente(); + led3=1; + rojo_intermitente(); + led3=0; + rojo_intermitente(); + led3=1; + rojo_intermitente(); + led3=0; + rojo_intermitente(); + led3=1; + rojo_intermitente(); + var_interm=1; + led3=0; + led4=1; + rojo_amarillo(); + led4=0; + led5=1; + led2=0; +} +} + + +int verde_estatico() +{ +int r; +int x=1; + for(r=0; r<=50; r++) + { + if(var_rojo==1) // señal de activacion "desde rojo" + { + grabador1=1; // pulso a sonido ~verde~ + wait(0.4); //-----cambiar a 200 o 250 + grabador1=0; + var_rojo=0; + } + if(senal==0 && x==1) // activacion por baston en verde estatico, o señal de activacion "desde rojo" + { + grabador1=1; //pulso a sonido ~verde~ + wait(0.4); //-----cambiar a 200 o 250 + grabador1=0; + x=0; // evitar repeticiones de pulso si el baston se deja colocado en el sensor + } + if(senal==1) // si no hay baston + { + } + wait(0.1); + } + x=1; +} + +int verde_intermitente() +{ +int r; +int x=1; + + for(r=0; r<=4; r++) + { + if(senal==0 && var_interm==1) // activacion por baston en verde intermitente + { + grabador2=1; //pulso a sonido ~rojo~ + wait(0.4); //------cambiar a 200 o 250 + grabador2=0; + x=0; + var_rojo=1; //variable para enviar señal de activacion "desde rojo" + var_interm=0; //no repetir pulso en las demas funciones "intermitente" + } + if(senal==1) // si no hay baston + { + } + wait(0.4); + } + x=1; +} + +int amarillo() +{ +int r; +int x=1; + for(r=0; r<=15; r++) + { + if(senal==0 && x==1) // activacion por baston en amarillo + { + grabador2=1; // pulso a sonido ~rojo~ + wait(0.4); //------cambiar a 200 o 250 + grabador2=0; + x=0; + var_rojo=1; //variable para enviar señal de activacion "desde rojo" + } + if(senal==1) // si no hay baston + { + } + wait(0.1); + } + x=1; +} + +int rojo_estatico() +{ +int r; +int x=1; + for(r=0; r<=50; r++) + { + if(senal==0 && x==1) // activacion por baston en rojo (verde estatico en semaforo secundario) + { + grabador2=1; // pulso a sonido ~rojo~ + wait(0.4); //-------cambiar a 200 o 250 + grabador2=0; + x=0; + var_rojo=1; //variable para enviar señal de activacion "desde rojo" + } + if(senal==1) // si no hay baston + { + } + wait(0.1); + } + x=1; +} + +int rojo_intermitente() +{ +int r; +int x=1; + for(r=0; r<=4; r++) + { + if(senal==0 && var_interm==1) // activacion por baston en rojo (verde intermitente en semaforo secundario) + { + grabador2=1; // pulso a sonido ~rojo~ + wait(0.4); //-------cambiar a 200 o 250 + grabador2=0; + x=0; + var_rojo=1; //variable para enviar señal de activacion "desde rojo" + var_interm=0; //no repetir pulso en las demas funciones "intermitente" + } + if(senal==1) // si no hay baston + { + } + wait(0.1); + } + x=1; +} + +int rojo_amarillo() +{ +int r; +int x=1; + for(r=0; r<=15; r++) + { + if(senal==0 && x==1) // activacion por baston en rojo (amarillo en semaforo secundario) + { + grabador2=1; // pulso a sonido ~rojo~ + wait(0.4); //-------cambiar a 200 o 250 + grabador2=0; + // delay_ms(1200); //---------------------------------------------------------------/ + //portd.f1=1; // / + //delay_ms(400); // pulso de apagado, para evitar problema de doble sonido / + //portd.f1=0; // ---------------------------------------------------------------/ + x=0; + var_rojo=1; //variable para enviar señal de activacion "desde rojo" + } + if(senal==1) // si no hay baston + { + } + wait(0.1); + } + x=1; +} \ No newline at end of file
diff -r 000000000000 -r 29bf6bfc3778 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Dec 03 03:38:44 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/a9913a65894f \ No newline at end of file