Arduino para electronica del coche, alarmas, control de luces...ect...

Iniciado por vidainutil.com, Febrero 26, 2009, 03:31:02 am

Tema anterior - Siguiente tema

0 Usuarios y 9 Visitantes están viendo este tema.

amikoj

Agosto 18, 2014, 23:47:43 pm #495 Ultima modificación: Agosto 18, 2014, 23:50:55 pm por amikoj
Cita de: MartiBCN en Agosto 18, 2014, 19:48:21 pm
Buenas amikoj! Qué bien que te animes a darle caña, ya verás que es un vicio. Lo que dices tu es totalmente factible, y la manera más clara de hacerlo (y más didáctica, creo yo) es pensando en una máquina de estados (aunque luego no programes siguiendo rígidamente su estructura). Para decirlo claro, tu tienes dos estados: alarma y no_alarma (al ser sólo dos con hacer un bool te basta). Si estás en estado no_alarma pasarás a alarma si Tactual>T1. Si estás en estado alarma, pasarás a no_alarma si Tactual<T2.

Porqué T1 y T2, si deberían ser la misma? Solemos dejar un margen porque si no cuándo la temperatura está rozando el límite el cacharro no pararía de pitar-no pitar, etc.., así que establecemos que salte la alarma cuando llegamos a 95º pero que no desaparezca hasta que bajemos a 93º, por ejemplo. Aquí ya es probar y lo que mejor te vaya. Para silenciar, un interruptor a una entrada digital y va que chuta.

Una última cosa, como norma general, intenta evitar los delays() más allá de en la función setup() para dejar tiempo a los sensores y demás para incializarse. Para hacer parpadear un led mírate ESTE tutorial, muy típico y útil.

Ale, a disfrutar y a ir añadiéndole funciones al cacharro!
Saludos

PD: Como miedica que soy en estos temas, asegúrate que tu sensor de temperatura resiste las propiedades del anticongelante y OJO! al agujerear conductos!


@MartiBCN,
Hola y gracias por tus comentarios y ayuda, pero creo que no has leído que no tengo ni idea de programación, así es que...
Ideas tengo bastantes para hacer el reset:
Desenergizar manualmente (no queda muy elegante, pero cómodo para mi)
Interruptor en una entrada digital (tu opción, no se me había ocurrido)
Puentear una salida digital con el pin RESET y programar el código en la linea que toque (no se si es tu misma opción)

Bien, Bien, todo muy bien, pero... ni idea  .sombrero de cómo hacerlo. Ya comenté por aquí que no se programar. Me has sobrestimado   :roll:

Así es que seguramente mi tiraré por lo no elegante y salir del paso hasta que aprenda más.

En cuanto al sensor, en un principio había pensado intercalarlo en un manguito, tocando refrigerante, pero no se todavía cual. Lo ideal sería que las lecturas las tomara del refrigerante en culata, pero no se cómo tomarla. Era mecánico naval de profesión y en los motores marinos es fácil, pero en estos nuestros todo está cerrado y no hay nada extra mecanizado. Tampoco tengo local en donde hacerlo, si no eso sería para mi otro hoby!!!

Lo más seguro es que me fabrique un sensor de contacto con el DS18B20, no será tan preciso ni tan real, pero al fin y al cabo es tomar referencias de temperaturas cuando el motor está trabajando a su temperatura normal de funcionamiento (tengo un termómetro de lectura inflarroja bastante bueno).

Para fabricarme el sensor y que éste vaya montado firmemente en algún tornillo próximo a culata, había pensado hacer un soporte algo parecido al que utilizó el maestro Alcasa  ;) , pero necesito un adhesivo que sea buen transmisor de la temperatura. Me había informado de uno que se llama "Artic Silver Ceramic", pero no lo encuentro si no es por Ebay, cosa que me da bastante por cu**

Bueno ya iré contando. Un saludo para todos. Aprender es una gozada.
Mis bricos e información importante recopilada:
http://www.furgovw.org/index.php?topic=27289.msg3602910#msg3602910

"Per pacienco kaj fervoro sukcesas ĉiu laboro"
Con paciencia y fervor se termina toda labor
L. Zamenhof

