Also ich habe folgendes Problem:
auf meinem i2c display (welches funktioniert) würde ich gerne die Daten, die normalerweise über den seriellen Monitor ausgegeben werden, anzeigen lassen.
es handelt sich dabei um eine Temperaturanzeige.
Das Bauteil das ich zu Messung verwende ist ein LM335Z Temperatursensor. Zur Genauigkeit würde ich auch gerne einen zweiten hinzufügen um den wert genauer anzeigen zu lassen.
Den Code hierzu habe ich schon mal soweit um zumindest die werte über den Seriellen Monitor auszugeben:
float temp_in_celsius = 0, temp_in_kelvin=0, temp_in_fahrenheit=0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
//Eingang lesen und in Kelvin umrechnen
temp_in_kelvin = analogRead(0) * 0.004882812 * 100;
//Konvertiert Kelvin zu Grad Celsius +- 2 G Abweichung
temp_in_celsius = temp_in_kelvin - 2.5 - 273.15;
temp_in_fahrenheit = ((temp_in_kelvin - 2.5) * 9 / 5) - 459.67;
//Gibt den Celsius wert am Seriellen Monitor aus
Serial.print("Celsius: ");
Serial.println(temp_in_celsius);
//Gibt den wert in Fahrenheit am SM aus
Serial.print("Fahrenheit: ");
Serial.println(temp_in_fahrenheit);
Serial.println();
delay(1000);
}
mit der LiquidCrystal bin ich leider erst soweit:
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x3F // Define I2C Address
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
void setup()
{
lcd.begin (20,4,LCD_5x8DOTS);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); // init the backlight
}
void loop()
{
lcd.setBacklight (LOW);
lcd.home();
für eine schnelle Hilfe wäre ich dankbar.