Модуль Bluetooth (HC05) работает с Arduino Uno, но не с макетной платой (ATmega328).

В настоящее время я работаю над проектом, который требует связи между телефоном Android (Galaxy s4) и микропроцессором ATmega328. Для беспроводного подключения этих устройств я использую модуль bluetooth HC05, а для понимания соединения я использую предварительно созданные коды Arduino (включение и выключение светодиодов) и приложение для Android под названием blueterm.

Это соединение установлено и может передавать данные при подключении к Arduino uno, но как только этот чип удаляется и подключается к автономной макетной плате, соединение прерывается. Автономный макет работает нормально и был протестирован со многими другими проектами, и я прикрепил соединение с макетом ниже. HC05 при подключении к макетной плате изменяет шаблон мигания, чтобы уведомить пользователя о подключении, но последовательное соединение никогда не устанавливается. Мы будем очень признательны за любую помощь, если вам нужна какая-либо другая информация, не стесняйтесь спрашивать.

, 👍0

Обсуждение

Похоже, 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


3 ответа


1

Если индикатор мигает, устройство ожидает сопряжения с другим приемопередатчиком Bluetooth (вашим телефоном). После сопряжения светодиод будет гореть постоянно. Заводской код сопряжения обычно 1234. По фотографии я не могу понять, как HC-05 Rx & Tx подключены к вашему ATmega328, но обратите внимание, что они должны быть кросс-соединены; то есть Rx -> Tx и Tx -> Rx.

,

0

У меня была такая же проблема, и я решил ее с помощью указанной ниже схемы.HC05 с Atmega328

,

1

У меня была эта проблема. Я использовал SoftwareSerial для определения выводов rx и tx как 3 и 2. Работало нормально на Arduino UNO, но не на автономном ATMEGA328. Решением было не пытаться назначать выводы rx и Tx, а подключить выводы HC 05 rx и tx напрямую к выводам RX и TX на ATmega 328.

,