Página principal

Arduino
Visualino
Semáforo

xsetaseta@gmail.com


Visualino es una curiosa aplicación para hacer programas de arduino en forma gráfica. Es un programa creado por  Victor R. Ruiz.
http://www.visualino.net/
Después de haber probado Visualino para hacer una luz parpadeante, sentí la necesidad de hacer algo mas complejo.
Me propuse realizar un semáforo sencillo en el tiempo mas rápido posible (menos de 30 minutos).
Lo primero que debe hacer un programador es coger un lápiz y un papel y realizar un organigrama.
En este organigrama se planteará la estructura del programa con sus variables.
Todos sabemos que cuando nos sentamos al ordenador aparecen cosa que no habíamos previsto, pero os aseguro que facilita y ahora muchos minutos de teclear si hemos hecho un planteamiento antes.
No os enseño mi organigrama debido que es algo muy personal que normalmente solo entiende el que lo realizó, además contiene muchos tachones.

Esquema.


Montaje eléctrico.

Vídeo de la realización del programa

Vídeo funcionando


/***   Global variables   ***/
int VERDE=1;
int VERDEP=2;
int AMARILLO=2;
int ROJO=3;
int z=0;
int PARPADEO=300;

/***   Function declaration   ***/
void Semaforo (int color);
void Peaton (int color);

void setup()
{
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  Peaton(ROJO);

}

void loop()
{
    Semaforo(AMARILLO);
    delay(5000);
    Semaforo(ROJO);
    delay(1000);
    Peaton(VERDE);
    delay(10000);
    Peaton(VERDEP);
    Peaton(ROJO);
    delay(1000);
    Semaforo(VERDE);
    delay(20000);

}

/***   Function definition   ***/
void Semaforo (int color) {
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  if (color == 1) {
    digitalWrite(2,HIGH);
   }
  if (color == 2) {
    digitalWrite(3,HIGH);
   }
  if (color == 3) {
    digitalWrite(4,HIGH);
   }
 }
void Peaton (int color) {
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  if (color == 1) {
    digitalWrite(5,HIGH);
   }
  if (color == 3) {
    digitalWrite(6,HIGH);
   }
  if (color == 2) {
    for (z = 0; z <= 10; z++) {
      digitalWrite(5,HIGH);
      delay(PARPADEO);
      digitalWrite(5,LOW);
      delay(PARPADEO);
    }
   }
 }

Nota: Después de realizar el programa gráficamente con Visualino, lo realice  manualmente.
Está claro que al programarlo manualmente lo optimizas mucho mejor, empleando #define conseguí reducir su tamaño.
Visualino no es programa perfecto, le faltan muchas cosas, pero personalmente me gusta bastante.
Gracias Victor R. Ruiz


Saludos.
JUAN GALAZ

Enlaces:
http://www.visualino.net/
http://seta43.blogspot.com.es/2017/09/visualino.html