Por favor, Mensajes privados sólo para asuntos personales. No responderé Mensaj. priv. sobre temas del foro.

adric

Cita de: amikoj en Agosto 18, 2014, 10:19:15 am
Bueno, el cacharraeo siempre me ha gustado y tengo mis cositas hechas con electrónica pura y dura, quizá ayude eso.

En el código me ha quedado pendiente, por no saber hacerlo:
Que despues haber dado el mensaje de alta temperatura y con la premisa de que esté la temperatura por debajo de la temperatura establecida como alarma, me haga un reset.

Si no se hace eso permanece el txt "Alta Temperatura", aunque no así la señal acústica.

Había pensado colocar in interruptor en la alimentación general, de esa manera mato 2 pájaros de un tiro:
Consigo el reset a mi voluntad
Puedo silenciar el chisme para que no me agobie y atender el hipotético intento de calentura :-)

Creo que será lo más fácil ¿no?

Un saludo y gracias por tus opiniones. Buen veranito


Ayyy, madreeeee, cómo me ha dolido ese "Beo" con B ... escribir desde la tablet en cama, es lo que tiene ...

Enviado desde mi bq Edison 2 mediante Tapatalk

Mi Iveco Daily (en proceso): http://www.furgovw.org/index.php?topic=286997
Scenic 2 Camper edition: http://www.furgovw.org/index.php?topic=300731.0

En el mundo hay tres clases de personas: las que saben contar y las que no.
Badum ... "espera un momento" ... tsssss.

amikoj

Jajaja, no es es al primero que le pasa, la b y la v están al lado una de la otra, también pasa con la m y la n
Parece que escribiendo seamos paletos, pero es normal, con estos teclados, cada vez más liliputienses y nuestros dedos humanos morcilleros.
Cuando beo  ;D esas confusiones enseguida los clasifico como errores tipográficos... y cualquier persona medianamente inteligente así lo piensa.
Saludos
Mis bricos e información importante recopilada:
http://www.furgovw.org/index.php?topic=27289.msg3602910#msg3602910

"Per pacienco kaj fervoro sukcesas ĉiu laboro"
Con paciencia y fervor se termina toda labor
L. Zamenhof

Por favor, Mensajes privados sólo para asuntos personales. No responderé Mensaj. priv. sobre temas del foro.

adric

Cita de: amikoj en Agosto 19, 2014, 10:26:49 am
Jajaja, no es es al primero que le pasa, la b y la v están al lado una de la otra, también pasa con la m y la n
Parece que escribiendo seamos paletos, pero es normal, con estos teclados, cada vez más liliputienses y nuestros dedos humanos morcilleros.
Cuando beo  ;D esas confusiones enseguida los clasifico como errores tipográficos... y cualquier persona medianamente inteligente así lo piensa.
Saludos


Ya ... pero una vez leído, además siendo mio ... duele la vista ...
Mis dedos morcillones no son precisamente ... lo que pasa que al escribir en táctil ... no notas las teclas ...


Enviado desde mi bq Edison 2 mediante Tapatalk

Mi Iveco Daily (en proceso): http://www.furgovw.org/index.php?topic=286997
Scenic 2 Camper edition: http://www.furgovw.org/index.php?topic=300731.0

En el mundo hay tres clases de personas: las que saben contar y las que no.
Badum ... "espera un momento" ... tsssss.

amikoj

Agosto 26, 2014, 14:20:16 pm #499 Ultima modificación: Agosto 26, 2014, 22:02:08 pm por amikoj
Estoy teniendo dificultad para poder montar adecuadamente el sensor de temperatura DS18B20. Su encapsulado es difícil montarlo. Lo ideal sería que estuviese intercalado en el refrigerante, parte interna del motor, pero eso es bastante complicado porque no está preparado para sumergirse en un fluido.

Había pensado en comprar un sensor de automoción standar del mercado, destriparlo y adaptar en su interior el DS18B20. Para ello compré el adhesivo "Arctic Silver Thermal Adhesive", cuya conductividad térmica es de 8W/mK (8 watios por metro y grado Kelvin), uno de los mejores.

