Conexión varios sensores a Arduino UNO LCD I2C

Buenas noches,

Mi nombre es Sergio y quería exponer mi proyecto. Estoy realizando un ¨mini¨ordenador de abordo para un coche antiguo, en el que quiero visualizar valores de 3 sensores en una LCD, con una placa UNO.

Los valores a visualizar son: Presión del colector de admisión, posición de la mariposa del acelerador y temperatura del aire aspirado.

He leído bastante y no me queda claro como conectar los 3 sensores a 3 salidas analógicas. Estoy utilizando este código.

[code]

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2);  //

void setup() {
  // Inicializar el LCD
  lcd.init();
  
  //Encender la luz de fondo.
  lcd.backlight();
  // Realiza 3 parpadeos del LED (backlight)
    for(int i = 0; i< 3; i++)
    {
      lcd.backlight();
      delay(250);
      lcd.noBacklight();
      delay(250);
    }
   lcd.backlight(); // Finaliza con el LED encendido (backlight)
 
  // Escribe el texto en el LCD
  // NOTA: La posición del cursor del LCD (Carácter, línea) comienza en (0,0)
    lcd.setCursor(0,0);
    lcd.print("Hola"); // Podemos poner tanto write como print
    delay(6000);
    lcd.setCursor(0,14);
    lcd.print("Puedes arrancar!");
    delay(6000);  
 lcd.clear();
}



void loop() {
 float sen1=analogRead(A0)*(5.0 / 1023.0);
 float sen2=analogRead(A1)*(5.0 / 1023.0);
 float sen3=analogRead(A2)*(10.0 / 1023.0);
  int tiempo=millis()/100000;
  // Cursor en la primera posición de la primera fila
  lcd.setCursor(0,0);
  lcd.print("BAR:");//Presión colector admisión
  lcd.print(sen1,2);
  lcd.print("");

  // Cursor en la primera posición de la 2° fila
  lcd.setCursor(7,0);
  lcd.print(" T.AD:");//Temperatura admisión
  lcd.print(sen2,1); //1 decimal
  lcd.print(""); 

lcd.setCursor(0,6);
  lcd.print("Temp:");//Temperatura aire aspirado
  lcd.print(sen3,0);
  lcd.print("  ");  
  // Cursor en la 11° posición de la 2° fila
  lcd.setCursor(9,1);
  lcd.print("¨:");
  lcd.print(tiempo);
  lcd.print("  m");

 delay(200);
  
}

[code]

Cuando cargo el Sketch y realizo la simulación con el sensor MAP, me varían los 3 datos a la vez reflejados en la LCD, aún teniéndo unicamente la entrada (A0) a un único sensor.

Los sensores son de señal por variación de voltaje y un NTC. He leído que se ha de emplear un multiplexor para poder leer los 3 sensores al mismo tiempo pero ando hecho un lío ya que soy iniciado en este mundo.

Agradecería mucho una ayuda con este asunto.

Gracias de antemano.

Para evitar que los sensores queno tienen nada muestren valores o mejor dicho no indiquen cero, coloca esos sensores a masa o gnd.
A1 y A2 si no los usas los conectas directamente a GND o via una R de 10k por ejemplo. Eso evitará lecturas que no existen.
El Arduino tiene un solo AD con un multiplexor. El procese de lectura hace que se cargue un capacitor interno y este conserva el valor cuando cambias de canal.
Al ponerlo a GND en directo o via una Resistencia evitas eso y lo descargas rápidamente.
El LCD mostrará correctamente.

1 Like

Muchas gracias Surbyte,

Funciona! Es un error mío de novato.

Gracias de nuevo.

Un saludo.

Buenos días,

Tras solucionar el asunto de los valores de los sensores (Agradecer Surbyte su aportación) He modificado el código ligeramente.

Estoy intentando encender un Led a través del pin 4 cuando se alcance un valor leído a través del pin analogRead(A2)

Sé que no se puede incluir más de un comando void setup() y void loop()
adjunto código original.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2);  //

