hi läute,
ich möchte auf einem 16X2 Display in einer spalte mehrer analoge senor werte anzeigen.
Ich hab aber keine ahnung wie ich das machen kann.
Ich verwende einen Arduino UNO Rev3, zu zeit ist ein boden feuchtigekeitssenor angescholsen, ich möchte mehr anschließen, zum testen benutz ich gerade ein potentiometer.
ich hoffe ihr könnt mir weiter helfen.
int Sens = A2;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
/*
All the resources for this project:
http://randomnerdtutorials.com/
*/
int rainPin = A0;
int rainPin2 = A1;
int LEDrot = 3;
int LEDgruen = 5;
int LEDblau = 6;
int Button = 2;
int buttonState = 0;
// you can adjust the threshold value
void setup() {
pinMode(rainPin, INPUT);
pinMode(rainPin2, INPUT);
pinMode(LEDblau, OUTPUT);
pinMode(LEDgruen, OUTPUT);
pinMode(LEDrot, OUTPUT);
analogWrite(LEDrot, 0);
Serial.begin(9600);
pinMode(Button, INPUT);
lcd.clear();
}
void LCD() {
int sensorValue = analogRead(rainPin);
int sensorValue2 = analogRead(rainPin2);
lcd.begin();
lcd.backlight();
lcd.print("S1,S2,S3,S4,S5");
lcd.setCursor(0, 1);
lcd.print(sensorValue, sensorValue2);
}
/*void LCD2() {
int sensorValue = analogRead(rainPin);
lcd.begin();
lcd.noBacklight();
lcd.print("Sen1");
lcd.setCursor(0, 1);
lcd.print(sensorValue);
}*/
void Boden() {
int sensorValue = analogRead(rainPin);
Serial.print(sensorValue);
if (sensorValue > 750) {
analogWrite(LEDrot, 100);
analogWrite(LEDblau, 0);
delay(500);
}
else {
analogWrite(LEDrot, 0);
analogWrite(LEDblau, 100);
delay(500);
}
}
void loop()
{
int sensorValue = analogRead(rainPin);
int sensorValue2 = analogRead(rainPin2);
Serial.print(sensorValue);
//lcd.noBacklight();
buttonState = digitalRead(Button);
if (buttonState == HIGH) {
LCD();
Boden();
delay(1000);
}
else {
lcd.noBacklight();
analogWrite(LEDblau, 0);
analogWrite(LEDrot, 0);
analogWrite(LEDgruen, 0);
}
if (sensorValue > 800) {
LCD();
Serial.println(" - Time to water your plant");
analogWrite(LEDrot, 100);
analogWrite(LEDblau, 0);
delay(500);
LCD();
analogWrite(LEDrot, 0);
analogWrite(LEDblau, 0);
delay(500);
}
else {
//LCD2();
lcd.begin();
lcd.noBacklight();
lcd.print("S1,S2,S3,S4,S5");
lcd.setCursor(0, 1);
lcd.print(sensorValue);
}
}