Stap 5: Ontvanger schets
Er is meer actie in deze schets:
Eerst de bibliotheken in te laden:
#include <VirtualWire.h>
#include<Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
Definieer vervolgens de variabelen: en initialiseren van het LCD-scherm
#define I2C_ADDR 0x27 //Define I2C Address where the PCF8574A is<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;
//Initialise the LCD LiquidCrystal_I2C lcd(I2C_ADDR, En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
Stel de overdrachtssnelheid tot 2000bps in de void setup ik definiëren van het LCD-scherm, inschakelen van de verlichting, de RX-pincode instellen op digital 12 op de NANO, en vertellen van de ontvanger te luisteren naar binnenkomende transmissie.
//Define the LCD as 16 column by 2 rows <br> lcd.begin (16,2); //Switch on the backlight lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH); //Define the receiver pin and rate vw_set_rx_pin(12); //Sets pin D12 as the RX Pin vw_setup(2000); // Bits per sec vw_rx_start(); // Start the receiver PLL running
In de leegte lus, de NANO gecontroleerd voor verzending, en als het een ontvangt, het afgedrukt "de temp is:" op de eerste regel op het LCD-scherm en wordt vervolgens de waarde met graden Celsius op de tweede regel afgedrukt
uint8_t buf[VW_MAX_MESSAGE_LEN];<br> uint8_t buflen = VW_MAX_MESSAGE_LEN; if( vw_get_message(buf, &buflen) ) { lcd.setCursor(0, 0); lcd.print("Temp inside is:"); lcd.setCursor(3,1); for (i = 0; i < buflen; i++) { lcd.write(buf[i]); } lcd.print((char)223); lcd.print("C");
De code is gekoppeld in deze stap
Veel plezier bouwen