void setup() {
  // Inicializar el LCD
  lcd.init();
  
  //Encender la luz de fondo.
  lcd.backlight();
  // Realiza 3 parpadeos del LED (backlight)
    for(int i = 0; i< 3; i++)
    {
      lcd.backlight();
      delay(250);
      lcd.noBacklight();
      delay(250);
    }
   lcd.backlight(); // Finaliza con el LED encendido (backlight)
 
  // Escribe el texto en el LCD
  // NOTA: La posición del cursor del LCD (Carácter, línea) comienza en (0,0)
    lcd.setCursor(0,0);
    lcd.print("Hola Sergio"); // Podemos poner tanto write como print
    delay(8900);
    lcd.setCursor(0,14);
    lcd.print("Puedes arrancar!");
    delay(2500);  
 lcd.clear();
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
 int sensorValue = analogRead(A0);
      // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
      float voltage = sensorValue * (5.15 / 1023.0)-(0,01);

      // print out the value you read:
      Serial.println(voltage);
 float sen2=analogRead(A1);
float sen3= analogRead(A2);
  int tiempo=millis()/100000;

  // print out the value you read:
  float temp=sen3*(56/1023.0);
  lcd.setCursor(0,6);
  Serial.println();
  Serial.println(temp);
  lcd.print("Temp:");
  lcd.print(temp,0);
      
  // Cursor en la primera posición de la primera fila
  lcd.setCursor(0,0);
  lcd.print("BAR:");
  lcd.print(voltage,2);
  lcd.print("");

  // Cursor en la primera posición de la 2° fila
float temp2=sen2*(56/1023.0);
  lcd.setCursor(7,0);
  Serial.println();
  Serial.println(temp);
  lcd.print(" T.AD:");
  lcd.print(temp2,0);

  // Cursor en la 11° posición de la 2° fila
  lcd.setCursor(9,1);
  lcd.print("¨:");
  lcd.print(tiempo);
  lcd.print("m");

 delay(200);
    // delay in between reads for stability
}

Me gustaría incluir este código al mismo Sketch

int led1 = 4;

void setup(){
//configuramos todos los pines como salidas

pinMode(led1, OUTPUT);}
void loop(){//Hacemos la lectura analoga del potenciometro
int valorPotenciometro = analogRead(A2);//Apagamos todos los LED's

digitalWrite(led1, LOW);

//En este codigo vamos revisando el valor del pot para
//ir prendiendo poco a poco los LED's

if(valorPotenciometro > 350){
digitalWrite(led1, HIGH);
}
}

He realizado muchas pruebas y no soy capaz de conseguir el funcionamiento.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2);  //

int led1 = 4;

void setup() {
  // Inicializar el LCD
  lcd.init();
  
  //Encender la luz de fondo.
  lcd.backlight();
  // Realiza 3 parpadeos del LED (backlight)
    for(int i = 0; i< 3; i++)
    {
      lcd.backlight();
      delay(250);
      lcd.noBacklight();
      delay(250);
    }
   lcd.backlight(); // Finaliza con el LED encendido (backlight)
 
  // Escribe el texto en el LCD
  // NOTA: La posición del cursor del LCD (Carácter, línea) comienza en (0,0)
    lcd.setCursor(0,0);
    lcd.print("Hola Sergio"); // Podemos poner tanto write como print
    delay(8900);
    lcd.setCursor(0,14);
    lcd.print("Puedes arrancar!");
    delay(2500);  
 lcd.clear();
}


