Помогите с передачей 433Мгц
- Войдите на сайт для отправки комментариев
Сб, 28/05/2016 - 10:37
Всем привет. Не ругайтесь, я в этом деле новичо. Вобщем собрал схему: два ардуино, один датчик температуры (DS18B20)
, передатчик 433Мгц и соответственно приемник. Схема работает из примера библиотеки VirtualWire, сигнал передается. Проблема в том что не могу передать значения датчика температуры для вывода в serial port.
ПОМОГИТЕ ПОЖАЛУЙСТА!!!
PS: Гугл не помог(.
Тут Вам тоже никто не поможет, пока не выложите свои (не примеры из библиотеки, они лишь основа) исходники скетчей передатчика и приёмника. Как выкладывать, написано здесь : http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
Исправьте ошибки в строке 22 скетча передатчика и строке 10 скетча приёмника.
Но, чьёрт побьери, Евгений, как Вам это удаётся ???
Извеняюсь, не понял.
Вобщем получилось передать значения,но как с датчика воткнуть не могу понять
передатчик
#include <Wire.h> #include <VirtualWire.h> #include <EasyTransferVirtualWire.h> long a=1; long b=10; long c=100; //----------------------------- EasyTransferVirtualWire ET; struct SEND_DATA_STRUCTURE { byte ID; long a ; long b ; long c ; }; SEND_DATA_STRUCTURE mydata; void setup(void) { Serial.begin(9600); //работа с 433мгц ET.begin(details(mydata)); mydata.ID = 1; vw_set_ptt_inverted(true); vw_set_tx_pin(5); //порт к которому подключен передатчик 433 мГц vw_setup(2000); randomSeed(analogRead(0)); } void loop(void) { for (int i=0; i <= 10; i++){ mydata.a = a+i; mydata.b = b+i; mydata.c = c+i; ET.sendData(); delay(3000); //время что бы передатчик успел передать данные } }приемник
#include <VirtualWire.h> #include <EasyTransferVirtualWire.h> #include <Wire.h> EasyTransferVirtualWire ET; struct SEND_DATA_STRUCTURE { byte ID; long a ; long b ; long c ; }; SEND_DATA_STRUCTURE mydata; void setup(){ ET.begin(details(mydata)); Serial.begin(9600); vw_set_ptt_inverted(true); vw_setup(2000); // Скорость порта vw_set_rx_pin(8); //порт к которому подключен приемник 433 мГц vw_rx_start(); } void loop(){ if(ET.receiveData()){ if (mydata.ID == 1) { // Температуру в градусах Цельсия Serial.print("a="); Serial.println(mydata.a); Serial.print(" b="); Serial.println(mydata.b); Serial.print(" c="); Serial.println(mydata.c); Serial.println(); Serial.println(); delay(1000); } } }никогда не работал с передачиками, но по скетчу
отвечает за передачу инфомации что записано в "mydata" , нужно обявить новою константу записать в нее данние с датчика заменить на "mydata"
поправте если что не так .
Но, чьёрт побьери, Евгений, как Вам это удаётся ???
Дык, хрустальный шар и всё такое.