» » » Bluetooth пульт из джойстика Sega

Bluetooth пульт из джойстика Sega

Bluetooth пульт из джойстика Sega

Я продолжаю заниматься моделированием и постройкой роботов. Я уже писал инструкцию по созданию пульта для управления моделями и роботами. Пульт создан на основе старого джойстика от Sega. У данного джойстика есть четыре стрелки и 8 кнопок, достаточно для управления машинкой или небольшим роботом. Управление осуществлялось посредством ИК светодиода. Сегодня я напишу инструкцию по модернизации данного пульта, а именно переоборудование его в Bluetooth пульт. В зависимости от используемого Bluetooth модуля пульт или сам будет подключаться к заранее запрограммированному устройству или можно будет подключаться к пульту. Я опишу оба варианта. Нам понадобится:

- Джойстик от приставки Sega
- Arduino Pro Mini 3.3v 8MHz
- USB-TTL
- 2 Ni-Mn аккумулятора 1.2v 1000mA
- Bluetooth модуль HC-05 или HC-06
- Красный светодиод
- Синий светодиод
- Резистора 2x75Om, 2x5Om, 1x2Om
- Коннектор PLSх5 «мама»
- Термоклей
- Провода
- Отсек для батареек 4xAAA
- Разноцветные провода
- Паяльник, припой, канифоль
- Прямые руки

Шаг 1 Выбор Bluetooth модуля
Для связи необходимо два модуля. Один мы вставим в пульт, а второй будем подключать к машинке или роботу. Существует огромное количество Bluetooth модулей. Они различаются функциями и поддерживаемыми протоколами связи. Примерный список модулей, которые встречаются:
- HC-03, HC-04(HC-04-M, HC-04-S) на чипе BC417143 ;
- HC-05, HC-06(HC-06-M, HC-06-S) на чипе BC417143;
- HC-05-D, HC-06-D;
- HC-07 – модуль с чипом CSR 41C6;
- HC-08 – модуль с ультранизким энергопотреблением и протоколом Bluetooth 4.0;
- HC-09 – самый новый модуль, предназначенный для замены HC-06 и HC-07.

Я остановился на двух модулях HC-05 и HC-06, так как они оптимальны в соотношении цена\функционал. Они поддерживают протокол связи – Bluetooth Specification v2.0+EDR. Радиус действия – до 10 метров (уровень мощности 2). Совместимы со всеми Bluetooth-адаптерами, которые поддерживают SPP. Объем flash-памяти (для хранения прошивки и настроек) – 8 Мбит. Работают на частоте радиосигнала – 2.40 .. 2.48 ГГц. Хост-интерфейс – USB 1.1/2.0 или UART. Они обладаю небольшим энергопотреблением – ток в течение связи составляет 30-40 мА. Среднее значение тока около 25 мА. После установки связи потребляемый ток 8 мА. Эти модули легко найти, они являются самыми распространёнными. Модули очень похожи, а основное отличие между ними в том, что HC-05 может работать как в режиме ведущего (master), так и в режиме ведомого (slave). HC-06 может являться только ведомым устройством. Проше говоря, HC-06 не может сам обнаружить парное устройство и наладить с ним связь, он может лишь подчиниться ведущему. Модули продаются в виде двух спаянных вместе плат. Меньшая из них — заводской модуль. Большая — специальная макетная платка для DIY. Так выглядит меньшая плата с чипом BC417:


А так сами DIY модули HC-05 и HC-06:


Вы можете приобрести модуль без макетной платы. Он стоит немного дешевле, но тогда придется ставить стабилизатор напряжения 3.3 V для модуля. Также расстояние между контактами маленькое и придется помучится, припаивая к модулю провода.
Для установки связи между пультом и роботом или машинкой необходимо настроить два Bluetooth модуля на друг друга. В данном случаем модуль HC-05 мы настроим так, чтобы он находил и подключался к HC-06.

Шаг 2 Настройка HC-06.
Вначале необходимо подключить HC-06 к компьютеру. Сделать это можно подключив модуль через USB-UART переходник. В данном случае подключение, следующее:
Bluetooth – USB-UART
TX – RX
RX – TX
VCC - +5
GND – GND

Если под руками нет USB-UART можно записать в любую Arduino плату следующий скетч:
bluetooth_send_at.rar [857 b] (скачиваний: 23)


Подключить по следующей схеме:
Bluetooth – Arduino
TX – pin 2
RX – pin 3
VCC - +5
GND - GND

Затем открываем любую терминальную программу, выбираем com-порт к которому подключен HC-06, скорость по умолчанию 9600, NL и CR не нужен. Если с HC-06 не установлено Bluetooth соединение, модуль находится в режиме ввода AT команд. Если модуль не отзывается попробуйте перегрузить его, отключив плюсовой провод и подключив его снова. И вводим следующие команды:

«AT» - без кавычек, должен прийти ответ «OK».
«AT+ADDR» - этой командой мы узнаем уникальный адрес HC-06, следует записать этот адрес
«AT+BAUD7» - устанавливаем скорость 57600
«AT+RESET» - перегружаем модуль

Следующие команды не обязательно вводить, но на всякий случай лучше их знать:
«AT+NAME<имя>» - смена имени устройства, имя вводится латинским буквами, без скобок.
«AT+ORGL» - возвращение модуля к заводским настройка
На этом настройка HC-06 закончена.

Шаг 3 настройка HC-05.
Подключаем модуль аналогично HC-06. Далее открываем любую терминальную программу, выбираем com-порт на котором висит USB-UART или Arduino, по заводским настройка скорость связи 9600, но я встречал и со скоростью 38400, если вы не меняли ее выбираейте 9600, не получиться соединиться меняем на 38400. Также стоит включить параметры NL и CR. Для перевода в режим ввода AT команд нужно нажать кнопку на плате HC-05, после этого вводим следующее:

