Programación LCD con Arduino

0

Estoy intentando que mi LCD muestre "Voltaje = (variable)". Lo tengo programado para escribir el texto y tengo una olla conectada a mi arduino y estoy tratando de obtener un número de voltaje que venga después del signo igual. ¿Cómo puedo programarlo de modo que cuando gire el potenciómetro para que el voltaje real venga después de "Voltage="?

Aquí está mi programa

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);  
void setup()
{
}
void loop()
{
lcd.init();                      
lcd.backlight();
int sensorPin = A0;
int sensorValue = 0;
sensorValue = 0.004882812 * analogRead(sensorPin) + 1;
lcd.print("Voltage=");
lcd.print(sensorValue);
}
    
pregunta Eduardo

2 respuestas

1

Esto es con lo que terminé.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);  

void setup() {}

void loop()
{ lcd.init();                      
lcd.backlight();

int VoltsInput = A0;
int VoltsRange = 0;
int VoltsPercent = 0;

VoltsRange = (5.0/1023.0) * analogRead(VoltsInput);
VoltsPercent = (((5.0/1023.0) * analogRead(VoltsInput)) / 5) * 100;

lcd.print(VoltsRange);
lcd.print("V    ");

lcd.print(VoltsPercent);
lcd.print("%");}
    
respondido por el Eduardo
0

Entonces, el ADC de Arduino tiene una resolución de 10 bits, esto significa que analogRead devolverá un valor entre 0 y 1023 (2 ^ 10-1). Debe volver a escalar esto al rango 0v - 5v.

Puedes hacerlo simplemente dividiendo por 1023, y multiplicando por 5. No estoy totalmente familiarizado con el lenguaje Arduino, pero escucho que es como C. Por lo tanto, esto probablemente debería funcionar.

LiquidCrystal_I2C lcd(0x27,16,2);

void setup()
{
    lcd.init();
    lcd.backlight();
    int sensorPin = A0;
    float sensorValue = 0;
    sensorValue = (5.0/1024.0) * analogRead(sensorPin);

    lcd.print("Voltage=") + sensorValue;
}

void loop() { }
    
respondido por el Rocketmagnet

Lea otras preguntas en las etiquetas