Mi coche conectado 2.0.1

Mi coche conectado 2.0

1. Introducción.

En una entada anterior “Transmisión de datos por infrarrojos en el automóvil. (Puesta en marcha del motor de combustión con mando a distancia)” pudimos ver como arrancar el coche con el canal de comunicación de infrarrojos. Comentamos que la transmisión de datos infrarrojos se utiliza en el automóvil para el desbloqueo y bloqueo de puertas (cierre centralizado) y apertura de verano.

Pues bien, en esta entrada, vamos a ver como arrancar el motor de combustión del coche y sonar el claxón utilizando como canal de comunicación bluethooh. “No son aplicaciones del coche real” o “sí”, pero como quiera que son atractivas al alumno, despierta su interés y aumenta la motivación, a la vez que se explica el tema de transmisión de datos, se realiza el montaje.

Arranque del coche con mando a distancia.

Bluethoot se utiliza en el automóvil para comunicar dispositivos móviles (teléfono, ordenador, tableta…) ó para comunicar distintos vehículos entre sí o con señales de tráfico.

En ¨Mi coche conectado 2.0″ hemos utilizado por una parte Arduino+modulo de comunicación bluethooh HC-05 y por otra un dispositivo móvil (en este caso tableta) con el sistema operativo Android.

Hemos implementado una aplicación con APP Inventor 2 para comunicar la tableta con Arduino, y en el vehículo, hemos colocado una “cablería paralela”, la cual es controlada por Arduino. Esta cablería, esta conectada a “terminal 15” (positivo de encendido, inyección y bomba de combustible eléctrica). “Terminal 50” (positivo de motor de arranque). Posivos de claxon y positivo de luces de carretera.

Básicamente, lo que hace Arduino es controlar el estado de cuatro reles. Cada uno de estos reles tiene una función distinta. Igualmente hemos utilizado el módulo de comunicación HC-05 de Arduino para establecer la comunicación.

2. La aplicación Android para controlar el vehículo.

Consta de una pantalla en la que aparece un botón para vincular el bluethooh del teléfono con el HC-05 de Arduino.

Por otra parte dispone de los cuatro botones que comentamos a continuación: 

  • Botón Contacto—Para el coche (controla terminal 15)
  • Botón  Arranque (50) (controla el positivo de arranque)
  • Bocina Al pulsarlo suena la bocina, al soltarlo de sonar
  • Rafagas, al pulsarlo enciende la luz de carretera, al soltarlo se apagan.

La aplicación manda vía bluethooh los siguiente comandos:

  • Contacto (+15) (terminal 15 on) (pulsación corta en el primer botón de la aplicación)
  • Arranque (+50) (terminal 50 on) (pulsando en el segundo botón) 
  • Paro (cortamos +15) (terminal 15 off) Pulsación larga en el primer botón de la aplicación.
  • Claxón (bocina on, bocina off) (pulsando su botón o soltándolo).
  • Ráfagas,(Ráfagas on, Ráfagas off) pulsando o soltando el botón de ráfagas.
Menú de control de coche.

2.1. Conexión teléfono-arduino. Aspecto de los botones.

Básicamente con estos bloques, conseguimos establecer la conexión teléfono-arduino y darle colorido al texto.

Sí no hay conexión, los textos de los botones aparecen en gris, mientras que sí se ha establecido la conexión, aparecen en rojo.

Igualmente, en el encabezado de la pantalla aparece el texto “No conectado al coche” si no se ha establecido la conexión y “Conectado al coche” si se ha establecido la conexión.

Para poner en marcha el vehículo, debemos realizar “Clic” sobre el botón “Contacto-Para el coche”.

De esta manera el móvil manda los comandos AT “Terminal 15 on”, arduino cerrará el relé pertinente y mandará +12 voltios de contacto.

Para parar el motor, hay que realizar una pulsación larga sobre este mismo botón. Se manda desde el móvil el comando AT “Terminal50 off” cortando arduino los +12 voltios de contacto.

Observese que el botón esta habilitado si el motor de combustión no esta en marcha.  

El botón de contacto

Obsérvese, que al soltar el pulsador “Arranque (50)” se deshabilita. Igualmente se colorea el fondo del botón de color amarillo.

Los botones de bocinas y ráfagas

Tanto el botón e ráfgas como el de bocina se comportan como simples pulsadores, es decir, no presentan función especial como lo hace el del “terminal 50”.

