Arduino и модули 433МГц
- Войдите на сайт для отправки комментариев
Здравствуйте, сделал метеостанцию с датчиком измерения наружного воздуха DS18B20 , предающий температуру наружного воздуха каждую минуту через передающий модуль 433МГц.Скетч брал из готовой библиотеки VirtualWire переделанную под свое устройство. Так вот, хочу сделать так, чтобы при пропадании сигнала передатчика(например отказ датчика температуры, или отказ питания), на экране метеостанции температура оставалась не такой какой была в последний момент измерений, а например высвечивалось сообщение "НЕТ ДАННЫХ" или что то подобное(например 000). Подозреваю, что надо присвоить метку byte ID=1 передатчику, и запускать счетчик минуты на полторы-две, и если сигнал с меткой byte ID=1 не приходит на приемник, то выводить сообщение о том что ID!=0 и соответственно печатать сообщение о том, что нех данных с передатчика. Направьте в нужном направлении.
во-первых понять что вы делаете ... таки передаете или принимаете ;)
Я передаю температуру, и принимаю эту же температуру, но мне надо чтобы при отключении передатчика на приемнике высвечивалось сообщение что нет данных с передатчика.
ыыыы :)))
дубина. ты принимаешь на плату или передаешь и в какой момент знаешь где передавать а где принимать.
или там у тебя оба долбят нонстоп один передачу другой прием.
посути если думать то наверно плата должна в опред. время запросить датчик. т.е. она приемник будет а датчик передатчик.
соответственно и плата должна обрабатывать событие что не получила ответ от датчика-передатчика в отведенный для этог овременной промежуток ответа , т.е. не приняла сигнал.
з.ы.
если ты не понял то разжую.
твой датчик якобы каждую миниту передает в эфир сигнал с температурой. у сигнала есть своя длина на которой он будет в эфире.
а плата твоя если не все время на приеме то она просто пропустит сигнал т.к. время будет же не синхронизировано.
т.е. плата приемник просто пропустит время эфира твоего сигнала.
Передающие модули на 433Мгц работают только на передачу, а приемные-только на прием. Соответственно дубина не я!!! Если делать запрос, то у меня должго установленно по передатчику и приемнику на каждом устройстве.
Короче сам разобрался.
Разобраться то я разобрался, да вот при встаквке кода в другой код нифига не работает. Дайте наводку))
это код приемника
Мне нужно чтобы при пропадании сигнала передатчика, приемник выводил информацию что сигнал отсутствует. Я сделал так, вроде работает, но при вставки этого кода приемника в нужную мне программу ничего не работает. Проблема идимо в том, что когда сигнал есть, передатчик отправляет сигнал ID=1, но при пропадании сигнала с передатчика(отключаю питание) сигнал ID=1 так и остается и поэтому приемник не может определить отсутствие сигнала. Наверно нужно в коде приемника установить какую то метку....
а это код передатчика
это код приемника
Думаю что вам надо просто переменную int ID1=0; объявить не как глобальную, а как локальную, в самом начале loop.
int слишком жирно для этой переменной, лучше byte.