«AT» - вводится без кавычек должен прийти ответ «OK». Если пришел продолжаем вводить команды дальше.
«AT+ROLE=1» - этой командой мы устанавливаем роль модуля цифрой:
0 - ведомый, 1 - ведущий, 2 - ведомый в цикле*. Должен прийти ответ «+ROLE:1\r\n» или «OK»
«AT+CMODE=0» - модуль в роли ведущего подключается только к тому Bluetooth устройству, адрес которого указан командой «AT+BIND».
«AT+BIND:1234,56,123456» - для установки соединения с вашим HC-06 нужно вписать сюда его адрес. После ввода всех команд модуль находится в роли ведущего (ROLE=1) и установлен режим подключения к фиксированному адресу (CMODE=0), он будет подключаться только к тому Bluetooth устройству, адрес которого указан данной командой. Части адреса вводятся: при установке - через запятую, а при ответе - через двоеточие. Придет ответа: «+BIND:1234:56:789ABC \r\n» или «OK»
«AT+UART=57600,0,0» - устанавливаем скорость 57600 бит/сек, стоп бит представлен цифрой: 0 - один, проверка представлена цифрой: 0 - без проверки

Если вы запутались в настройках модуля или он перестал работать правильно попробуйте следующую команду:
«AT+ORGL» - Модуль сбрасывает следующие настройки CLASS=0, IAC=9e8b33, ROLE=0, CMODE=0, UART=38400,0,0, PSWD=1234, NAME=hc01.com.

А затем заново проведите настройку нужных вам параметров.
Таким образом мы создали устойчивую связь между HC-05 и HC-06. При включении модулей HC-05 будет устанавливать соединение с HC-06. По личному опыту могу сказать, лучше вначале включать HC-05, а затем HC-06. Если соединение пропало перегружать нужно оба модуля.

Шаг 4 Подготовка пульта.
Данный шаг подробно описан в предыдущей инструкции по адресу:

https://usamodelkina.ru/8626-ik-pult-iz-dzhoystika-ot-sega.html

Необходимо выполнить шаги с 1 по 4. Припаивать ИК диод необязательно, хотя и мешать он не будет.

Шаг 5 Подключение Bluetooth модуля.
Я советую в пульт установить HC-06. Так как для изменения настроек модуля нужно будет только залить соответствующий скетч в Arduino Pro Mini. В случае с HC-05 придется разбирать пульт, чтобы нажать на кнопку перевода в режим AT команд. Соединяем все по следующей схеме

Джойстик – Arduino
Стрелка вверх - pin 2
Стрелка вниз – pin 4
Стрелка влево - pin 5
Стрелка вправо - pin 6
Кнопка A - pin 8
Кнопка B - pin 10
Кнопка C - pin 7
Кнопка X - pin 12
Кнопка Y - pin 11
Кнопка Z - pin 9
Кнопка Start - pin 14 (A0)
Кнопка Reset - RST
Общий - GND
Bluetooth – Arduino
TX – pin 16 (A2)
RX – pin 17 (A3)
VCC - + 5
GND – GND

HC-05 подключаем к ваше машинке или роботу которым собираетесь управлять. Варианты подключения и скетчи вы найдете в других моих инструкциях. При написании скетча робота надо установить скорость соединения 57600, и использовать в скетче библиотеку SoftwareSerial.

Шаг 6 Подготовка среды и прошивка.
Для написания и редактирования скетча лучше всего использовать Arduino IDE. Версия Arduino IDE должна быть не ниже чем 1.8. Скачиваем Arduino IDE с официального сайта:

https://www.arduino.cc/en/Main/Software

Затем необходимо добавить в Arduino IDE библиотеку. В скетче используется одна библиотека SoftwareSerial.h (для связи с Bluetooth модулем):
softwareserial.rar [9,29 Kb] (скачиваний: 18)


Потребуется скачать и установить ее. Установить библиотеку можно распаковав архив и переместив распакованные файлы в папку «libraries», находящуюся в папке с установленной Arduino IDE. Или можно воспользоваться встроенным средством добавления библиотек - не распаковывая скачанный архив, выбрать в среде Arduino IDE меню Скетч – Подключить библиотеку. В верху выпадающего списка выбрать пункт «Добавить .Zip библиотеку». И указать место расположения скачанного архива. После установки библиотеки нужно перезагрузить Arduino IDE.
Прошивается наш пульт также, как и предыдущая версия пульта, через коннектор подключенный к USB-TTL, зарядка тоже через него. При заливке скетча необходимо нажать Reset.
pult_bluetooth.rar [982 b] (скачиваний: 19)

Вопрос\тема автоматически публикуется в соц. сети сайта - следите и там за ответами:
Чтобы написать комментарий необходимо войти на сайт через соц. сети (или зарегистрироваться):
Обычная регистрация
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Добрый день, Гость!


Зарегистрируйтесь

Или войдите на сайт, если уже зарегистрированы...

Войти

А затем...

Добавьте самоделку

Или...

Добавьте тему

Онлайн чат

Опрос
Сколько по времени, чаще всего, Вы делаете самоделку?

Последние комментарии

Индийские фокусы-))) Он вскользь упоминает о 6 установленных дверях. Это разные двери. Петли на разных сторонах....
Клинок не разбалтывается? Латунька тоненькая, при усилии на клинок деформируется....
Думаю, поединок будет коротким, мой лоб много монет не выдержит!...
Все комментарии