pinMode(led1, OUTPUT);}
void loop(){//Hacemos la lectura analoga del potenciometro
int valorPotenciometro = analogRead(A2);//Apagamos todos los LED's

digitalWrite(led1, LOW);

//En este codigo vamos revisando el valor del pot para
//ir prendiendo poco a poco los LED's

if(valorPotenciometro > 350){
digitalWrite(led1, HIGH);
}
// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
 int sensorValue = analogRead(A0);
      // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
      float voltage = sensorValue * (5.15 / 1023.0)-(0,01);

      // print out the value you read:
      Serial.println(voltage);
 float sen2=analogRead(A1);
float sen3= analogRead(A2);
  int tiempo=millis()/100000;

  // print out the value you read:
  float temp=sen3*(56/1023.0);
  lcd.setCursor(0,6);
  Serial.println();
  Serial.println(temp);
  lcd.print("Temp:");
  lcd.print(temp,0);
      
  // Cursor en la primera posición de la primera fila
  lcd.setCursor(0,0);
  lcd.print("BAR:");
  lcd.print(voltage,2);
  lcd.print("");

  // Cursor en la primera posición de la 2° fila
float temp2=sen2*(56/1023.0);
  lcd.setCursor(7,0);
  Serial.println();
  Serial.println(temp);
  lcd.print(" T.AD:");
  lcd.print(temp2,0);

  // Cursor en la 11° posición de la 2° fila
  lcd.setCursor(9,1);
  lcd.print("¨:");
  lcd.print(tiempo);
  lcd.print("m");

 delay(200);
    // delay in between reads for stability
}

Me arroja error al cargar el Sketch, ya que seguramente estaré mezclando funciones y no pueda ejecutar 2 veces la lectura del pin analógico (A2)

Agradezco un poco de luz a este código.

Gracias.

Un saludo.

Ahi lo tienes

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2);  //

int led1 = 4;

void setup() {
	// Inicializar el LCD
	lcd.init();

	//Encender la luz de fondo.
	lcd.backlight();
	// Realiza 3 parpadeos del LED (backlight)
	for(int i = 0; i< 3; i++)     {
		lcd.backlight();
		delay(250);
		lcd.noBacklight();
		delay(250);
	}
	lcd.backlight(); // Finaliza con el LED encendido (backlight)

	// Escribe el texto en el LCD
	// NOTA: La posición del cursor del LCD (Carácter, línea) comienza en (0,0)
	lcd.setCursor(0,0);
	lcd.print("Hola Sergio"); // Podemos poner tanto write como print
	delay(8900);
	lcd.setCursor(0,14);
	lcd.print("Puedes arrancar!");
	delay(2500);  
	lcd.clear();
	//configuramos todos los pines como salidas

	pinMode(led1, OUTPUT);}
	void loop(){//Hacemos la lectura analoga del potenciometro
	int valorPotenciometro = analogRead(A2);//Apagamos todos los LED's

	digitalWrite(led1, LOW);

	
}

// the loop routine runs over and over again forever:
void loop() {
	// read the input on analog pin 0:
	int sensorValue = analogRead(A0);
	// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
	float voltage = sensorValue * (5.15 / 1023.0)-(0,01);
	// print out the value you read:
	Serial.println(voltage);

	float sen2 = analogRead(A1);
	float sen3 = analogRead(A2);

	int tiempo=millis()/100000;

	// print out the value you read:
	float temp = sen3*(56/1023.0);
	lcd.setCursor(0,6);
	Serial.println();
	Serial.println(temp);
	lcd.print("Temp:");
	lcd.print(temp,0);

	// Cursor en la primera posición de la primera fila
	lcd.setCursor(0,0);
	lcd.print("BAR:");
	lcd.print(voltage,2);
	lcd.print("");

	// Cursor en la primera posición de la 2° fila
	float temp2 = sen2*(56/1023.0);
	lcd.setCursor(7,0);
	Serial.println();
	Serial.println(temp);
	lcd.print(" T.AD:");
	lcd.print(temp2,0);

	// Cursor en la 11° posición de la 2° fila
	lcd.setCursor(9,1);
	lcd.print("¨:");
	lcd.print(tiempo);
	lcd.print("m");

	//En este codigo vamos revisando el valor del pot para
	//ir prendiendo poco a poco los LED's

	if(valorPotenciometro > 350){
		digitalWrite(led1, HIGH);
	}
	delay(200);
    // delay in between reads for stability
}

Buenas noches Surbyte,

Gracias por la respuesta. He cargado el Sketch y me arroja este error:

Compilation error: redefinition of 'void loop()'

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2);  //

int led1 = 4;

