Arduino väderstation med RF433 MHz moduler (5 / 5 steg)
Steg 5: Mottagaren skiss
Det finns mer action i denna skiss:
Först ladda biblioteken:
#include < VirtualWire.h >
#include < Wire.h >
#include < LCD.h >
#include < LiquidCrystal_I2C.h >
Sedan definiera variabler: och initiera LCD
#define I2C_ADDR 0x27 //Define I2C adress där PCF8574A är < br > #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
int I;
Initiera LCD
LiquidCrystal_I2C lcd (I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);
I void setup jag definiera LCD, slå på bakgrundsbelysningen, ange RX stift på digital 12 på NANO, ange överföringshastigheten till 2000bps och berätta för mottagaren att lyssna efter inkommande sändning.
Definiera LCD som 16 kolumn med 2 rader < br > lcd.begin (16,2);
Slå på bakgrundsbelysningen
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
Definiera mottagaren pin och ränta
vw_set_rx_pin(12); Uppsättningar pin D12 som RX stift
vw_setup(2000); Bitar per sekund
vw_rx_start(); Starta mottagaren PLL driften
I void slingan, NANO kontroller för överföring, och om den tar emot en, det skriver "temp är:" på den första raden på LCD-skärmen och sedan skriver ut värdet med grader Celsius på andra raden
uint8_t buf [VW_MAX_MESSAGE_LEN]; < br > uint8_t buflen = VW_MAX_MESSAGE_LEN;
om (vw_get_message (buf, och buflen))
{
lcd.setCursor (0, 0);
LCD.Print ("Temp inne är:");
lcd.setCursor(3,1);
för (jag = 0; jag < buflen; i ++)
{
LCD.write(BUF[i]);
}
LCD.Print((Char)223);
LCD.Print("C");
Koden är fäst i det här steget
Ha roligt att bygga det