Можно ли иметь 2 HC12 на одном Arduino (1 для приема и другой для передачи)?
Я работаю над проектом, и мне нужно отправить 2 данных и получить их одновременно.
Мой вопрос: Возможно ли, чтобы у 2 Arduino было 2 HC12 (всего 4), потому что я хочу, чтобы каждый Arduino отправлял и получал данные одновременно.
Мне трудно иметь 4 Ардуино.
@shamsa alb, 👍0
Обсуждение2 ответа
Да, вы можете - один на последовательных
выводах 0/1, а другой с помощью программного обеспечения
на любых других выводах. Обратите внимание, что один на SoftwareSerial
будет мешать другому на последовательном
, поскольку он отключает прерывания при отправке или получении.
Возможно, лучше использовать Arduino, который имеет несколько аппаратных последовательных портов. Может быть, одна из плат Teensy лучше подойдет для ваших нужд.
Кроме того, если (и я не знаком с модулями достаточно, чтобы знать, правильно ли это или нет) они действуют как прозрачный последовательный мост, то можно подключить один модуль в TX pin для передачи и другое в RX контакт для регистрации - чтение из последовательного получает от одного, и пишет к серийному передает через других.
Также обратите внимание, что вам придется убедиться, что обе пары модулей работают по разным каналам, чтобы предотвратить помехи между ними.
большое вам спасибо, это действительно полезно! могу я узнать, есть ли у вас какие-либо коды, которые могут быть полезны, @shamsa alb
@shamsaalb Нет. Как я уже сказал, я не знаком с модулями. Однако они выглядят как прозрачный последовательный мост, поэтому все, что вы "печатаете" с одного конца, появится на другом конце., @Majenko
Да, вам просто нужно подключить свой TX-вывод к контакту RX одного HC-12, а свой RX-вывод к контакту TX другого HC-12 и использовать отдельные каналы для обоих HC-12. А затем вы делаете то же самое на другой стороне, но вам, конечно, нужно поменять каналы - И вуаля.
Однако вам, возможно, потребуется принять меры предосторожности (дистанцирование / экранирование), чтобы избежать того, чтобы излучающий HC-12 паразитировал на канале ближайшего приемника.
Кстати, кажется, что следует как можно чаще воздерживаться от использования программных средств, которые недостаточно надежны для высокой скорости и, по-видимому, вызывают искажение данных.
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Возможно, вам придется предоставить ссылку на эту вещь HC12, которая у вас есть. Если вы пытаетесь использовать с ними определенную библиотеку, вам также следует упомянуть эту библиотеку., @timemage
Зачем вам 2 HC-12? Я думал, что они уже работают дуплексно, @chrisl
Было бы неплохо знать, что подразумевается под "двумя данными". Две связи? Два предмета? и т.д., @timemage
я использую arduino для двигателя в RC-самолете (1 arduino в небе, другой на земле), я хочу контролировать его скорость с земли с помощью HC12 (отправлять с земли и получать в небе), другой-отправить мне количество оборотов двигателя (отправляет с неба и получает с земли), так что всего 4 HC12 и 2 arduino, @shamsa alb
@chrisl HC-12 на самом деле является полудуплексным, но с небольшим буфером. Для истинного полного дуплекса вам понадобятся две пары модулей., @Majenko
как я могу узнать, является ли мой наполовину или полным дуплексом, @shamsa alb