Не могу разобраться с модулем Блютус HM10

zindro
Offline
Зарегистрирован: 03.06.2018

Делаю ездящего робота на управлени с модуля Блютус HM10. Пытаюсь писать с айфона команды для него через LightBlue,  ничего не выходит, только видит команды, которые отправляю с компа. Tx, Rx подключены к 0 и 1 на L293D. Креплю код, может быть в нем проблема. Пожалуйста, помогите

#include <AFMotor.h> // подключаем библиотеку для шилда 
AF_DCMotor motor1(3); // подключаем мотор к клеммнику M1 
AF_DCMotor motor2(2); // подключаем мотор к клеммнику M2 
 
int val; // освобождаем память в контроллере 
void setup() { 
 
 Serial.begin(9600); 
 motor1.setSpeed(250); // задаем максимальную скорость мотора 
 motor1.run(RELEASE); // останавливаем мотор 
 motor2.setSpeed(250); // задаем максимальную скорость мотора 
 motor2.run(RELEASE); // останавливаем мотор 
} 
 
void loop() { 
 
if (Serial.available()) // проверяем, поступают ли какие-то команды 
 { 
 val = Serial.read(); 
 
 if (val == '1') { // едем вперед 
motor1.run(FORWARD); 
motor1.setSpeed(250); 
motor2.run(FORWARD); 
motor2.setSpeed(250); 
 } 
 
 if (val == 'b') { // едем назад 
motor1.run(BACKWARD); 
motor1.setSpeed(200); 
motor2.run(BACKWARD); 
motor2.setSpeed(200); 
 } 
 
 if (val == 's') { // останавливаемся 
motor1.run(RELEASE); 
motor2.run(RELEASE); 
 } 
 
 if (val == 'l') { // поворачиваем налево 
motor1.run(FORWARD); 
motor1.setSpeed(100); 
motor2.run(BACKWARD); 
motor2.setSpeed(250); 
 } 
 
 if (val == 'r') { // поворачиваем направо 
motor1.run(BACKWARD); 
motor1.setSpeed(250); 
motor2.run(FORWARD); 
motor2.setSpeed(100); 
 } 
 
} 
}

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Пытаетесь китайский BLE-модуль через GATT и т.п. тыркать?

zindro
Offline
Зарегистрирован: 03.06.2018

Модуль китайский, если я правильно понимаю что такое GATT, то через него. Посоветуйте что делать , пожалуйста.

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Да ничего не делать. Я такой тоже взял года полтора назад в надежде почитать с BLE девайсов... И в той прошивке, что в нем на тот момент была, GATT мог быть использован только для обмена через UART. Т.е. это все по BLE, через GATT, как будто все шоколадно... Но , покопавшись в документации, я обнаружил, что с Андроида (к примеру) пишешь в определенную характеристику (сущность GATT) какой-нибудь байт, а он вылезает со стороны ардуины из обычного Serial.1 Пишешь в Serial1 байт, получаешь его в характеристике на Андроиде. Никакой полноценной поддержкой модели GATT и не пахло. Может сейчас что-то и изменилось в новых прошивках, но мне кажется, что это не так. Нужно же более дорогие модели продавать как-то... На сайте производителя HM-12 я видел и выше.

А были еще и фейковые HM-10. Там BLE вообще не существовало в принципе.