Stap 6: RX MODULE(CODE)
RX CODE
/*
SimpleReceive
Deze schets worden weergegeven tekenreeksen die worden ontvangen via de VirtualWire
Sluit de ontvanger gegevens pin naar Arduino pin 11
*/
#include
#include
byte bericht [VW_MAX_MESSAGE_LEN]; een buffer voor het opslaan van binnenkomende berichten
byte messageLength = VW_MAX_MESSAGE_LEN; de grootte van het bericht
LiquidCrystal lcd (7, 6, 5, 4, 3, 2);
Variabelen globales:
char cad [100];
int pos = 0;
VOID Setup
{
LCD.begin (20, 4); LCD configuratie, 4 línes 20 tekens cada una.
lcd.setCursor (0, 0);
LCD.write("booting");
delay(1000);
POS = 0;
LCD.Clear();
LCD.write ("laadcode");
delay(1000);
POS = 0;
LCD.Clear();
LCD.write(".");
delay(900);
LCD.write(".");
delay(900);
LCD.write(".");
delay(900);
POS = 0;
LCD.Clear();
LCD.write("Instructables");
delay(900);
Serial.begin(9600);
Serial.println ("apparaat is klaar");
Initialiseren van de IO en ISR
vw_setup(2000); Bits per seconde
vw_rx_start(); Start de ontvanger
}
void loop
{
byte buf [VW_MAX_MESSAGE_LEN];
byte buflen = VW_MAX_MESSAGE_LEN;
int i;
int k = VW_MAX_MESSAGE_LEN;
Als (vw_get_message (buf, & buflen)) / / Non-blocking
{
Serial.Print ("ontvangen:");
for (int i = 0; ik < buflen; i ++)
{
Serial.write(BUF[i]);
}
Serial.println();
}
Als (vw_get_message (buf, & buflen))
{
if(POS < 4)
lcd.setCursor (0, pos);
anders
{
POS = 0;
LCD.Clear();
}
LCD.write("distance:");
voor (ik = 0; ik < buflen; i ++)
{
LCD.write(BUF[i]);
POS ++;
}
LCD.write("cm"); / / CM of INC
}
}