Проблемы отправки команды из Arduino nano на блютус модуль HM10
- Войдите на сайт для отправки комментариев
Пт, 29/05/2020 - 17:27
Здравствуйте. Подскажите где искать и что почитать, а не могу понять почему не отправляет команды с арудино нано на блютуз модуль. Пробовал на аппаратном сериале (Arduino mega) все корректно работает и приём и отправка команд. Хотя пробовал подключать модуль к аппаратным пинам ардуино нано и модуля HM10 (естественно без участия компьютера).
Пример кода.
#include <SoftwareSerial.h> SoftwareSerial SIM(8, 9); // Указывая выводы RX, TX (любые выводы). //#define SIM Serial2 void setup() { Serial.begin(9600); SIM.begin(9600); // put your setup code here, to run once: Serial.println("Start\n"); SIM.print("AT\r\n"); Serial.print("AT\r\n"); delay(1000); SIM.print("AT+PIN111111\r\n"); } void loop() { // put your main code here, to run repeatedly: delay(10); if (SIM.available() > 0) { Serial.write(SIM.read()); } if (Serial.available()) { SIM.write(Serial.read()); } }
Такое ощущение, что как-то некорректно отрабатывает реализацию сериала программный код. Один раз на какой-то ардуинке нано (есть три штуки) проскочил корректный результат, но потом повторить результат не вышло. Перепрошивал ардуинку на новую прошивку. Версия IDE 1.8.12.
Схему подключения рисуйте.
Вот тут ваша проблема описана - http://arduino.ru/forum/apparatnye-voprosy/monitor-porta
Обострение сегодня видимо ...
Как-то так. Вроде верно перерисовал. Питание от USB
Перечитывал. Проблема неправильного подключения. У меня же, подключено правильно. Сообщения от модуля HM10 приходять (пробовал включать светодиод), но не хочет отправлять.
У меня на модуле HM-10 уже стоит преобразователь уровней, например. Если на вашем тоже, то дополнительный делитель наверное способен уронить TTL-level ниже нижнего.
Делителя нет, на модуле пишет 3,3V.
Было меня такое предчувствие что может недостаточное напряжение, но на mega работает и напряжение примерно такое же. Хотя я перепроверю.
Как нет? На рисунке с фритцинга есть. И ХМ с преобразователями.
На скорости 9600 с софтсериалом проблем практически нет. А вот RX и TX местами можно спутать.
Берите мегу, проверяйте на железном порту, потом ей же - на софтсериальном. И только после этого уже на нану. Только на ней тупо 3.3в может не быть в достаточном объеме.
Вы же писали об преобразователе на самом модуле... "У меня на модуле HM-10 уже стоит преобразователь уровней". Я в ответ написал, что модуль принимает 3,3V поэтому есть делитель на резисторах отдельно.
... А вот RX и TX местами можно спутать - перепроверял несколько раз.
Я же писал, что пробовал на аппаратном сериале (Arduino mega) все корректно работает. Скорей всего что Вы правы насчет напряжения. Проверю.
Я не просто так написал алгоритм поиска проблемы:
1) Mega HardwareSerial
2) Mega SoftwareSerial
3) Nano SoftwareSerial
Если на (2) перестанет работать - значит RX/TX местами перепутали скорее всего. Если на (3) - то в питании искать грабли.
Я понял. Спасибо. Я написал что проверю. И потом напишу свои результаты. Если надо будем дальше разбирать. Пока ждем тестов.
sadman41: Неужто Вам не обидно? Этот человек обос-ал, всех, кто ему пытались помочь, завел новый аккаунт и опять задает те же вопросы. Он и Вас в итоге обос-ет. Это уже клиника...
Если тот же самый, то неприятно, конечно.
Буду надеяться, что другой.
Я не просто так написал алгоритм поиска проблемы:
1) Mega HardwareSerial
2) Mega SoftwareSerial
3) Nano SoftwareSerial
Если на (2) перестанет работать - значит RX/TX местами перепутали скорее всего. Если на (3) - то в питании искать грабли.
1) Мега Hardware - работает
2) Мега Software - работает
3) Nano Software - не работает.
Поменял один резистор на делителе и теперь делитель выдает 2,8V на вывод RX модуля (на меге это значение равно ~2,2V). Не помогло.
Подскажите, пожалуйста, что еще может быть. Напряжение в роде как норм. Можете еще ток измерить...
Если питание свистка на нане от 5в, то не вижу более причин отказа.
Я же тоже на нане свой гонял постоянно - ничего странного не заметил.
Можете фото собранного ещё запостить - кто-нить опытным глазом зыркнет.
Добавил отдельное питание, на всякий случай. Ничего не дало.
Что-то типа этого... Если понятно.
Вспомнил, что у модуля сложные отношения с \r\n. Странно, что на меге работало.
Код.
Результат:
Модуль: https://aliexpress.ru/item/1911392203.html
Без \r\n команда в принципе не принимает модуль. Проверил и на Меге, и с помощью программы HMComAssistant.
А что значить "сложные отношения с \r\n". Есть где почитать про это...
Мой модуль:
Очень вероятно что прошивка старая. Скиньте свою версию, если можно. Спасибо.
Ну вот у меня с \r\n не принимал ничего сразу же. Я долго пытался понять - живой он или нет, в принципе.
Версия прошивки... Что-то я не помню, как её проверить. Командой какой-то типа ATI?
AT+VERR? или без знака вопроса - AT+VERR, а может AT+VERSION (вроде для новой прошивки). Если не получится введите AT+HELP?\r\n - покажет весь список доступных команд на Вашем модуле.
Поможет это или нет - не знаю, но:
--------------------
--------------------
https://people.ece.cornell.edu/land/courses/ece4760/PIC32/uart/HM10/DSD%20TECH%20HM-10%20datasheet.pdf
8 AT Commands Factory default setting:
Name: HMSoft; Baud: 9600, N, 8, 1; Pin code: 000000; Peripheral Role; transmit mode.
AT Command format: Uppercase AT command format. string format, without any other symbol. (e.g. \r or \n).
------------
Поможет это или нет - не знаю, но:
--------------------
--------------------
https://people.ece.cornell.edu/land/courses/ece4760/PIC32/uart/HM10/DSD%20TECH%20HM-10%20datasheet.pdf
8 AT Commands Factory default setting:
Name: HMSoft; Baud: 9600, N, 8, 1; Pin code: 000000; Peripheral Role; transmit mode.
AT Command format: Uppercase AT command format. string format, without any other symbol. (e.g. \r or \n).
------------
Знаю. Уже перечитывал. Только нужно определить какая версия. Где-то нужно прописывать \r\n...
Тут я не копенгаген. Новыми прошивками не шился, того, что мне нужно там все равно нет. А со старой у меня все работает на Nano без делителей. Так что больше ничем не помогу. Разве что советом - присесть на ногу HM10 осциллографом и убедится, что проблема не в контакте и данные в него приходят.
Хуамаософт ещё писал что-то про фейковые HM-10...
Нашел в ссылку "Как прошить HM10" буду пробовать. Потом расскажу, может кому пригодится.
Обновил версию прошивки до HMSoft V540. Хотя "подружить" с ардуино нано у меня не получилось. В чем проблема я так и не понял, но точно в ардуино нано...
P.S. Вообщем отправка данных с ардуино нано происходит "очень криво" или у меня такие ардуинки (три штуки ...). Надо покупать оригинал.
1) Мега Hardware - работает
2) Мега Software - работает
3) Nano Software - не работает.
Странно , у меня наоборот были пункты 2 и 3 , потому как у Меги проблема с принимаемыми данными по Software , у нее прерывания аппаратные только для определенных пинов , и для этого существует альтернативная Software , и у нее тож не всё так сладко , есть ограничения на uart.
// AT+MODE1 позволяет работать AT командам (к примеру с пинами модуля HM10 поуправлять) когда подключение по блютузу установлено . Но это только со стороны подключившегося , и AT команды только заглавными буквами . Прописные буквы можно использовать, на последних прошивках , при настройке модуля через uart , до установки соединения.
отправка данных с ардуино нано происходит "очень криво" или у меня такие ардуинки (три штуки ...). Надо покупать оригинал.
выложите ссылку на лот на Али, где покупали Нано
отправка данных с ардуино нано происходит "очень криво" или у меня такие ардуинки (три штуки ...). Надо покупать оригинал.
выложите ссылку на лот на Али, где покупали Нано
Не Али... Один покупал на сайте voron.ua и еще одну платку мне кто-то подарил.