Многоканальная связь с Arduino и передатчиком HC-12
Модуль HC-12 имеет 100 возможных каналов, начиная с частоты 433 МГц. Кто-нибудь может сказать мне, как запрограммировать Arduino на одновременное использование нескольких каналов? Моя цель - построить радиоуправляемый передатчик с Arduino и модулем HC-12 для квадрокоптера. Поэтому мне нужно 6 каналов, как и обычному передатчику. Заранее спасибо!
@newbee, 👍-1
3 ответа
Я полагаю, что вы неправильно понимаете, что подразумевается под каналами. HC-12 может передавать до 100 каналов, что означает различные частоты в диапазоне 433 МГц. Например, 433,05 МГц или 433,15 МГц. Это делается для того, чтобы несколько модулей HC-12 могли использоваться рядом друг с другом, и только модуль, принимающий на канале передатчика, будет принимать широковещательные данные.
Все, что вам нужно сделать для вашего квадрокоптера, - это отправить массив байтов, который начинается с константы, за которой следуют нужные вам данные (пакет). Пример:
byte packet[] = {0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}
// в вашем цикле
packet[1] = ; HOW MUCH THE ENGINE IS THROTTLED
packet[2] = ; HOW FAR THE CONTROL TO GO FORWARD IS DEPRESSED
// etc
Выполните итерацию по этому массиву, записав данные через последовательный порт на HC-12. Всякий раз, когда ваш приемник обнаруживает константу (в данном случае 0x00), считывайте значения, которые следуют в качестве элементов управления квадрокоптером.
Я сам начинаю с HC-12, и, как я понимаю, вы можете получить доступ только к 1 модулю за раз, выбрав для каждого модуля отдельный канал, при условии, что вы настроили модули на отдельные каналы, вы не можете получать данные от нескольких модулей. даже если установить один и тот же канал в одно и то же время, это будет просто беспорядок несортируемых данных. Но вы можете выбирать один канал за другим и собирать каждый набор данных отдельно с 1 по 6, а затем извлекать необходимую информацию с помощью AT+C001,002 и т. д. Или вы можете использовать 1 RX и запрограммировать встроенную плату Arduino для последовательного переключения 6 двигателей и таким образом собирать 6 наборов данных. на этот вопрос было бы легче ответить с помощью схемы предложенной вами схемы.
- Реализовать связь Visible Light с помощью Arduino
- Как автоматически сбросить nrf24l01+ с кодом?
- SIM800L GSM-модуль, нет сигнала сети RSSI
- Проблема последовательной связи RS-485 с arduino
- Может ли Arduino Uno управлять светодиодом, звуком и дымом?
- Печать string and integer LCD
- Как заставить Arduino взаимодействовать с тремя другими Ардуино?
- Почему мои часы реального времени показывают неверное время с моего ПК?
Это не дает ответа на вопрос. Чтобы задать другой вопрос, просто нажмите [Задать вопрос] (https://arduinoprosto.ru/q/ask ) выше. Если вы хотите, включите ссылку на этот вопрос, чтобы помочь обеспечить контекст., @sempaiscuba