Принимаем данные по радиоканалу и отображаем их на LCD дисплее 1602A
[ Скачать с сервера (37.8 Kb) ]07.11.2016, 13:33

Прием данных из радиоканала и отображение их на LCD дисплее

Передатчик передает данные по радиоканалу, а приемник принимает и отображает в 1-ой строке номер принятого сообщения, во 2-ой строке - сообщение.

/*
 Принимаем данные по радиоканалу и отображаем их на LCD дисплее 1602A
*/

#include <LiquidCrystal.h> // Лобавляем необходимую библиотеку
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7)

//////////////////////////
#include <VirtualWire.h> //название библиотеки должно быть заключено в угловые скобки <>
byte message[VW_MAX_MESSAGE_LEN]; // a buffer to store the incoming messages
byte messageLength = VW_MAX_MESSAGE_LEN; // the size of the message
#define RECEIVER_PIN 11

int count;
#define BUF_SIZE 16
char buf[BUF_SIZE+1];

void setup() {
 // put your setup code here, to run once:
 lcd.begin(16,2);
 
 lcd.setCursor(0,0);
 lcd.print("Hello world!");
 lcd.setCursor(0,1);
 lcd.print("Arduino World!!!");
 //
 delay(1000);
 //lcd.clear();
 //
 count=0;
 //
 // приемник
 Serial.begin(9600);
 Serial.println("Device is ready");
 // Initialize the IO and ISR
 vw_set_rx_pin(RECEIVER_PIN);
 vw_setup(2000); // Bits per sec
 vw_rx_start(); // Start the receiver
}

void loop() {
 int i, l;
 // put your main code here, to run repeatedly:
 // в первой строке
 lcd.setCursor(0,0);
 itoa(count, buf, 10);
 lcd.print(buf); // отобразим кол-во принятых сообщений
 delay(200);
 // получили сообщение?
 if (vw_get_message(message, &messageLength)) {
 count++;
 // скопируем сообщение в буфер
 l=messageLength;
 if(l>BUF_SIZE) l=BUF_SIZE;
 for (i = 0; i < l; i++) {
 buf[i]=message[i];
 }
 // дополним буфер пробелами
 while(i<BUF_SIZE) {
 buf[i++]=' ';
 }
 buf[i]=0;
 // отобразим буфер
 Serial.print(count); Serial.print(") Received: "); Serial.println(buf);
 // во второй строке LCD - принятое сообщение
 lcd.setCursor(0,1);
 lcd.print(buf); 
 }
}

 

Категория: Arduino | Добавил: ae999
Просмотров: 481 | Загрузок: 4