FASE 2 (Semana 2): Proyecto Chaleco para Ciclistas
link de simulación en protoboard
https://www.youtube.com/watch?v=xiJeEpIu1xw
Implementacion en circuito impreso(foto)
Implementacion en circuito impreso(vídeo)
https://youtu.be/YomrGzXvn38
programa de modificación al programa
https://www.youtube.com/watch?v=xiJeEpIu1xw
Implementacion en circuito impreso(foto)
Implementacion en circuito impreso(vídeo)
tarea asignada en laboratorio (vídeo)
https://youtu.be/YomrGzXvn38
programa de modificación al programa
/* Programa ChalecoV5.ino
Realiza el control de encendido de los leds del chaleco
de seguridad para ciclistas */
// Variables
int bot[] = {1,2,3};
int led[] = {4,5,6,7,8,9,10,11,12,13};
int numLeds = 10;
int numBots = 3;
int tiempoRet = 100;
int tiempoRetOciosa = 200;
int tiempoPausa = 500;
int bIzq=0;
int bDer=0;
int bAlto=0;
int numeroVueltas=6;
int estePin;
int cuenta_der = 0;
int cuenta_alto = 0;
int cuenta_izq = 0;
int cuenta_ocio = 0;
boolean bot_derecha = LOW;
boolean bot_alto = LOW;
boolean bot_izquierda = LOW;
// Función setup
void setup ()
{
for (estePin = 0; estePin < numBots; estePin++)
{
pinMode (bot[estePin],INPUT);
}
for (estePin = 0; estePin < numLeds; estePin++)
{
pinMode (led[estePin],OUTPUT);
}
}
// Función loop
void loop ()
{
for (estePin = 0; estePin < numLeds; estePin++)
{
digitalWrite (led[estePin], LOW);
}
bot_derecha = digitalRead (bot[0]);
bot_alto = digitalRead (bot[1]);
bot_izquierda = digitalRead (bot[2]);
if (bot_derecha==HIGH)
{
Derecha ();
}
else if (bot_alto==HIGH
)
{
Alto ();
}
else if (bot_izquierda==HIGH
)
{
Izquierda ();
}
else
{
Ociosa ();
}
}
// Función Derecha
void Derecha () {
switch (cuenta_der)
{
case 0:
digitalWrite (led[0],HIGH);
digitalWrite (led[8],HIGH);
digitalWrite (led[6],HIGH);
break
;
case 1
:
digitalWrite (led[1],HIGH);
digitalWrite (led[9],HIGH);
digitalWrite (led[5],HIGH);
break
;
case 2
:
digitalWrite (led[2],HIGH);
digitalWrite (led[3],HIGH);
digitalWrite (led[4],HIGH);
break
;
default
:
;
}
delay (tiempoRet);
cuenta_der++;
if (cuenta_der > 3)
{
bDer++;
cuenta_der = 0;
}
if (bDer == 5)
{
bDer = 0;
delay(tiempoPausa);
}
}
// Función Alto
void Alto ()
{
if (cuenta_alto == 1)
{
for (estePin = 0; estePin < numLeds; estePin++)
{
digitalWrite (led[estePin],HIGH);
}
}
else
{
for (estePin = 0; estePin < numLeds; estePin++)
{
digitalWrite (led[estePin],LOW);
}
if(bAlto==10)
{
delay(tiempoPausa);
bAlto=0;
}
}
bAlto++;
delay (tiempoRet);
cuenta_alto++;
if (cuenta_alto > 1)
{
cuenta_alto = 0;
}
}
// Función Izquierda
void Izquierda ()
{
switch (cuenta_izq)
{
case 0:
digitalWrite (led[2],HIGH);
digitalWrite (led[9],HIGH);
digitalWrite (led[4],HIGH);
break;
case 1:
digitalWrite (led[1],HIGH);
digitalWrite (led[8],HIGH);
digitalWrite (led[5],HIGH);
break;
case 2:
digitalWrite (led[0],HIGH);
digitalWrite (led[7],HIGH);
digitalWrite (led[6],HIGH);
break;
default:
;
}
delay (tiempoRet);
cuenta_izq++;
if (cuenta_izq > 3)
{
cuenta_izq = 0;
bIzq++;
}
if (bIzq == 5)
{
bIzq = 0;
delay(tiempoPausa);
}
}
// Función Ociosa
void Ociosa ()
{
bIzq=0;
bDer=0;
bAlto=0;
digitalWrite (led[cuenta_ocio],HIGH);
digitalWrite (led[cuenta_ocio+4],HIGH);
delay (tiempoRetOciosa);
cuenta_ocio++;
if (cuenta_ocio > 3)
{
cuenta_ocio = 0;
}
}

Comentarios
Publicar un comentario