#include #include #include #include "SPI.h" // Software SPI (slower updates, more flexible pin options): // pin 7 - Serial clock out (SCLK) // pin 6 - Serial data out (DIN) // pin 5 - Data/Command select (D/C) // pin 4 - LCD chip select (CS) // pin 3 - LCD reset (RST) Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3); const int receive_pin = 12; char temperatureChar[10]; char humidityChar[10]; struct package { float temperature = 0.0; float humidity = 0.0; }; typedef struct package Package; Package data; void setup() { Serial.begin(9600); // Initialise the IO and ISR vw_set_rx_pin(receive_pin); vw_setup(500); // Bits per sec vw_rx_start(); // Start the receiver PLL running display.begin(); display.setContrast(90); //display.display(); // show splashscreen // delay(1000); //display.clearDisplay(); // clears the screen and buffer // text display tests display.setTextSize(1); display.setTextColor(BLACK); display.setCursor(0,0); display.println("Hello, world!"); display.clearDisplay(); } void loop() { delay(30000); display.begin(); display.setContrast(60); display.clearDisplay(); display.setTextSize(1); display.setTextColor(BLACK); // display.setCursor(0,0); // display.println("Hello, world!"); // display.clearDisplay(); uint8_t buf[sizeof(data)]; uint8_t buflen = sizeof(data); // text display tests // printText("TEMPERATUR", 1,1,1); if (vw_have_message()) // Is there a packet for us? { vw_get_message(buf, &buflen); memcpy(&data,&buf,buflen); Serial.print("\nPackage:"); Serial.print(data.temperature); String temperatureString = String(data.temperature,1); temperatureString.toCharArray(temperatureChar,10); display.setTextSize(3); // display.setTextColor(WHITE, BLACK); // 'inverted' text display.setTextColor(BLACK); display.println(temperatureChar); // printText(temperatureChar,1,20,1); String humidityString = String(data.humidity,2); humidityString.toCharArray(humidityChar,10); printText(humidityChar, 1,33,2); Serial.print("\n"); Serial.println(data.humidity); // delay(2000); } } void printText(char *text, int x, int y,int textSize) { display.setCursor(x, y); // tft.setTextColor(color); display.setTextSize(textSize); display.println(text); display.setTextColor(BLACK); }