Модуль Bluetooth (HC05) работает с Arduino Uno, но не с макетной платой (ATmega328).
В настоящее время я работаю над проектом, который требует связи между телефоном Android (Galaxy s4) и микропроцессором ATmega328. Для беспроводного подключения этих устройств я использую модуль bluetooth HC05, а для понимания соединения я использую предварительно созданные коды Arduino (включение и выключение светодиодов) и приложение для Android под названием blueterm.
Это соединение установлено и может передавать данные при подключении к Arduino uno, но как только этот чип удаляется и подключается к автономной макетной плате, соединение прерывается. Автономный макет работает нормально и был протестирован со многими другими проектами, и я прикрепил соединение с макетом ниже. HC05 при подключении к макетной плате изменяет шаблон мигания, чтобы уведомить пользователя о подключении, но последовательное соединение никогда не устанавливается. Мы будем очень признательны за любую помощь, если вам нужна какая-либо другая информация, не стесняйтесь спрашивать.
@user3760701, 👍0
Обсуждение3 ответа
Если индикатор мигает, устройство ожидает сопряжения с другим приемопередатчиком Bluetooth (вашим телефоном). После сопряжения светодиод будет гореть постоянно. Заводской код сопряжения обычно 1234. По фотографии я не могу понять, как HC-05 Rx & Tx подключены к вашему ATmega328, но обратите внимание, что они должны быть кросс-соединены; то есть Rx -> Tx и Tx -> Rx.
У меня была эта проблема. Я использовал SoftwareSerial для определения выводов rx и tx как 3 и 2. Работало нормально на Arduino UNO, но не на автономном ATMEGA328. Решением было не пытаться назначать выводы rx и Tx, а подключить выводы HC 05 rx и tx напрямую к выводам RX и TX на ATmega 328.
- Самая низкая мощность, возможная в Arduino
- NRF51822 ± Arduino Uno/ATmegaXXX?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
- Запрограммировать ATMega328P и использовать его без платы Arduino.
- Можно ли измерить скорость акселерометром? Насколько точно?
- Arduino Pro Micro, получить данные с контакта Tx?
- Не удается снова загрузиться после смены платы
- Хочу создать Bluetooth audio control (увеличение/уменьшение громкости, воспроизведение, пауза и т.д.) для смартфона
Похоже, HC05 следует переместить на одну строку влево., @Gerben
Это может быть плохой угол, но последний штифт не нужен на HC05, если только не отредактировать его внутренние настройки. Соединение не меняется при возврате к arduino, просто контакты, которые идут к atmega328, перемещаются с макета на arduino., @user3760701
Я предполагаю, что ваш модуль имеет другую распиновку, чем тот, который я нашел в Интернете. Я тоже проверял, но у Uno нет подтягивающих резисторов, так что дело не в этом. У вашей атмеги тоже 3,3В?, @Gerben
Вы уверены, что контакт TX (со стороны Bluetooth) подключен к контакту 0 на чипе, а RX подключен к контакту 1?, @Fadi Hanna AL-Kass
Я хотел бы дать несколько предложений: если модуль BT подключается к телефону (светодиод горит постоянно, не мигает) и данные не получены, я бы провел некоторые тесты, например: подключил Rx-Tx и проверил, повторяет ли MCU напечатанное письмо. Подключите Rx-Tx модуля BT и проверьте, не повторяется ли на Android напечатанное сообщение., @Martynas
Несколько обходных конденсаторов на ATMega и рядом с регулятором были бы неплохой идеей. У вас есть фильтрующие конденсаторы, но нет ничего физически близкого и достаточно компактного, чтобы выдерживать высокочастотные токи. Модуль Bluetooth также является устройством с довольно высоким током, когда он передает, и ваш питается по очень скрытому маршруту через макетную плату, мимо ATmega. Подумайте о том, чтобы подключить его напрямую к регулятору., @Chris Stratton
У меня тоже была такая же проблема. Я использовал подтягивающие резисторы 1k для RX и TX. Тогда это работает., @Geethanjana Wanigasekara