Многоканальная связь с Arduino и передатчиком HC-12

Модуль HC-12 имеет 100 возможных каналов, начиная с частоты 433 МГц. Кто-нибудь может сказать мне, как запрограммировать Arduino на одновременное использование нескольких каналов? Моя цель - построить радиоуправляемый передатчик с Arduino и модулем HC-12 для квадрокоптера. Поэтому мне нужно 6 каналов, как и обычному передатчику. Заранее спасибо!

, 👍-1


3 ответа


2

Я полагаю, что вы неправильно понимаете, что подразумевается под каналами. 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), считывайте значения, которые следуют в качестве элементов управления квадрокоптером.

,

1

как я могу подключить 4 различных модуля HC12 к модулю 1single через USB-TTL

,

Это не дает ответа на вопрос. Чтобы задать другой вопрос, просто нажмите [Задать вопрос] (https://arduinoprosto.ru/q/ask ) выше. Если вы хотите, включите ссылку на этот вопрос, чтобы помочь обеспечить контекст., @sempaiscuba


0

Я сам начинаю с HC-12, и, как я понимаю, вы можете получить доступ только к 1 модулю за раз, выбрав для каждого модуля отдельный канал, при условии, что вы настроили модули на отдельные каналы, вы не можете получать данные от нескольких модулей. даже если установить один и тот же канал в одно и то же время, это будет просто беспорядок несортируемых данных. Но вы можете выбирать один канал за другим и собирать каждый набор данных отдельно с 1 по 6, а затем извлекать необходимую информацию с помощью AT+C001,002 и т. д. Или вы можете использовать 1 RX и запрограммировать встроенную плату Arduino для последовательного переключения 6 двигателей и таким образом собирать 6 наборов данных. на этот вопрос было бы легче ответить с помощью схемы предложенной вами схемы.

,