Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Objetivos de la experiencia:
Programar microcontroladores.
Operar instrumentos e interpretar mediciones.
Utilizar diferentes librerías del entorno de desarrollo IDE Arduino.
Realizar programas de baja a mediana complejidad.
3. Reseña teórica:
INTRODUCCIÓN:
Es cada vez más frecuente encontrarnos con semáforos a los que para poder cruzar la calle tengamos que
pulsar un botón, consiguiendo con esto una circulación, tanto de vehículos como de peatones, más eficiente.
Normalmente, el control de semáforos, es realizado mediante otros dispositivos programables denominados
PLC; sin embargo, como veremos en la siguiente aplicación, también es factible realizar este proceso por
medio de microcontroladores.
Esto quiere decir que A y D son el mismo punto eléctrico, por lo que conectarlo a uno u otro es lo mismo, y
todo lo que conectes a cualquiera de los dos estará conectado entre sí. Lo mismo ocurre con B y C.
Ya hemos visto que los pines digitales de Arduino pueden configurarse como salidas, y así decidir si ponerlos
a 5 [V] (nivel alto) ó 0 [V] (nivel bajo) para encender y apagar un LED. Estos pines digitales también pueden
funcionar como entradas, de forma que nuestro Arduino puede leer si en ese pin hay 5 [V] ó 0 [V]. El
circuito que tenemos que construir utiliza un botón para poner un pin digital de Arduino a 5 [V] y 0 [V]
HOJA Nº 2
ACADEMIA POLITÉCNICA NAVAL
6. Aplicación de software:
/*
Semáforo para vehículos y peatones
*/
int carRed = 12; //Asigna el semáforo para los vehículos
int carYellow = 11;
int carGreen = 10;
int button = 9; //pin del pulsador
int pedRed = 8; //Asigna el semáforo para el peatón
int pedGreen = 7;
int crossTime =5000; //Tiempo para que cruce el peatón
unsigned long changeTime;//Tiempo desde que el pulsador fue presionado
void setup()
{
pinMode(carRed, OUTPUT);
pinMode(carYellow, OUTPUT);
pinMode(carGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
pinMode(pedGreen, OUTPUT);
pinMode(button, INPUT);
digitalWrite(carGreen, HIGH); //Enciende la luz verde
digitalWrite(pedRed, HIGH); //Enciende la luz roja
}
void loop()
{
int state = digitalRead(button);
// Comprueba si el botón está presionado y espera 5 segundos desde la última vez que se presionó
if(state == HIGH && (millis() - changeTime)> 5000)
{
//Llama a la función para cambiar la luz
changeLights();
}
}
void changeLights()
{
digitalWrite(carGreen, LOW); //Apaga luz verde
digitalWrite(carYellow, HIGH); //Enciende luz amarilla
delay(2000); //Espera 2 segundos
changeTime = millis(); // Registra el tiempo transcurrido desde el último cambio de luces y luego retorna al
Loop principal
}
7. Desarrollo experimental:
a) Para comenzar la experiencia, instale la placa de desarrollo junto con la placa del microcontrolador y
arme el circuito como se indica en la figura.
HOJA Nº 5
ACADEMIA POLITÉCNICA NAVAL
b) Conecte el cable USB en el conector de la placa del microcontrolador y luego conecte el otro extremo del
cable en un puerto USB del computador.
c) Verifique con el Administrador de Dispositivos de su computador y vea el número de puerto serial
asignado a su placa.
d) Conociendo el puerto asignado a su placa, configure el IDE Arduino, en el menú “Herramientas” como se
indica en la siguiente figura:
e) Ahora presiones el botón “Verificar” para compilar el programa y detectar si hay o no algún error
en la programación.
microcontrolador, indicando el mensaje “Subiendo”, una vez que el programa terminó de ser trasferido al
microcontrolador, aparecerá el mensaje “Subido”, lo cual indica que el microcontrolador está listo para
funcionar solo.
8. Informe:
a) Observe los LED y verifique que estén funcionando cuando presiona el pulsador, utilizando los 2 canales
del osciloscopio, haga un gráfico temporal de las 3 luces del semáforo para vehículos.
b) Utilizando el osciloscopio, verifique el tiempo que demora la luz verde del peatón en encender, desde que
se presiona el pulsador, grafique con escala de tiempo apropiada.
c) Anotar las conclusiones obtenidas por el grupo de trabajo después de realizada la experiencia.
HOJA Nº 7
ACADEMIA POLITÉCNICA NAVAL
d) Observaciones.
1.-
2.-
3.-