Arduino luces de posición cruce carretera y ráfagas
Práctica 3 Arduino:
Encendido luces de posición, cruce, carretera y ráfagas con pulsador.
CONTROL DEL CIRCUITO DE ALUMBRADO CON ARDUINO
DESCRIPCIÓN:
En la práctica número tres, montaremos el circuito con arduino y cuatro pulsadores. El circuito debe controlar las luces de posición, cruce, carretera y ráfagas del vehículo, cada una de ellas con un pulsador distinto. Habrá que programar arduino de forma lógica.
– Al accionar el pulsador de luces de posición, pulsador de luces de cruce, pulsador de luces de carretera o pulsador de ráfagas, las luces deben de encenderse respectivamente, ó no, según la lógica que aclaramos a continuación. Al volver a pulsar, las luces debe de apagarse.
– Las luces de cruce, solo se pueden encender sí las de posición están encendidas y se pulsa cruce. Si se apagan las de posición, las de cruce deben apagarse automáticamente.
– Las luces de caretera, se encendaran si lo estan las de posición y cruce y se acciona su pulsador. Sí se apagan las luces de posición o cruce, las de carretera se deben apagar inmediatamente.
– Las luces de ráfagas deben poder encenderse en cualquier momento, si se suelta su pulsador, se apagan.
– Sí el terminar +15 (positivo después de contacto) es cero (quitamos contacto), las luces de cruce y carretera se deben apagar. (El funcionamiento de luces de posición es indistinto de que halla contacto o no)
Arduino ha de programarse con el IDE de arduino.
OBJETIVOS:
a) Iiniciar al alumno en el mundo del hardware libre y los microcontroladores utilizando la plataforma Arduino.
b) Diferenciar entre sensores y actuadores
c) Consolidar los conceptos de hardware y software.
d) Diferenciar los distintos elementos de las unidades de control.
e) Afianzar la lógica del encendido de los circuitos de alumbrado.
ORIENTACIONES:
El circuito eléctrico
MATERIALES NECESARIOS:
– Arduino uno
– Cuatro pulsadores
– Cuatro resistencia de 1K
– Tres relés
– Cables de conexiones
– Placa Board
– Batería de 12V
– Bombillas de luces de posición, cruce y carretera o faro completo
TIEMPO DESTINADO A LA REALIZACIÓN DE LA PRÁCTICA:
MEDIDAS Y CÁLCULOS A REALIZAR:
En esta ocasión, se deben medir y anotar las corrientes que consume cada uno de los circuitos.
Estas medidas nos servirán para diseñar el circuito detector de bombilla fundida.
EL CÓDIGO FUENTE:
/* Control de luces de posición, cruce, caretera con arduino (considerando + de contacto (+15)) */
//Por: sistemaselectricosdelautomovil.com
//definición de las cuatro variables
double Estedo_del_rele_LP_pin_7;
double LC_pin6;
boolean b__15_pin_8;
double LCt_pin5;
double Rafagas_pin10;
void setup()
{
Serial.begin(9600); //inicializamos el puerto serie para mostrar en pantalla el estado de las luces y terminal 15
// asignación de terminales: Cinco entradas pin2 LP, pin3 LC, Pin5 LCt, Pin4 ráfagas y pin 8 +15 (positivo despues de contacto)
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT); //Rele de ráfagas
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(8, INPUT); //+15
pinMode(9, INPUT); //Pulsador LCt
pinMode(10, INPUT); //Pulsador Rafagas
// Inicialmente los relés están abiertos (apagadas luces de posición cruce y caretera, no hay + 15 contacto)
Estedo_del_rele_LP_pin_7 = 0;
LC_pin6 = 0;
LCt_pin5 = 0;
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(4,LOW);
}
void loop()
{
// Detectar pulsación de luces de posición.
if (digitalRead(2)) {
// Si estaba apagado (estado a 0) encendemos, si no apagamos
if ((Estedo_del_rele_LP_pin_7 == 0)) {
Estedo_del_rele_LP_pin_7 = 1;
digitalWrite(7,HIGH);
Serial.println(String(«LP encendida»)); // escribimos en pantalla «LP encendida»»
} else {
Estedo_del_rele_LP_pin_7 = 0;
LC_pin6 = 0;
LCt_pin5 = 0;
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(5,LOW); //Sí luces de posición se apagan, se han de apagar LC y LCt
//Mostramos en pantalla el estado de LP y LC
Serial.println(String(«LP apagada»));
Serial.println(String(«LC apagada»));
Serial.println(String(«LCt apagada»));
}
// Esperar a que se suelte el pulsador…
while (digitalRead(2)) {
delay(50);
}
}
// Detectar pulsación de luces de cruce.
if (digitalRead(3)) {
b__15_pin_8 = digitalRead(8); //Leemos si hay contacto.
if (((Estedo_del_rele_LP_pin_7 == 1) && (LC_pin6 == 0) && (b__15_pin_8 == 1))) {
digitalWrite(6,HIGH);
LC_pin6 = 1;
Serial.println(String(«LC encendida»));
}
else if (((Estedo_del_rele_LP_pin_7 == 1) && (LC_pin6 == 1))) {
digitalWrite(6,LOW);
digitalWrite(5,LOW); // Si está encendida luz de caretera, la apagamos.
LC_pin6 = 0;
LCt_pin5 = 0;
Serial.println(String(«LC apagada»));
Serial.println(String(«LCt apagada»));
}
// Esperar a que se suelte el pulsador…
while (digitalRead(3)) {
delay(50);
}
}
// Detectar pulsación de luces de caretera.
if (digitalRead(9)) {
b__15_pin_8 = digitalRead(8);
if (((Estedo_del_rele_LP_pin_7 == 1) && (LC_pin6 == 1) && (b__15_pin_8 == 1)&& (LCt_pin5 == 0))) {
digitalWrite(5,HIGH);
LCt_pin5 = 1;
Serial.println(String(«LCt encendida»));
} else if ((LCt_pin5 == 1)) {
digitalWrite(5,LOW);
LCt_pin5 = 0;
Serial.println(String(«LCt apagada»));
}
// Esperar a que se suelte el pulsador…
while (digitalRead(9)) {
delay(50);
}
}
// Detectar pulsación de luces de Ráfagas.
if (digitalRead(10)) {
digitalWrite(4,HIGH);
Rafagas_pin10 = 1;
Serial.println(String(«Ráfagas encendida»));
}
else {
digitalWrite(4,LOW);
Rafagas_pin10 = 0;
}
// Detección contínua de estado del terminal +15 (sí se desconecta en cualquier momento el terminal +15, se apagan las luces de cruce y caretera.
b__15_pin_8 = digitalRead(8);
if ((b__15_pin_8 == 0)) {
LC_pin6 = 0;
LCt_pin5 = 0;
digitalWrite(6,LOW);
digitalWrite(5,LOW);
Serial.println(String(«LC apagada»));
Serial.println(String(«LCt apagada»));
}
}
Si te interesa, descárgate el archivo.
CRITERIOS DE EVALUACIÓN:
Una vez concluida la práctica y para poder llevar a cabo una calificación de la misma, se tendrán en cuenta los siguientes criterios de evaluación:
– Realiza la práctica en el tiempo asignado con orden y limpieza.
– Entrega a través del Internet (según las instrucciones impartidas) un vídeo y/o reportaje fotográfico explicando el funcionamiento del circuito, mostrando el funcionamiento del mismo.
– Realiza propuestas de mejora en cuanto a harware y/o sftware.
Deja una respuesta