В статье описываю самый простой пример управления прибором E-stim 2B с помощью Arduino UNO. Сама по себе плата Arduino ничего такого делать не будет, она будет просто передавать команды с компьютера на прибор, и обратно. Подключением через Arduino можно решить и проблему отсутствия оригинального кабеля «Digital link Interface».
Потребуется штекер аудио-джек 3,5 мм с припаянными к нему тремя, желательно разноцветными, проводами. Провода следует припаять в точности так, как это указано в статье «Интерфейсный кабель для E-Stim 2B из конвертера UART USB-TTL с AliExpress».
На плате Arduino UNO только один аппаратный последовательный порт. Этот порт связан с контактами 1 и 2 и с USB разъемом платы. Аппаратный USB порт будет использован для связи с компьютером.
Для связи платы Arduino с прибором E-stim 2B организуем программный последовательный порт на контактах 3 и 4.
Подключить провода от аудиоразъёма к плате Arduino надо так: черный к пину GND, желтый — к выводу 2, оранжевый — к выводу 3.
Сразу привожу скетч, который следует загрузить в 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 посылать команды в электростимулятор. Не забывайте только установить скорость 9600 бод и символ CR возврата каретки.
Можно закрыть среду разработки Arduino, запустить программу Commander и управлять прибором из неё. Статья «Интерфейс управления E-Stim 2B» вам в помощь.
Как видите, возможности Arduino UNO в примере совсем не задействованы. Но сама по себе приходит мысль об управлении E-stim 2B только с помощью платы Arduino, без компьютера. Надо лишь написать интересный скетч сессии.
К Arduino и E-Stim 2B можно подключить датчик движения, звука, положения тела, скорость вращения велотренажера, приделать удаленное управление и т.д. и т.п.
Жду комментариев и идей…