HC-05 подключение к Arduino
Я просматривал StackExchange и искал в Интернете и не могу найти ответ на свою проблему.
Настройка: Arduino Nano 168 ВЕРСИЯ HC-05:3.0-20170601
Я пытаюсь подключить свой телефон Android к моему Nano для управления выходом. Я нашел тонны различных примеров, но все они в основном сводятся к MIT App Inventor для создания приложения для подключения через BT и отправки данных в Nano для управления.
После многих попыток безрезультатных, я попытался сделать следующее:
#include <SoftwareSerial.h>
int light=8;
int Received=0;
int light_state =0;
SoftwareSerial BTSerial(10, 11); // RX | TX
void setup(){
Serial.begin(38400);
pinMode(light,OUTPUT);
BTSerial.begin(38400);
}
void loop(){
// Keep reading from HC-05 and send to Arduino Serial Monitor
if (BTSerial.available()) {
Serial.write(BTSerial.read());
}
if(BTSerial.available()>0) {
Received = BTSerial.read();
}
if (light_state == 0 && Received == '1') {
digitalWrite(light,HIGH);
light_state=1;
Received=0;
}
if (light_state ==1 && Received == '1') {
digitalWrite(light,LOW);
light_state=0;
Received=0;
}
}
Итак, когда я запускаю приложение MIT на своем телефоне для подключения к HC-05, индикатор состояния на HC-05 меняется. Перед подключением индикатор состояния быстро мигает. После подключения он медленно мигает.
У меня есть последовательный монитор, открытый на ноутбуке, контролирующем Nano. HC-05 соединяется через контакты 10 и 11. Когда телефон подключается к HC-05, данные, напечатанные на последовательном мониторе, являются мусором.
⸮х⸮х⸮⸮х⸮х⸮х⸮⸮хххххх⸮х⸮⸮ХХ⸮⸮ХХХ⸮⸮
Вот что я получаю.
Приложение настроено на передачу "1" через BT к Nano. Когда я нажимаю кнопку, чтобы отправить 1, никаких данных не поступает. Но каждый раз, когда я выбираю HC-05 и говорю приложению подключиться к устройству, я получаю ту же строку данных выше.
Заранее спасибо за помощь.
@Chris Wren, 👍1
Обсуждение1 ответ
Эта проблема была решена. Возникла проблема с четностью и стоп-битами.
При настройке коммуникаторов arduino помните, скорость передачи данных, 1 стоп-бит, 0 битов четности.
- Проблемы с последовательной связью от Arduino к Bluetooth HC-05
- Проблема с загрузкой Bluetooth на Arduino HC-05 v4.0
- Не удается отправить строку с arduino на обработку через hc05
- Автомобиль-робот не работает
- Первый раз работаю с ардуино, нужна помощь в адаптации проекта с UNO на NANO
- Подключение нескольких модулей HC-05 к одной компьютерной системе
- Проблемы с надежным подключением с использованием HC-05 в качестве ведущего устройства Bluetooth
- Модуль Bluetooth HC-05 мигает красным светом - Arduino Uno
Кажется, что у вас несовпадающая скорость передачи данных. Действительно ли HC-05 установлен на 38400 бод? Вы можете попробовать другие бодраты для проверки, @chrisl
Я забыл упомянуть, могу ли я получить доступ к HC-05 и запустить AT-команды для считывания настроек с HC-05., @Chris Wren
@chrisl Я проверил скорость передачи данных на HC-05 с помощью AT-команд, но сегодня вечером я еще раз проверю ее. На последовательном мониторе я проверил каждую скорость передачи данных, но это было только между Nano и ноутбуком., @Chris Wren
@chrisl, я проверил настройки. Я использовал AT+UART? и он вернул 9600, 0, 0. Я сбросил его до 34800, 1, 0. Я посмотрел настройки по умолчанию для Arduino Nano, и он сказал, что по умолчанию это 8-битное слово, 1 стоп-бит и 0 битов четности. Поэтому я позаботился о том, чтобы соответствовать этой установке. Вскоре я проведу еще одно испытание., @Chris Wren
После получения скорости и битов правильно, я получаю данные через порт. Однако все, что я получаю, это: +ДИСК:УСПЕХ, @Chris Wren
где ты это взял?, @chrisl
@chrisl, я получил эти устройства с ebay. Однако я обнаружил, что мой аппаратный и Нано-код верен (я настроил программный последовательный порт и использовал программу терминала BT на своем телефоне для отправки данных с телефона на HC-05 на программном порту nano, а затем nano сбрасывает данные на аппаратный последовательный порт моего последовательного монитора на моем ноутбуке). Моя проблема заключается где-то в коде моего приложения Inventor. Именно над этим я сейчас и работаю., @Chris Wren
Вы должны добавить правильный ответ и закрыть этот вопрос.А затем задайте еще один вопрос, касающийся вашего приложения., @Sigma