I'm receiving the temperature readings on the receiver serial monitor, but i can't seem to display the temperature reading on an LCD display. I'm assuming i might need to change the temperature from a string back to float, i need assistance in doing this. Thanks
//Transmitter
#include <VirtualWire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 12
OneWire oneWire(ONE_WIRE_BUS);
// ?????????? Dallas Temperature.
DallasTemperature sensors(&oneWire);
void setup()
{
Serial.begin(9600);
vw_setup(2000);
vw_set_tx_pin(7);
Serial.println("Transmitter");
Serial.print("\n");
// Start up the library
sensors.begin();
}
void loop()
{
char msg[24];
sensors.requestTemperatures();
dtostrf(sensors.getTempCByIndex(0), 6, 2, msg);
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
}
//Reciever
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
Serial.print("Reciever");
Serial.print("\n");
vw_set_ptt_inverted(true);
vw_setup(2000);
vw_set_rx_pin(7);
vw_rx_start();
}
void loop()
{
char res[24];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
uint8_t buf[VW_MAX_MESSAGE_LEN];
if(vw_get_message(buf, &buflen))
{
digitalWrite(13,!digitalRead(13));
Serial.print("msg recieved...");
Serial.print("\n");
for(int i = 0;i < buflen;i++)
{
res[i] = buf[i];
}
digitalWrite(13,!digitalRead(13));
Serial.print(res);
Serial.print("\n");
}
}