Подключение «Arduino UNO» к «E-stim 2B»

В статье описываю самый простой пример управления прибором E-stim 2B с помощью Arduino UNO. Сама по себе плата Arduino ничего такого делать не будет, она будет просто передавать команды с компьютера на прибор, и обратно. Подключением через Arduino можно решить и проблему отсутствия оригинального кабеля «Digital link Interface».

Потребуется штекер аудио-джек 3,5 мм с припаянными к нему тремя, желательно разноцветными, проводами. Провода следует припаять в точности так, как это указано в статье «Интерфейсный кабель для E-Stim 2B из конвертера UART USB-TTL с AliExpress».

Разъем Audio Jack
Разъем Audio Jack

На плате Arduino UNO только один аппаратный последовательный порт. Этот порт связан с контактами 1 и 2 и с USB разъемом платы. Аппаратный USB порт будет использован для связи с компьютером.

Для связи платы Arduino с прибором E-stim 2B организуем программный последовательный порт на контактах 3 и 4.

Подключить провода от аудиоразъёма к плате Arduino надо так: черный к пину GND, желтый — к выводу 2, оранжевый — к выводу 3.

Подключение штекера Audio Jack к Arduino UNO
Подключение штекера Audio Jack к Arduino UNO

Сразу привожу скетч, который следует загрузить в Arduino.


#include <SoftwareSerial.h> //Подключаем библиотеку для организации
                            //дополнительного параллельного порта

SoftwareSerial EStimPort(2,3); //Называем порт и назначаем пины (2-Rx,3-Tx)

// the setup routine runs once when you press reset:
void setup() {
 // initialize serial communication at 9600 bits per second:
 Serial.begin(9600);
 EStimPort.begin(9600); //Должна быть скорость 9600
}

// the loop routine runs over and over again forever:
void loop() {

 EStimPort.listen(); // начинаем прослушивать порт

 // Пока данные идут, считываем их, а затем
 // отправляем на аппаратный последовательный порт
 while (EStimPort.available() > 0) {
  char inByte = EStimPort.read();
  Serial.print(inByte);
 }
 
 while (Serial.available() > 0) {
  char inByte = Serial.read();
  EStimPort.print(inByte);
 }
 
}

Первой строкой в программе (скетче) подключается библиотека для создания виртуального порта. 2-ой контакт задействуем для чтения данных с прибора, а 3-й – для их отправки в прибор.

В процедуре Setup инициализируем оба порта на работу на скорости 9600 бод. Скорость должна быть именно такой, другую E-stim 2B не поддерживает.

В процедуре loop два независимых цикла, которые побайтно, транзитом, перебрасывают данные с одного порта на другой.

Электросекс E-Stim 2B подключен к Arduino UNO
Электросекс E-Stim 2B подключен к Arduino UNO

Теперь можно воткнуть разъем джек в E-Stim 2B, и через монитор порта среды разработки Arduino посылать команды в электростимулятор. Не забывайте только установить скорость 9600 бод и символ CR возврата каретки.

Настройки монитора порта в среде Arduino IDE
Настройки монитора порта в среде Arduino IDE

Можно закрыть среду разработки Arduino, запустить программу Commander и управлять прибором из неё. Статья «Интерфейс управления E-Stim 2B» вам в помощь.

Как видите, возможности Arduino UNO в примере совсем не задействованы. Но сама по себе приходит мысль об управлении E-stim 2B только с помощью платы Arduino, без компьютера. Надо лишь написать интересный скетч сессии.

К Arduino и E-Stim 2B можно подключить датчик движения, звука, положения тела, скорость вращения велотренажера, приделать удаленное управление и т.д. и т.п.

Жду комментариев и идей…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *