Ok is that good.
here i have the transmitter with temp sensor moisture sensor and voltage but have proplems with the moisture reading on the reciver end. im geting .00 coming up when its on 0 this so my display its a 4line lcd
Temp: 17.00 C
Humidity: 40.00 %
Moisture: 0 .00
Voltage: 5.00 V
This is the code for the TX unit
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int Sensor1 = A0;
int analogInput = A1;
float vout = 0.0;
float vin = 0.0;
float R1 = 30000.02;
float R2 = 7399.40;
int value = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
int Sensor1 = analogRead(A0);
value = analogRead(analogInput);
vout = (value * 5.0) / 1024.0;
vin = vout / (R2/(R1+R2));
Serial.print("<T");
Serial.print(t);
Serial.print(">");
delay(1000);
Serial.print("<H");
Serial.print(h);
Serial.print(">");
delay(1000);
Serial.print("<M");
Serial.print(Sensor1);
Serial.print(">");
delay(1000);
Serial.print("<V");
Serial.print(vin);
Serial.print(">");
delay(5000);
}
and the RX
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,21);
char inData[24];
byte index;
boolean started = false;
boolean ended = false;
void setup()
{
Serial.begin(9600);
Serial.println("Temperature & Humidity");
lcd.init();
lcd.backlight();
lcd.begin(20, 4);
lcd.setCursor(6, 1);
lcd.print("WELCOME");
delay(3000);
lcd.clear();
delay(100);
}
void loop()
{
lcd.setCursor(0, 0);
lcd.print("Temp:");
lcd.setCursor(0, 1);
lcd.print("Humidity:");
lcd.setCursor(0, 2);
lcd.print("Moisture:");
lcd.setCursor(0, 3);
lcd.print("Voltage:");
while(Serial.available() > 0)
{
char aChar = Serial.read();
if(aChar == '<')
{
started = true;
index = 0;
inData[index] = ' ';
}
else if(aChar == '>')
{
ended = true;
}
else if(started)
{
inData[index] = aChar;
index++;
inData[index] = ' ';
}
}
if(started && ended)
{
// Use the value
if(inData[0] == 'T')
{
inData[0] = ' ';
int windVal = atoi(inData);
Serial.println(" ");
Serial.print("Temp:");
Serial.print(inData);
Serial.print("C");
Serial.println(" ");
lcd.setCursor(11, 0);
lcd.print(inData);
lcd.print("C");
}
else if(inData[0] == 'H')
{
inData[0] = ' ';
int temp = atoi(inData);
Serial.println(" ");
Serial.print("Humidity:");
Serial.print(inData);
Serial.print("%");
Serial.println(" ");
lcd.setCursor(11, 1);
lcd.print(inData);
lcd.print("%");
}
else if(inData[0] == 'M')
{
inData[0] = ' ';
int temp = atoi(inData);
Serial.println(" ");
Serial.print("Moisture:");
Serial.print(inData);
Serial.println(" ");
lcd.setCursor(11, 2);
lcd.print(inData);
}
else if(inData[0] == 'V')
{
inData[0] = ' ';
int temp = atoi(inData);
Serial.println(" ");
Serial.print("Voltage:");
Serial.print(inData);
Serial.print("Volts");
Serial.println(" ");
lcd.setCursor(11, 3);
lcd.print(inData);
lcd.print("V");
}
started = false;
ended = false;
index = 0;
inData[index] = ' ';
}
}