Приемник и передатчик(433мГц)

zzzzza
Offline
Зарегистрирован: 18.11.2016

Всем привет!

У меня есть две 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"(даже если отключить передатчик).

Объясните, пожалуйста, как с этим работать и как можно сделать передачу десятичного числа.

Заранее спасибо)

Navigator
Navigator аватар
Offline
Зарегистрирован: 26.01.2016
zzzzza
Offline
Зарегистрирован: 18.11.2016

интересно, спасибо большое. Как попробую, сразу отпишу)

zzzzza
Offline
Зарегистрирован: 18.11.2016

Вроде бы разобрался с этой библиотекой("VirtualWire").

Но возник один вопрос: смогу ли я принимать сообщение от передатчика, который с этой библиотекой никак не связан, допустим, ключ от шлагбаума?

Могу предположить, что нет. Тогда вопрос остается: как сделать это с помощью стандартных средств?

Волшебник
Offline
Зарегистрирован: 22.12.2016

Чтобы чего-нить по(д/?)слушать на радио, есть другая библа RC-switch

zzzzza
Offline
Зарегистрирован: 18.11.2016

Волшебник пишет:

Чтобы чего-нить по(д/?)слушать на радио, есть другая библа RC-switch

Изначально пробовал реализовать это с помощью "RC-switch", но я так понял, что приемник сможет принять информацию, только если она была отправлена передатчиком с помощью этой же библиотеки.

Если не прав, то поправте меня. Просто я пытался отправлять испульс меняя состояние пина(digitalWrite(13, HIGH)), к которому подключен передатчик, а принимать с помощью этой библиотеки, но у меня ничего не получилось.

zzzzza
Offline
Зарегистрирован: 18.11.2016

И почему у приемника состояние пина само меняется, даже если ничего не отправлять в эфир?

Волшебник
Offline
Зарегистрирован: 22.12.2016

Приёмник такой, самый дешёвый, сверхрегенеративный, он всегда шумит. 

zzzzza
Offline
Зарегистрирован: 18.11.2016

Волшебник пишет:

Приёмник такой, самый дешёвый, сверхрегенеративный, он всегда шумит. 

Спасибо, буду знать)