void setup() {
	// Inicializar el LCD
	lcd.init();

	//Encender la luz de fondo.
	lcd.backlight();
	// Realiza 3 parpadeos del LED (backlight)
	for(int i = 0; i< 3; i++)     {
		lcd.backlight();
		delay(250);
		lcd.noBacklight();
		delay(250);
	}
	lcd.backlight(); // Finaliza con el LED encendido (backlight)

	// Escribe el texto en el LCD
	// NOTA: La posición del cursor del LCD (Carácter, línea) comienza en (0,0)
	lcd.setCursor(0,0);
	lcd.print("Hola Sergio"); // Podemos poner tanto write como print
	delay(8900);
	lcd.setCursor(0,14);
	lcd.print("Puedes arrancar!");
	delay(2500);  
	lcd.clear();
	//configuramos todos los pines como salidas

	pinMode(led1, OUTPUT);}
	void loop(){//Hacemos la lectura analoga del potenciometro
	int valorPotenciometro = analogRead(A2);//Apagamos todos los LED's

	digitalWrite(led1, LOW);

	
}

// the loop routine runs over and over again forever:
void loop() {
	// read the input on analog pin 0:
	int sensorValue = analogRead(A0);
	// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
	float voltage = sensorValue * (5.15 / 1023.0)-(0,01);
	// print out the value you read:
	Serial.println(voltage);

	float sen2 = analogRead(A1);
	float sen3 = analogRead(A2);

	int tiempo=millis()/100000;

	// print out the value you read:
	float temp = sen3*(56/1023.0);
	lcd.setCursor(0,6);
	Serial.println();
	Serial.println(temp);
	lcd.print("Temp:");
	lcd.print(temp,0);

	// Cursor en la primera posición de la primera fila
	lcd.setCursor(0,0);
	lcd.print("BAR:");
	lcd.print(voltage,2);
	lcd.print("");

	// Cursor en la primera posición de la 2° fila
	float temp2 = sen2*(56/1023.0);
	lcd.setCursor(7,0);
	Serial.println();
	Serial.println(temp);
	lcd.print(" T.AD:");
	lcd.print(temp2,0);

	// Cursor en la 11° posición de la 2° fila
	lcd.setCursor(9,1);
	lcd.print("¨:");
	lcd.print(tiempo);
	lcd.print("m");

	//En este codigo vamos revisando el valor del pot para
	//ir prendiendo poco a poco los LED's

	if(valorPotenciometro > 350){
		digitalWrite(led1, HIGH);
	}
	delay(200);
    // delay in between reads for stability
}

Veo que hay 2 comandos void loop ¿Es posible duplicar este comando? la verdad que he probado varias combinaciones sobre tu sketch y estoy perdido ahora mismo.

Muchas gracias de antemano.

Un saludo.

Hola de nuevo,

Parece que eliminando uno de los void loop he podido arrancar el Sketch. Ahora el problema lo tengo en el delay del final del código, que actúa sobre la lectura de los sensores y que también hace parpadear el led.

No consigo que el led se quede fijo sin delay. Si quito el delay, aparte que la lectura de los sensores no será en tiempo real, el led parpadea igualmente.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2);  //

int led1 = 4;