Mientras se mantiene pulsado el botón de bocina, el móvil manda vía bluethooh el texto “bocina on” y al soltar (botón no pulsado) el teléfono manda el texto “bocina off”, es decir, el botón actúa como un simple pulsador.

Nota: en el vehículo no se han realizado las conexiones eléctricas para activar las ráfagas (encendido de las luces de carretera)

Descrgate la aplicación si te interesa:

Archivos .aia y .apk de la aplicación y

ino de Arduino

3. El circuito eléctrico.

El circuito a montar es este.
Aspecto del circuito montado.

4. El código de arduino:

/* Mi coche conectado 2.0/

 

/* Mi coche conectado 2.0/

/*http://sistemaselectricosdelautomovil.com/
Arduino + Bluetooth + Arranque del vehículo*/

#include <SoftwareSerial.h>

//Librería que permite establecer comunicación serie en otros pins
//Aquí conectamos los pins RXD,TDX del módulo Bluetooth.

SoftwareSerial BT(10,11); //10 RX, 11 TX.

int Terminal15=4;
int Terminal50=5;
int bocina=6;
int Rafagas=7;
char cadena[255]; //Creamos un array de caracteres de 256 cposiciones
int i=0; //Tamaño actual del array

void setup(){
BT.begin(9600);
Serial.begin(9600);
pinMode(Terminal15,OUTPUT);
pinMode(Terminal50,OUTPUT);
pinMode(bocina,OUTPUT);
pinMode(Rafagas,OUTPUT);}

void loop(){
//Cuando haya datos disponibles
if(BT.available()){
char dato=BT.read(); //Guarda los datos carácter a carácter en la variable “dato”
cadena[i++]=dato; //Vamos colocando cada carácter recibido en el array “cadena”
//Cuando reciba una nueva línea (al pulsar enter en la app) entra en la función
if(dato==’\n’){
Serial.print(cadena); //Visualizamos el comando recibido en el Monitor Serial

//Rele Terminal 15
if(strstr(cadena,”Terminal15 on”)!=0)
{digitalWrite(Terminal15,HIGH); }
if(strstr(cadena,”Terminal15 off”)!=0){
digitalWrite(Terminal15,LOW);}

//Rele termianl 50
if(strstr(cadena,”Terminal50 on”)!=0){
digitalWrite(Terminal50,HIGH);}
if(strstr(cadena,”Terminal50 off”)!=0){
digitalWrite(Terminal50,LOW);}

//Rele bocina
if(strstr(cadena,”bocina on”)!=0)
{digitalWrite(bocina,HIGH);}
if(strstr(cadena,”bocina off”)!=0)
{digitalWrite(bocina,LOW);}

//Rele Rafagas
if(strstr(cadena,”Rafagas on”)!=0)
{digitalWrite(Rafagas,HIGH);}
if(strstr(cadena,”Rafagas off”)!=0)
{digitalWrite(Rafagas,LOW);}

BT.write(“\r”); //Enviamos un retorno de carro de la app. La app ya crea una línea nueva
clean(); //Ejecutamos la función clean() para limpiar el array
}
}
}
//Limpia el array
void clean()

{for (int cl=0; cl<=i; cl++)
{cadena[cl]=0;}
i=0;}

