Intermitencia del automóvil con Arduino
1. Intermitencia del automóvil con Arduino Circuito con pulsadores. Introducción:
Esta es la primera Intermitencia del automóvil con Arduino de una serie de entradas que vamos a desarrollar dedicada a Arduino.
No pretendemos explicar que es, como se programa, cuales son sus posibilidades etc. de Arduino, tan solo se pretende buscar una serie de aplicaciones destinadas al automóvil, tanto de la placa de Arduino propiamente dicha como de algunas de sus placas periféricas, bien sean de entrada como de salida.
Lo ciento y verdad, es que la robotización del vehículo es cada día mayor. Esta serie de entradas, ayudara al alumno a comprender como se robotiza el vehículo. Igualmente, afianzara los conocimientos de señales digitales, analógicas, pulsos como los PWM y transmisiones de datos como CAM Bus.
En cualquier caso, Arduino, tal cual se presenta, difícilmente se podría utilizar en el vehículo, ya que habría que aislarlo de las temperaturas y vibraciones que se producen en él.
2. Elementos que componen el circuito de Intermitencia del automóvil con Arduino:
En Arduino como calculador de intermitencia 1.0 proponemos un montaje que incluye dos placas.
– Arduino Uno.
– Arduino Reles. (placa formada por cuatro reles controlados por Arduino Uno de los cuales, solo utilizaremos uno de ellos)
ó relé convencional activado por optoacoplador.
Además, para nuestro montaje se precisa:
- Cuatro interruptores o pulsadores
- Cuatro resistencia de 10K ohmios
- Protoboard
- Cable
- Batería 12V
- Placa de diodos.
Aspecto del montaje:
Intermitencia del automóvil con Arduino
3. Esquema eléctrico.
4. funcionamiento del circuito de intermitencia:
Se trata del primer montaje de intermitencia (versión 1.0), el cual únicamente realiza las intermitencias con las frecuencias que nosotros programemos. Para iniciar la intermitencia de los diodos, hay que cerrar algunos de los cuatro pulsadores de que consta el circuito.
En nuestro montaje, hemos asignado las siguientes codificaciones:
– Pulsador S1 = Intermitencia normal. (Se inicia una intermitencia indefinida con una cadenciación de 400 milisegundos)
– Pulsador S2 = Intermitencia de cerrar puertas. (Se produce un único destello que dura 4 segundos)
– Pulsador S3 = Intermitencia de abrir puertas. (Se inicia una secuencia de cuatro destellos con una cadenciación de 150ms)
– Pulsador S4 = Intermitencia alarma. (Se inicia una intermitencia indefinida de con una cedenciación de 40 milisegundos)
En nuestro montaje, las intermitencias se inician de modo manual y actuando sobre unos pulsadores. En el vehículo, estas intermitencias se iniciarían cuando los circuitos o/y elementos del vehículo manden negativo/positivo ó comuniquen con CAM-bus la instrucciones de intermitencia. De esta manera, por ejemplo la maneta de intermitencia (derecha-izquierda) debería mandar positivo a Arduino para iniciar la intermitencia.
El calculador de cierre centralizado, igualmente debe mandar positivo a las lineas 3 ó 4 para realizar las intermitencias de cerrar puertas o abrir puertas.
4.1. Los tiempos de retardo. Intermitencia del automóvil con Arduino
Por último, la ECU de alarma debe mandar positivo a la línea cinco de Arduino para iniciar destellos de alarma.
Se estima normal que los tiempos tanto a nivel alto (HIGH) (luz encendida) como a nivel bajo (LOW) (luz apagada) sean de 0.45 segundos. Para variar estos tiempos, vasta con modificar las líneas donde aparecen.
delay ( 450 ); // Espera 450 milisegundos ( 1 segundo = 1000 milisegundos )
En nuestro ejemplo, (vídeo) mostramos una parte donde se han modificado dichos tiempos a 45 ms, (función alarma) obteniéndose una frecuencia diez veces más alta.
delay ( 45 ); // Espera 45 milisegundos ( 1 segundo = 1000 milisegundos )
Para otras funciones como indicación de puertas cerradas (con el mando a distancia o llave), dichos tiempos se han modificado y programado a nuestro antojo. (ver código)
5. Más circuito de alumbrado controlados por Arduino.
6. Código para el intermitente, accionado por interruptor y utilizando placa de relés.
————————–
/* Control de la intermitencia de un vehiculo 1.0
Con este codigo y el notaje del circuito propuesto, conseguimos activar la salida 7 de Arduino, la cual alimenta a la bobina de un rele, que a su vez alimenta a las luces de los intermitentes del vehiculo.
6.1. Material utilizado.
* Arduino Uno. * Placa de reles para arduino. * Cuatro pulsadores. * Cautro resistencias de 10K * Cable para conexiones. * Diodos de piloto trasero de vehiculo. * Batería.
// constantes (que no cambian). // Numero del pin donde se conectan los pulsadores 2,3,4,5
const int PulsaIntermitenica = 2; const int PulsaCerrarPuerta = 3; const int PulsaAbrirPuerta = 4; const int PulsaAlarma = 5;
// variables (que cambian)
int ControlLuzIntermitencia = 7; // Pin usado para el control del rele y por tanto de las luces de intermitencia
reading the pushbutton status // Iniciamos las cuatro variables int EstadoPulsaIntermitencia = 0; int EstadoPulsaCerrarPuerta = 0; int EstadoPulsaAbrirPuerta =0; int EstadoPulsaAlarma =0;
6.2. void setup() {
// declaramos los Pin de los cuatro pulsadores como entradas pinMode(PulsaIntermitenica, INPUT); pinMode(PulsaCerrarPuerta, INPUT); pinMode(PulsaAbrirPuerta, INPUT); pinMode(PulsaAlarma, INPUT); }
6.3. void loop()
{ // Lectura del estado de los pulsadores EstadoPulsaIntermitencia = digitalRead(PulsaIntermitenica); EstadoPulsaCerrarPuerta=digitalRead(PulsaCerrarPuerta); EstadoPulsaAbrirPuerta=digitalRead(PulsaAbrirPuerta); EstadoPulsaAlarma=digitalRead(PulsaAlarma);
// declaramos el Pin 7 como salida pinMode(ControlLuzIntermitencia, OUTPUT);
// checquea si los pulsadores son presionados // sí el estado del pulsasor es alto, pulsado HIGH:
// La intermitencia if (EstadoPulsaIntermitencia == HIGH) { digitalWrite(ControlLuzIntermitencia,HIGH);// activamos la salida 7 y por tanto los diodos se encienden delay(400); // lo mantenemos encendido 0.4 segundos digitalWrite(ControlLuzIntermitencia,LOW);// desactivamos la salida 7 y por tanto los diodos se apagan delay(400); // lo mantenemos apagados 0.4 segundos } else { // si no se pulsa, mantenemos apagado los led digitalWrite(ControlLuzIntermitencia,LOW }
// Los cuatro destellos de abrir puertas // Ahora el retado es de 150ms
if (EstadoPulsaCerrarPuerta == HIGH) { digitalWrite(ControlLuzIntermitencia,HIGH delay(150); digitalWrite(ControlLuzIntermitencia,LOW delay(150); // digitalWrite(ControlLuzIntermitencia,HIGH delay(150); digitalWrite(ControlLuzIntermitencia,LOW delay(150); digitalWrite(ControlLuzIntermitencia,HIGH delay(150); digitalWrite(ControlLuzIntermitencia,LOW delay(150); } else { digitalWrite(ControlLuzIntermitencia,LOW }
// EL destello de cerrar puertas // Ahora el retado es de 4s
if (EstadoPulsaAbrirPuerta == HIGH) { digitalWrite(ControlLuzIntermitencia,HIGH delay(4000); digitalWrite(ControlLuzIntermitencia,LOW delay(400); } else { digitalWrite(ControlLuzIntermitencia,LOW }
// por último la rafaga de destellos interminable provocada por la alarma. // Ahora el retado es de 40ms
if (EstadoPulsaAlarma == HIGH) { digitalWrite(ControlLuzIntermitencia,HIGH); delay(40); digitalWrite(ControlLuzIntermitencia,LOW delay(40); } else { digitalWrite(ControlLuzIntermitencia,LOW } }
Hola, como se haría para que funcionaran los intermitentes de un coche, izquierdo, derecho y los 4 a la vez con arduino??
En principio fácil; precisas:
1 Pulsador/interruptor para el lado derecho (Que activaría el relé de «derecha»). (Utilizaría el código de intermitencia normal de «derecha»).
1 Pulsador/interruptor para el lado izquierdo (Que activaría el relé de «Izquierda»). (Utilizaría el código de intermitencia normal de «Izquierda»).
1 Pulsador/interruptor para los dos lados derecho-izquierdo simultáneamente. (Que activaría el relé de «derecha» y de «izquierda» simultáneamente). (Utilizaría el código de intermitencia normal de «derecha» y «izquierda simultáneamente»).
Un saludo.
Espero haber aclarado un poco el asunto.
¿Para cuando ls segunda versión?
Pues de momento no tengo nada pensado, quizá más adelante.
Un saludo.