Eduardo Guzman / Mbed 2 deprecated proyecto

Dependencies:   mbed

Revision:
0:29bf6bfc3778
--- /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