Bluetooth-кнопка от одного Arduino к другому для включения светодиода

Для важного школьного проекта мне нужен модуль Bluetooth для связи между двумя модулями HC-05 в режиме ведущего и ведомого. Нажатие кнопки на ведомом устройстве должно приводить к загоранию светодиода на ведущем устройстве. Мне удалось соединить два устройства hc-05 друг с другом, но я не могу найти код и схему подключения, которые подойдут для того, что мне нужно. Любая помощь будет оценена по достоинству. Спасибоmaster code

ведомый код

, 👍0

Обсуждение

Когда у вас уже есть две платы Arduino и два модуля HC-05, подключенных друг к другу, какой схемы соединений и кода не хватает?, @Maximilian Gerhardt

HC-05 — это последовательные модули Bluetooth. Если вы подключили два HC-05, вы уже отправляете им AT-команды через последовательный интерфейс. В чём проблема с отправкой необходимой информации через последовательный интерфейс?, @chrisl

пожалуйста, опубликуйте код, который у вас есть на данный момент... тогда мы сможем дать вам некоторые подсказки... пожалуйста, не ждите готовых решений, так как это школьное задание, @jsotola

Не публикуйте код в виде изображений. В редакторе вопросов есть функция для корректного форматирования кода, вставленного в текст. Пожалуйста, воспользуйтесь ей., @chrisl


1 ответ


1

Итак, вы выполнили сложную часть и теперь вам нужна легкая часть :)

Во-первых, вам нужна кнопка (если нет, то достаточно просто соединить два провода). В интернете полно кратких руководств, вот одно из них https://www.arduino.cc/en/Tutorial/Button. В итоге у вас будет контакт, который переключается в высокий или низкий уровень при нажатии кнопки. Вы можете либо опросить/зациклить для определения нажатия, либо использовать прерывания (оставьте это на потом). Когда контакт обнаружит нажатие, нужно отправить данные через соединение HC05 ведущему устройству, например, «ON» или «1», главное, чтобы ведущее устройство это понимало. А когда он отключается, нужно отправить сообщение «off» или «0» (помните, что цифра 1 и символ «1» — это не одно и то же, поэтому убедитесь, что вы понимаете, что отправляете).

Когда ведущее устройство получает команду, оно выполняет код, который устанавливает высокий уровень на выводе (например, на выводе 7). К выводу 7 подключается положительный вывод светодиода, отрицательный вывод светодиода подключается к резистору сопротивлением 200–250 Ом, а другой конец резистора подключается к земле. Когда вывод 7 становится высоким, резистор загорается.

schematic

Как всегда, вам, вероятно, придется разобрать его, чтобы протестировать, создать небольшое приложение, которое переключает вывод 7 в состояние «высокий» на 2 секунды и «низкий» на 2 секунды и т. д. (точно так же, как моргание).

Существует явление, называемое «дребезгом», когда беспомощный человеческий палец нажимает на переключатель, но не создаёт мгновенного идеального соединения и идеального отключения. Из-за этого ведомое устройство может отправить 101010101010101, когда вы ожидаете только 1. Вы можете устранить дребезг программно или аппаратно, но беспокоиться об этом стоит только в том случае, если у вас качественный переключатель :)

,