Приемник и передатчик(433мГц)
- Войдите на сайт для отправки комментариев
Всем привет!
У меня есть две arduino nano. К одной присоединен приемник(433мГц) ко второму пину, к другой передатчик(433мГц) к 13 пину.
Решил потренироваться и начал это с передачи и приема десятичных чисел, но у меня не получилось передать даже бит. Видимо, я не очень понимаю как работает это все, отсюда и проблемы в написание кода.
Как я понимаю это:
1) Передатчик(13 пин): когда я пишу "digitalWrite(13, LOW);" - это значит, что передатчик не отправляет никакой испульс. Когда же я пишу "digitalWrite(13, HIGH);" - передатчик отправляет один импульс.
То есть, если к этому добавить задержку, то можно получить последовательность из нулей и единиц, что в свою очередь, можно перевести в десятичное число.
2) Приемник(2 пин): Второй пин всегда находится в состояние "LOW" и когда пришел какой-то импульс, он меняет состояние на HIGH, и потом обратно на "LOW".
Скетчи:
1) Передатчик:
void setup() { pinMode(13,OUTPUT); } void loop() { digitalWrite(13, LOW); delayMicroseconds(1000); digitalWrite(13, HIGH); delayMicroseconds(1000); }
2) Приемник:
int state; void setup() { Serial.begin(9600); pinMode(2,INPUT); } void loop() { state=digitalRead(2); if (state==LOW) {Serial.println("LOW");} else if (state==HIGH) {Serial.println("HIGH");} delay(1000); }
Что из этого получается: Всякими манипуляциями я понял, что приемник что-то да ипринимает, но как это устроено, я так и не понял, потому что мониторе порта постоянно высвечивается то "LOW", то "HIGH"(даже если отключить передатчик).
Объясните, пожалуйста, как с этим работать и как можно сделать передачу десятичного числа.
Заранее спасибо)
https://www.youtube.com/watch?v=T784B_THCBE
https://www.youtube.com/watch?v=T784B_THCBE
интересно, спасибо большое. Как попробую, сразу отпишу)
Вроде бы разобрался с этой библиотекой("VirtualWire").
Но возник один вопрос: смогу ли я принимать сообщение от передатчика, который с этой библиотекой никак не связан, допустим, ключ от шлагбаума?
Могу предположить, что нет. Тогда вопрос остается: как сделать это с помощью стандартных средств?
Чтобы чего-нить по(д/?)слушать на радио, есть другая библа RC-switch
Чтобы чего-нить по(д/?)слушать на радио, есть другая библа RC-switch
Изначально пробовал реализовать это с помощью "RC-switch", но я так понял, что приемник сможет принять информацию, только если она была отправлена передатчиком с помощью этой же библиотеки.
Если не прав, то поправте меня. Просто я пытался отправлять испульс меняя состояние пина(digitalWrite(13, HIGH)), к которому подключен передатчик, а принимать с помощью этой библиотеки, но у меня ничего не получилось.
И почему у приемника состояние пина само меняется, даже если ничего не отправлять в эфир?
Приёмник такой, самый дешёвый, сверхрегенеративный, он всегда шумит.
Приёмник такой, самый дешёвый, сверхрегенеративный, он всегда шумит.
Спасибо, буду знать)