void setup() {
	// Inicializar el LCD
	lcd.init();

	//Encender la luz de fondo.
	lcd.backlight();
	// Realiza 3 parpadeos del LED (backlight)
	for(int i = 0; i< 3; i++)     {
		lcd.backlight();
		delay(250);
		lcd.noBacklight();
		delay(250);
	}
	lcd.backlight(); // Finaliza con el LED encendido (backlight)

	// Escribe el texto en el LCD
	// NOTA: La posición del cursor del LCD (Carácter, línea) comienza en (0,0)
	lcd.setCursor(0,0);
	lcd.print("Hola Sergio"); // Podemos poner tanto write como print
	delay(8900);
	lcd.setCursor(0,14);
	lcd.print("Puedes arrancar!");
	delay(2500);  
	lcd.clear();
	//configuramos todos los pines como salidas

	pinMode(led1, OUTPUT);}
	void loop(){//Hacemos la lectura analoga del potenciometro
	int valorPotenciometro = analogRead(A0);//Apagamos todos los LED's

	
  digitalWrite(led1, LOW);

// the loop routine runs over and over again forever:

	// read the input on analog pin 0:
	int sensorValue = analogRead(A0);
	// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
	float voltage = sensorValue * (2.70 / 1023.0)-(0,01);
	// print out the value you read:
	Serial.println(voltage);

	float sen2 = analogRead(A1);
	float sen3 = analogRead(A2);

	int tiempo=millis()/100000;

	// print out the value you read:
	float temp = sen3*(56/1023.0);
	lcd.setCursor(0,6);
	Serial.println();
	Serial.println(temp);
	lcd.print("Temp:");
	lcd.print(temp,0);

	// Cursor en la primera posición de la primera fila
	lcd.setCursor(0,0);
	lcd.print("BAR:");
	lcd.print(voltage,2);
	lcd.print("");

	// Cursor en la primera posición de la 2° fila
	float temp2 = sen2*(56/1023.0);
	lcd.setCursor(7,0);
	Serial.println();
	Serial.println(temp);
	lcd.print(" T.AD:");
	lcd.print(temp2,0);

	// Cursor en la 11° posición de la 2° fila
	lcd.setCursor(9,1);
	lcd.print("¨:");
	lcd.print(tiempo);
	lcd.print("m");

	//En este codigo vamos revisando el valor del pot para
	//ir prendiendo poco a poco los LED's

	if(valorPotenciometro > 250){
	
    digitalWrite(led1, HIGH);
	}
	delay(200);
    // delay in between reads for stability
}

Gracias de nuevo!

Porque no comienzas a leer algun libro o sigues tutoriales de Arduino que hay muchos y muy buenos.
Estas muy perdido.
Habia dos loop() es cierto. uno en el setup que se me escapó porque no lo prové.
No que que pretendes hacer con esto

if (valorPotenciometro > 250){
    digitalWrite(led1, HIGH);
}

si el valor es 1/4 de 5v o sea 1.25 mas o menos entonces enciende el LED.
Que quieres que haga?

Buenos Surbyte,

Si, estoy con algunos libros de introducción y de momento me está gustando mucho.

Es correcto, quiero que encienda el led pero no en modo blink con delay como hace ahora, el led quiero que quede fijo al superar 1.25v.

Gracias Surbyte.

Un saludo.

El blink te lo provoca el delay() final y todas las demoras hasta volver a encontrarse.
Y tal vez para que haya un blink debe haber algo que lo apague.
Asi que si algo lo enciende o sea 1.25V superado
Luego mirando tu código y creo que ya lo dije y si no lo dije lo hago ahora. No mezcles delay con millis() porque son excluyentes.
Delay() destroza todo.
A ver ahora

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2);  //

int led1 = 4;
int valorPotenciometro;

void setup() {
	// Inicializar el LCD
	lcd.init();

	//Encender la luz de fondo.
	lcd.backlight();
	// Realiza 3 parpadeos del LED (backlight)
	for(int i = 0; i< 3; i++)     {
		lcd.backlight();
		delay(250);
		lcd.noBacklight();
		delay(250);
	}
	lcd.backlight(); // Finaliza con el LED encendido (backlight)

	// Escribe el texto en el LCD
	// NOTA: La posición del cursor del LCD (Carácter, línea) comienza en (0,0)
	lcd.setCursor(0,0);
	lcd.print("Hola Sergio"); // Podemos poner tanto write como print
	delay(8900);
	lcd.setCursor(0,14);
	lcd.print("Puedes arrancar!");
	delay(2500);  
	lcd.clear();
	//configuramos todos los pines como salidas
	pinMode(led1, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  float voltage, temp1, temp2;
  unsigned int sensorValue1, sensorValue2, sensorValue3;

	// Leo la entrada analógica del pin 0:
	int sensorValue1 = analogRead(A0);
  voltage = sensorValue1 * (5.15 / 1023.0) - (0, 01);  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  Serial.println(voltage);                            // print out the value you read:

	sensorValue2 = analogRead(A1);
	sensorValue3 = analogRead(A2);

	int tiempo=millis()/100000;

	// print out the value you read:
	temp1 = sensorValue3*56/1023.0;
	lcd.setCursor(0,6);
	Serial.println();
	Serial.println(temp1);
	lcd.print("Temp:");
	lcd.print(temp1,0);

	// Cursor en la primera posición de la primera fila
	lcd.setCursor(0,0);
	lcd.print("BAR:");
	lcd.print(voltage,2);
	lcd.print("");

	// Cursor en la primera posición de la 2° fila
	temp2 = sensorValue2*56/1023.0;
	lcd.setCursor(7,0);
	Serial.println();
	Serial.println(temp2);
	lcd.print(" T.AD:");
	lcd.print(temp2,0);

	// Cursor en la 11° posición de la 2° fila
	lcd.setCursor(9,1);
	lcd.print("¨:");
	lcd.print(tiempo);
	lcd.print("m");

	//En este codigo vamos revisando el valor del pot para
	//ir prendiendo poco a poco los LED's
  valorPotenciometro = analogRead(A2);  // Lee estado del potenciómetro

	if (valorPotenciometro > 350){
		  digitalWrite(led1, HIGH);
	} else {
      digitalWrite(led1, LOW);
  }
}

Lo que estaba mal les que olvidé cosas que corresponden al potenciómetro por eso no reaccionaba.

Muchas gracias Surbyte,

He quitado el "int" del sensorvalue1 y funciona perfecto!!!

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd  dirección  0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2);  //