Estaba en ello cuando se me ocurrió pensar en que la lectura de la temperatura también la podría dar leyendo una pequeña área del bloque motor, próxima a la culata, sin ser necesario que estuviera en contacto físico. Busqué entonces un sensor de lectura de InflaRrojos y encontré MLX90614, que por sus prestaciones me pareció el más adecuado, pues lee a modo de termómetro.

También encontré su sketch:

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <i2cmaster.h>


void setup(){
   Serial.begin(9600);
   Serial.println("Setup...");
   
   i2c_init(); //Initialise the i2c bus
   PORTC = (1 << PORTC4) | (1 << PORTC5);//enable pullups
}

void loop(){
    int dev = 0x5A<<1;
    int data_low = 0;
    int data_high = 0;
    int pec = 0;
   
    i2c_start_wait(dev+I2C_WRITE);
    i2c_write(0x07);
   
    // read
    i2c_rep_start(dev+I2C_READ);
    data_low = i2c_readAck(); //Read 1 byte and then send ack
    data_high = i2c_readAck(); //Read 1 byte and then send ack
    pec = i2c_readNak();
    i2c_stop();
   
    //This converts high and low bytes together and processes temperature, MSB is a error bit and is ignored for temps
    double tempFactor = 0.02; // 0.02 degrees per LSB (measurement resolution of the MLX90614)
    double tempData = 0x0000; // zero out the data
    int frac; // data past the decimal point
   
    // This masks off the error bit of the high byte, then moves it left 8 bits and adds the low byte.
    tempData = (double)(((data_high & 0x007F) << 8) + data_low);
    tempData = (tempData * tempFactor)-0.01;
   
    float celcius = tempData - 273.15;
    float fahrenheit = (celcius*1.8) + 32;

    Serial.print("Celcius: ");
    Serial.println(celcius);

    Serial.print("Fahrenheit: ");
    Serial.println(fahrenheit);

    delay(1000); // wait a second before printing again
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ATENCION los emoticonos que salen en medio del sketch, que representa una cara amarilla sonriente con gafas de sol, se ha de sustituir por "ocho, y cierre de paréntesis", que por lo visto el programa del foro esos dos signos los convierten en ese simpático emoticono.
Esta nota de atención ha sido añadida posteriormente, cuando me he dado cuenta, como una modificación del post
Espero que no se haya modificado nada más.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Pero, el sketch no viene preparado para dar la lectura en un LCD, ni para establecer la temperatura de alarma con salida óptico acústica. He probado el copia y pega, como hice con el otro prototipo, pero al compilar me da error... llegando a la conclusión de que como no tengo ni idea de programar, no lo voy a lograr  ???

Aquí es cuando pido ayuda a los que saben pues yo no tengo idea de cómo hacerlo:

¿Puede algún compañero de los que saben modificar el sketch para poder leer la información en una LCD de 16x2 y establecer la alarma?

Si logramos ese montaje se simplificaría totalmente el hardware, ya que entonces no hay que insertar nada en el refrigerante, con un simple soporte mecánico para sujetar el sensor de IR estaría resuelto.

Mi intención es publicar un brico cuando ya esté acabado y funcionando, que sería gracias a vuestra ayuda.

Quedo a la espera de vuestras noticias.

Un saludo y gracias por leer el tocho.
Mis bricos e información importante recopilada:
http://www.furgovw.org/index.php?topic=27289.msg3602910#msg3602910

"Per pacienco kaj fervoro sukcesas ĉiu laboro"
Con paciencia y fervor se termina toda labor
L. Zamenhof

Por favor, Mensajes privados sólo para asuntos personales. No responderé Mensaj. priv. sobre temas del foro.

etorom

Yo tengo estos sensores de temperatura, tambien son ds18b20 y son encapsulados a prueba de agua creo recordar, y si lo tienes que poner en el bloque motor con que lo pongas pegado por su parte metalica no tendras problemas. Si no tienens mucha idea no te compliques. Que todos nos flipamos con el arduino y es complejo de programar.

*imagen borrada por el servidor remoto


Enviado desde mi iPhone con Tapatalk

amikoj

@Etorom,

Si, ese sensor también lo tengo yo, pero estoy en la misma, no se cómo intercalarlo en el interior de un manguito. De hecho compré uno para ver qué se me ocurría, pero por ahora no le he encontrado solución.

Por otro lado, si monto ese sensor tocando el bloque motor, superficialmente, me temo que no va a marcar bien porque en realidad, al ser de sección cilíndrica, sería su superficie curva contra la superficie (más o menos plana) del bloque motor, es decir, el punto que toca una curva a una recta, tangencialmente, es ínfimo y precisamente, para este caso, se necesita la mayor superficie de contacto con el sensor. No se si con todo este rollo que he pegado me he hecho entender  :roll:

Seguiré a la espera por si alguien de los compys que por aquí leen pudieran ayudarme.

Si no hubiera nadie, haría lo del destripamiento del sensor comercial de automoción para adaptarlo, pero sería la última opción porque me gusta más la lectura por IR, además de que es menos complicada.

Gracias por responderme. Estoy por aquí. Saludos.
Mis bricos e información importante recopilada:
http://www.furgovw.org/index.php?topic=27289.msg3602910#msg3602910

"Per pacienco kaj fervoro sukcesas ĉiu laboro"
Con paciencia y fervor se termina toda labor
L. Zamenhof

Por favor, Mensajes privados sólo para asuntos personales. No responderé Mensaj. priv. sobre temas del foro.

MartiBCN

Buenas a todos, como comenté últimamente estoy muy desconectado del mundo Arduino, pero a ver si podemos sacar algo en claro.

Cita de: amikoj en Agosto 26, 2014, 14:20:16 pm
Estaba en ello cuando se me ocurrió pensar en que la lectura de la temperatura también la podría dar leyendo una pequeña área del bloque motor, próxima a la culata, sin ser necesario que estuviera en contacto físico. Busqué entonces un sensor de lectura de InflaRrojos y encontré MLX90614, que por sus prestaciones me pareció el más adecuado, pues lee a modo de termómetro.


A priori parece una solución interesante, pero si pensamos en el ambiente que hay en un motor (ruidos, vibraciones, ruido electromagnético, etc...) podemos pensar que un sensor complejo y seguramente delicado como es uno de infrarojos no funcionará tan bien como un sensor de contacto, más sencillo. La verdad es que hablo sin saber y sin haberme leído los datasheets, pero es la impresión que me da. En cualquier caso es muy interesante cacharrear con estos bichos y, hasta que alguien no lo pruebe no sabremos bien cómo va.

Cita de: amikoj en Agosto 26, 2014, 14:20:16 pm
Pero, el sketch no viene preparado para dar la lectura en un LCD, ni para establecer la temperatura de alarma con salida óptico acústica. He probado el copia y pega, como hice con el otro prototipo, pero al compilar me da error... llegando a la conclusión de que como no tengo ni idea de programar, no lo voy a lograr  ???


Perdona, no me queda claro si lo que no te compila es un sketch que has hecho tu o este que copias aquí. Si es el que has colgado tal cual debería compilarte, si no lo hace mira si estás incluyendo correctamente la librería i2cmaster.h. Que compile el ejemplo es el primer paso. Si lo que no te compila es un sketch que has hecho tu usando parte de este código y parte de otros, te invito a que lo subas y subas también los errores que te da, así seguro que te podemos ayudar!

A parte, decirte que suele desmotivar bastante programar cosas para un dispositivo que no tienes, pues lo que suele motivar es ver que avanzas paso a paso y que después de mil intentos va y te sale por pantallita una temperatura.

En fin, nos vamos leyendo y que no paren esos proyectos, saludos!


estresao

Hola chicos,

Pongo la oreja aqui, que esto me atrae.

Aún tengo que leer toda la chicha de este post a ver que se cuece. Yo estoy muy interesado en meterle el diente al CAN BUS para monitorizar cosas y ver qué se puede hacer. Parece que hay algunos CAN-BUS Shield para Arduino bastante interesantes.
[VW CALIFORNIA T5 BEACH EDITION 2.0 140CV BM 4Motion 2015] La Blasa http://www.furgovw.org/index.php?topic=300630.msg3672342#msg3672342

[Adria Matrix Supreme 650SC] https://www.furgovw.org/index.php?topic=355922.0

amikoj

@MartinBCN,

Por lo del ruido ambiente (parásitos electromagnéticos), ya lo he pensado, pero no se puede hacer nada hasta poder probarlo y después, dependiendo del resultado, probaría con filtros, cables blindados, etc. De todas maneras no creo que sea tan delicado, hoy en día se fabrican sensores ya blindados y robustos, pero... quién sabe.

Otro problema es el ambiente enrarecido del vano motor (vapores, suciedad, etc) pero creo que si pongo el sensor en un sitio asequible, será cuestión de limpiarle la lente de vez en cuando. Como tu bien dices todo es probar, además, así de paso aprendemos  ;D

El Sketck que he puesto aquí si compila. En el anterior post me refería a que al hacer mis probaturas de copy&paste de otros sketch, es cuando me da el fallo de compilación, por lo que denota que no se lo suficiente como para salirme solo. Lo único que se es interpretar lo que veo y copiarlo para llevarlo a cabo, pero programar, de un blink no paso  :'(

Si te ves capaz de echarme un cable con lo que quiero del sketch dímelo y te envio en formato .ino los sketch que tengo para la sonda de IR y el del prototipo con el DS18B20, que este último ya funciona y está comprobado.

Es cierto que lo mejor es ir probando con lo que vas a utilizar, pero está de camino, el sensor IR me lo entregarán en un par de semanas. Mientras tanto intenté a ver si me salía un sketch haciendo un pupurri de unos y otros, tal y como hice con el que ya funciona y expliqué un poco más arriba.

Bueno, gracias por todo. Me salen unos post un poco tochos, perdonad.
Mis bricos e información importante recopilada:
http://www.furgovw.org/index.php?topic=27289.msg3602910#msg3602910

"Per pacienco kaj fervoro sukcesas ĉiu laboro"
Con paciencia y fervor se termina toda labor
L. Zamenhof

Por favor, Mensajes privados sólo para asuntos personales. No responderé Mensaj. priv. sobre temas del foro.

amikoj

@estresao,

Bienvenido al hilo.
Yo de CAM BUS nada de nada  .nono tengo una T4 viejita, atmosférica, sin turbo ni electrónica. Hay veces que creo que no le doy suficientemente a los pedales  ;D
En Google hay mucha información sobre el tema que propones y seguro que por aquí hay colegas que les gustará tratarlo.
Un saludo y nos seguimos.
Mis bricos e información importante recopilada:
http://www.furgovw.org/index.php?topic=27289.msg3602910#msg3602910

"Per pacienco kaj fervoro sukcesas ĉiu laboro"
Con paciencia y fervor se termina toda labor
L. Zamenhof

Por favor, Mensajes privados sólo para asuntos personales. No responderé Mensaj. priv. sobre temas del foro.

MartiBCN

Buenas @amikoj, estoy bastante deacuerdo con todo lo que dices.

Cita de: amikoj en Agosto 27, 2014, 00:03:42 am
@MartinBCN,

(...)

Si te ves capaz de echarme un cable con lo que quiero del sketch dímelo y te envio en formato .ino los sketch que tengo para la sonda de IR y el del prototipo con el DS18B20, que este último ya funciona y está comprobado.

(...)


Respecto al código, me lo puedes enviar si quieres, pero lo que se suele hacer es colgarlo para que todo el mundo pueda opinar y aprender de ello (y además que tampoco soy ningún experto en Arduino!). No recuerdo si en este hilo se ha hecho (me lo leí hace un tiempo) pero puede ser un buen ejemplo para empezar a compartir y comentar código. Puedes usar las etiquetas [ code] (codigo) [ /code] sin los espacios para que quede bien y no moleste. Queda algo así

esteesmicodigo


y es bastante mejor para entenderlo.

@estresao ve comentando lo que vayas sacando en claro, que es muy interesante!

Un saludo a todos!

amikoj

Hola MartiBCN,

He intentado usar lo que me dices para colgar el código y no me sale. Mira en el foro de pruebas:
http://www.furgovw.org/index.php?topic=291713.0

De todas maneras te explico que el código que usé con la sonda DS18B20, que funciona muy bien, está publicado en WWW. Mira el mensaje:
« Respuesta #494 en: Agosto 18, 2014, 00:03:42 am »
que es en donde informo del código y está colgado para su libre difusión.

En cuanto al otro código de la sonda IR, también está publicado, pero aquí, unos posts más arriba. Lo que pasa es que me sale con emoticonos porque algunos signos los interpreta.

Compartir, estoy en ello, así aprenderemos todos, que de eso se trata.

Uff, qué difícil es saber programar porque tengo un montón de ideas.

Bueno, ya dirás qué opinas.

Si ésto va hacia adelante y nos organizamos, podríamos hacer una KDD en algún sitio cuyo tema sería Arduino, dudas y tal. Es más, yo creo que incluso se podría gestionar el préstamo de algúna aula de Centro Cívico.

Saludos,
Mis bricos e información importante recopilada:
http://www.furgovw.org/index.php?topic=27289.msg3602910#msg3602910

"Per pacienco kaj fervoro sukcesas ĉiu laboro"
Con paciencia y fervor se termina toda labor
L. Zamenhof

Por favor, Mensajes privados sólo para asuntos personales. No responderé Mensaj. priv. sobre temas del foro.

MartiBCN

Cita de: amikoj en Agosto 28, 2014, 23:44:12 pm
Hola MartiBCN,

He intentado usar lo que me dices para colgar el código y no me sale. Mira en el foro de pruebas:
http://www.furgovw.org/index.php?topic=291713.0


Te he respondido en el mismo foro de pruebas, no sé si es lo más adecuado. Vamos hablando!

amikoj

Agosto 29, 2014, 11:09:54 am #509 Ultima modificación: Agosto 29, 2014, 11:17:57 am por amikoj
Bueno, ahora si, gracias a MartiBCN.
Me ha enseñado que para escribir código en el foro y que algunos de sus signos no sean interpretados como emoticonos, hay que escribir el código entre los comandos "code", así:

(codigo) 

Vale, MartiBCN, ya he pillado por qué lo escribes con espacio  ;D [ code] (codigo)  [ /code]   .palmas .palmas
comprended que cuando empecé a estudiar mi FP, la electrónica se estudiaba con válvulas, tengo 61 años old ;D

dicho ésto, a continuación y para compartir experiencias, aquí el código con el sensor DS18B20, que ya está probado y funcionando. Este código está referenciado unos post más arriba:



/***************************************************************************************************************
Sketch que lee la temperatura de un sensor Dallas DS18B20 y la muestra en una pantalla LCD de 16x2.
También envía el valor del sensor al puerto série de la placa Arduino.

Se puede establecer la temperatura de alarma en el comando  "if (tempC>xx)" en donde "xx" son ºC
La línea de este comando está casi al final del código.

Este codigo se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA
Existe esquema de conexiones realizado con Fritzing: TempMotorLCD_20140813.fzz

Se ha probado tener el sensor DS18B20 conectado con cables de longitud diferente con los siguientes resultados:
3,5 m no ha funcionado
2,5 m ha funcionado
Si se necesitan distancias más largas, ver el link: http://www.maximintegrated.com/en/app-notes/index.mvp/id/148
Más información en Google, con la referencia "DS18B20 maximum cable length" (sin comillas)

No tengo ni idea de programar, todo lo he hecho a base de copy&paste y ensayo/error de varios sketch. No creo que
pueda ayudaros en vuestras consultas sobre programación, pero aquí está mi contacto:
juanjo.crespo@gmail.com

Pendiente:
Programar reset después de alarma si temperatura es <xx ºC
Instalar desenergizador para silenciar
*****************************************************************************************************************/

// Librerías
#include <LiquidCrystal.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 7 // Establece que el cable de datos del sensor se conectará en el pin 7 del Arduino

OneWire oneWire(ONE_WIRE_BUS); // Configura una instancia oneWire para comunicarse con cualquier dispositivo OneWire.

DallasTemperature sensors(&oneWire); // Pasa nuestra referencia oneWire a Dallas Temperature

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Inicializa la librería con los números de pines del interface

const int ledPin =  13;  // Configuracion del pin 13 para un LED, o comandar un transistor para un zunbador (consumo <40mA)
// Test OK con un zunbador en paralelo con el LED, comsumo 5mA a 3,3V

// Instruccion de 8 bytes para crear el caracter 'º' que se necesitará en la expresión "ºC"

byte charGrado[8] =
{
  0b01110,
  0b01010,
  0b01110,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00000
};


void setup()
{
  sensors.begin(); // Arranca la librería de sensor
  setupLCD(); // Configura y activa la pantalla LCD
  Serial.begin(9600); // // Arranca la comunicación serie en 9600 Kbs/s
  pinMode(ledPin, OUTPUT); // Inicializa el pin 13 como salida (LED, o dispositivo de pequeño consumo <40mA)
}

void loop()
{
  printLCDtemp();
  printSerialTemp();
}

void printSerialTemp()
{
  sensors.requestTemperatures(); // Envío del comando para obtener temperaturas
  Serial.println(sensors.getTempCByIndex(0), DEC);
}

void printLCDtemp()
{
  sensors.requestTemperatures(); // Envío del comando para obtener temperaturas
  float tempC = sensors.getTempCByIndex(0); // Obtiene el valor del sensor
  lcd.setCursor(7,1); //Posiciona el cursor del LCD para que escriba " Grados C"
  lcd.print("C"); //Escribe " Grados C"
  lcd.setCursor(0,1); //Posiciona el cursor del LCD para que muestre la lectura obtenida "tempC"
  lcd.print(tempC); //Escribe la lectura obtenida "tempC"
  lcd.setCursor(6,1); // Posicionamos el caracter 'º'
  lcd.write(byte(0)); // Imprime el caracter 'º'
 
  //Alarma por alta temperatura del refrigerante si tempC >xx
                    if (tempC>30)
                    {
                    delay(2000); // Retardo de x segundos
                    lcd.clear(); // Limpia la pantalla LCD
                    delay(20); // Retardo de x segundos
                    lcd.setCursor(0,0);
                    lcd.print("ALTA TEMPERATURA"); //Imprime en LCD, ALTA TEMPERATURA
                    delay(20); // Retardo de x segundos
         // Parpadeo:
                    lcd.clear(); // Limpia la pantalla LCD
                    delay(300); // Retardo de x segundos
                    lcd.setCursor(0,0);
                    lcd.print("ALTA TEMPERATURA"); //Imprime en LCD, ALTA TEMPERATURA
                    delay(300); // Retardo de x segundos
                    lcd.clear(); // Limpia la pantalla LCD
                    delay(300); // Retardo de x segundos
                    lcd.setCursor(0,0);
                    lcd.print("ALTA TEMPERATURA"); //Imprime en LCD, ALTA TEMPERATURA
                    delay(300); // Retardo de x segundos
                    lcd.clear(); // Limpia la pantalla LCD
                    delay(300); // Retardo de x segundos
                    lcd.setCursor(0,0);
                    lcd.print("ALTA TEMPERATURA"); //Imprime en LCD, ALTA TEMPERATURA
                    delay(300); // Retardo de x segundos
                                     
                    }
                   
      if (tempC>30)
      {
       digitalWrite(ledPin, HIGH); // Pone en Higt la salida del LED (lo enciende)

// Intermitencia, principio
  delay(2000); // Retardo de x segundos
  digitalWrite(ledPin, LOW); // Apaga el LED cuando la salida está en Low
  delay(500); // Retardo de x segundos
//Intermitencia, final

      }

      else
      {
       digitalWrite(ledPin, LOW); // Pone en Low la salida del LED (lo apaga)
      }

      delay(1000); // Retardo de x segundos
                     
}

void setupLCD()
{
  lcd.begin(16, 2); // Configura en LCD el número columnas y filas
  lcd.print("Tmperatura Motor"); // Muestra el mensaje en la pantalla LCD
  lcd.createChar(0, charGrado);
}


//////////////////FIN DEL CODIGO///////////////////////////////////////////////////////////////////////

Mis bricos e información importante recopilada:
http://www.furgovw.org/index.php?topic=27289.msg3602910#msg3602910

"Per pacienco kaj fervoro sukcesas ĉiu laboro"
Con paciencia y fervor se termina toda labor
L. Zamenhof

Por favor, Mensajes privados sólo para asuntos personales. No responderé Mensaj. priv. sobre temas del foro.