13 Comentarios en “Mi coche conectado 2.0.1
  1. Fernando De La O dice:

    Hola amigo, buenos días.
    Primeramente me gustaría felicitarte por este maravilloso proyecto, pero tengo dos dudas, ¿Podrías explicarme cómo funciona la terminal 15 y 30?. Mi otra duda es, ¿Qué relevadores usaste?.

    Muchas gracias y un saludo

  2. Franco dice:

    Podrías dar más información acerca de los relés de 12 v y los pines 15 y 50. Y la conexión eléctrica.

    • Sistemas Electrónicos del Automóvil Sistemas Electrónicos del Automóvil dice:

      Hola Franco.

      Los vehículos utilizan 12 voltios para alimentar a los distintos consumidores, bombillas, motores eléctricos, calentadores, unidades de control.... ver vídeo por si necesitas aclaraciones https://youtu.be/w7x7wCZ3vXE

      Muchos de esos dispositivos son activados por simples revés, al objeto de controlar grades corrientes sin necesidad de utilizar grandes conmutadores, pulsadores....

      En automoción, una antigua norma alemana DIN... nombra al positivo del circuito de encendido con el número 15 y al positivo de arranque con el número 50

      +15 Alimenta al calculador de inyección el circuito de encendido y la bomba de combustible eléctrica.

      +50 Alimenta al relé ("automático, contactor...") del motor de arranque. Esta corriente es relativamente grande (20...25 Amperios) por lo que precisa un relé especial que pueda controlarla.

      En cuanto al circuito del vehículo, es un poco variable y depende la si la llave tiene dos o tres posiciones.

      Ver vídeo de llave de contacto o interruptor de encendido https://youtu.be/pr6EhDqzwkE

      En mi caso, la llave, (en el interior del bombin) tiene tres posiciones.

      La segunda posición da positivo de 15 (ahí conecto el positivo que entrega el relé auxiliar 15)

      En la tercera posición da positivo 50 (ahí conecto el positivo que entrega el relé auxiliar 50)

      Espero te sirva de ayuda.

      Un saludo.

  3. Juan Luis Máynez Chávez dice:

    Hola que tal, espero me puedas responder! Aun no entiendo lo de los reveladores, si se para lo que funcionan y como, pero a la hora de encender el carro cual se queda prendido? el del piloto o el de la llave? Tengo solo esa duda

    • Sistemas Electrónicos del Automóvil Sistemas Electrónicos del Automóvil dice:

      Hola Juan luis.

      Para arrancar el coche necesitamos:
      1º Contacto (+15) (terminal 15 on) (pulsación corta en el primer botón de la aplicación). ESTE RELÉ SE QUEDA CERRADO, ya que alimenta la bomba eléctrica de combustible, el encendido y la ECU de inyección. Para parar el motor, ESTE RELÉ HA DE ABRIRSE. Paro (cortamos +15) (terminal 15 off) Pulsación larga en el primer botón de la aplicación.

      2º Arranque (+50) (terminal 50 on) (pulsando en el segundo botón). Este relé pone en marcha el motor de arranque eléctrico. SOLO ESTA ACTIVO MIENTRAS SE ESTÁ PULSANDO EL BOTÓN DE LA APLICACIÓN, es decir actúa como pulsador. Una vez puesto en marcha el motor de combustión, el relé debe de quedarse abierto, esto se consigue al sotar el botón de la aplicación. (Por medida de seguridad, observese que el Botón Arranque (50) queda inactivo hasta que para el motor de combustión)

      Espero haber contestado a tu pregunta y te sirva de ayuda.

      Un saludo.

  4. dardo dice:

    Date cuenta que queres poner la libreria y no te deja, es por la web que usas.
    vas a tener que cambian el editor de la web
    saludos
    Pd, decime como puedo subir un RAR, y lo subo
    yo ya lo hice, y me parece que tenes un error en el void clean
    por que esta com dentro del void loop y deberia estar afuera
    saludos

    • Sistemas Electrónicos del Automóvil Sistemas Electrónicos del Automóvil dice:

      Hola.

      Efectivamente, la librería no estaba incluida, eso por una parte.

      Por otro lado, efectivamente, al copiar y pegar el código de la web, da muchos errores porque por ejemplo, las comillas " de la web no son de la misma fuente que las del IDE.

      He dejado para descargar el archivo .ino. Ésta depurado, por lo menos ami no me da errores.

      Un saludo.

  5. dardo dice:

    Hola, bien los errores que tira es por incompatibilidad de fuente (letra), si no lo cambia en la publicación , el que lo quiera usar va a tener que escribirlo y no copiarlo. saludos dardo

  6. dardo dice:

    perdon no puse la libreria

    #include

    Me parece que el tema de los errores se da cuando uno copia y pega su codigo
    Deberia cambiar el formato de editor
    SAludos

  7. dardo dice:

    Hola, el codigo para arduino tira muchos errores.
    El primero es que falta incluir la libreria
    creo que por lo que dice debe ser asi:

    #include

    despues de incluir la libreria se llena de errores.
    No se por que no incluis la libreria y solo pones

    #include

    //Librería que permite establecer comunicación serie en otros pins
    //Aquí conectamos los pins RXD,TDX del módulo Bluetooth.

    Saludos

  8. cristian dice:

    hola buenas noches soy cristian, tengo todo para hacer el proyecto pero no puedo cargar el código a mi arduino. le agradecería que me ayude.

    • Sistemas Electrónicos del Automóvil Sistemas Electrónicos del Automóvil dice:

      Hola Cristian, para poder ayudarte tienes que darme más pistas de lo que está ocurriendo.
      Cuando intentas subir el programa a la placa, te dará algún mensaje de error. ¿Cual es o son?
      Si no carga el programa puede ser por que no has seleccionado el puerto adecuado, la placa, las librerías...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.