int led1 = 4;
int valorPotenciometro;

void setup() {
	// Inicializar el LCD
	lcd.init();

	//Encender la luz de fondo.
	lcd.backlight();
	// Realiza 3 parpadeos del LED (backlight)
	for(int i = 0; i< 3; i++)     {
		lcd.backlight();
		delay(250);
		lcd.noBacklight();
		delay(250);
	}
	lcd.backlight(); // Finaliza con el LED encendido (backlight)

	// Escribe el texto en el LCD
	// NOTA: La posición del cursor del LCD (Carácter, línea) comienza en (0,0)
	lcd.setCursor(0,0);
	lcd.print("Hola Sergio"); // Podemos poner tanto write como print
	delay(8900);
	lcd.setCursor(0,14);
	lcd.print("Puedes arrancar!");
	delay(2500);  
	lcd.clear();
	//configuramos todos los pines como salidas
	pinMode(led1, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  float voltage, temp1, temp2;
  unsigned int sensorValue1, sensorValue2, sensorValue3;

	// Leo la entrada analógica del pin 0:
	int sensorValue1 = analogRead(A0);
  voltage = sensorValue1 * (5.15 / 1023.0) - (0, 01);  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  Serial.println(voltage);                            // print out the value you read:

	sensorValue2 = analogRead(A1);
	sensorValue3 = analogRead(A2);

	int tiempo=millis()/100000;

	// print out the value you read:
	temp1 = sensorValue3*56/1023.0;
	lcd.setCursor(0,6);
	Serial.println();
	Serial.println(temp1);
	lcd.print("Temp:");
	lcd.print(temp1,0);

	// Cursor en la primera posición de la primera fila
	lcd.setCursor(0,0);
	lcd.print("BAR:");
	lcd.print(voltage,2);
	lcd.print("");

	// Cursor en la primera posición de la 2° fila
	temp2 = sensorValue2*56/1023.0;
	lcd.setCursor(7,0);
	Serial.println();
	Serial.println(temp2);
	lcd.print(" T.AD:");
	lcd.print(temp2,0);

	// Cursor en la 11° posición de la 2° fila
	lcd.setCursor(9,1);
	lcd.print("¨:");
	lcd.print(tiempo);
	lcd.print("m");

	//En este codigo vamos revisando el valor del pot para
	//ir prendiendo poco a poco los LED's
  valorPotenciometro = analogRead(A2);  // Lee estado del potenciómetro

	if (valorPotenciometro > 350){
		  digitalWrite(led1, HIGH);
	} else {
      digitalWrite(led1, LOW);
  }
}

Muchas gracias por tu ayuda. De verdad que me has hecho aprender unas cuantas cosas que son muy valiosas para seguir aprendiendo.

Un saludo!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.