Общие сведения:
Trema модуль - Джойстик, I2C-flash - является устройством ввода данных.
Модуль относится к серии «Flash», а значит к одной шине I2C можно подключить более 100 модулей, так как их адрес на шине I2C (по умолчанию 0x09), хранящийся в энергонезависимой памяти, можно менять программно.
Модуль можно использовать для управления роботами, движущимися механизмами, станками с ЧПУ, для создания игр и многих других проектов.
Видео:
Редактируется ...
Спецификация:
- Напряжение питания: 3,3 В или 5 В (постоянного тока).
- Потребляемый ток: до 15 мА.
- Интерфейс: I2C.
- Скорость шины I2C: 100 кбит/с.
- Адрес на шине I2C: устанавливается программно (по умолчанию 0x09).
- Уровень логической 1 на линиях шины I2C: 3,3 В (толерантны к 5 В).
- Разрешение АЦП: 12 бит.
- Диапазон положений джойстика по осям X и Y: -100 ... 0 ... +100.
- Рабочая температура: от -20 до +70 °С.
- Габариты: 30 х 30 мм.
- Вес: 6 г.
Все модули линейки "Trema" выполнены в одном формате
Подключение:
**
По умолчанию все модули FLASH-I2C имеют установленный адрес 0х09.
— Перед подключением 1 модуля к шине I2C настоятельно рекомендуется изменить адрес модуля.
— При подключении 2 и более FLASH-I2C модулей к шине необходимо в обязательном порядке предварительно изменить адрес каждого модуля, после чего уже подключать их к шине.
Более подробно о том, как это сделать, а так же о многом другом, что касается работы FLASH-I2C модулей, вы можете прочесть в этой статье.
Модуль подключается по шине I2C, все выводы которой (GND, Vcc, SDA, SCL) размещены на одной колодке модуля.
- SCL - вход/выход линии тактирования шины I2C.
- SDA - вход/выход линии данных шины I2C.
- Vcc - вход питания 3,3 или 5 В.
- GND - общий вывод питания.
Способ - 1: Используя провода и Raspberry Pi
Используя провода «Мама — Мама», подключаем напрямую к Raspberry Pi, согласно следующей таблице:
Вывод модуля | Вывод Raspberry |
---|---|
Vcc | 3.3V |
GND | GND |
SDA | GPIO 23 |
SCL | GPIO 24 |
В этом случае необходимо питать логическую часть модуля от 3,3 В Raspberry
Способ - 2: Используя Trema+Expander Hat
Подключаем к Trema+Expander Hat.
Питание:
Входное напряжение питания модуля 3,3В или 5В постоянного тока (поддерживаются оба напряжения питания), подаётся на выводы Vcc и GND.
Подробнее о модуле:
Модуль построен на базе микроконтроллера STM32F030F4 и снабжен собственным стабилизатором напряжения. Модуль самостоятельно считывает состояние джойстика, обрабатывает полученные данные и по запросу выводит точные координаты.
Модуль позволяет:
- Менять свой адрес на шине I2C.
- Получать текущее положение джойстика по осям X и Y.
- Получить необработанные значения АЦП (12-бит) считанные с потенциометров джойстика.
- Откалибровать джойстик.
- Задать чувствительность джойстика.
- Задать величину мёртвой зоны у центрального положения.
- Для модуля с кнопкой, можно определить события и состояния кнопки.
Примеры:
Специально для работы с Trema модулем - Джойстик, I2C-flash, нами разработана библиотека pyiArduinoI2Cjoystick которая позволяет реализовать все функции модуля.
Для работы с модулем необходимо включить шину I2C.
Для подключения библиотеки необходимо сначала её установить. Сделать это можно в менеджере модулей в Thonny или в терминале Raspberry, в виртуальной среде, командой:
pip install pyiArduinoI2Cjoystick
Подробнее об установке библиотек можно узнать в этой статье.
Смена адреса модуля на шине I2C:
#!/usr/bin/python3 import sys # Подключаем библиотеку для работы с джойстиком from pyiArduinoI2Cjoystick import * # Объявляем объект module для работы с функциями и методами библиотеки pyiArduinoI2Cjoystick. # Если при объявлении объекта указать адрес, например, module(0x0B), # то пример будет работать с тем модулем, адрес которого был указан. module = pyiArduinoI2Cjoystick(auto = NO_BEGIN, bus = "/dev/i2c-3") # Если сценарию не были переданы аргументы if len(sys.argv) < 2: # Назначаем модулю адрес (0x07 < адрес < 0x7F). newAddress = 0x09 # Иначе else: # Новый адрес - первый аргумент newAddress = int(sys.argv[1]) # Если модуль найден if module.begin(): print("Найден модуль %#.2x" % module.getAddress()) # Если адрес удалось изменить if module.changeAddress(newAddress): print("Адрес изменён на %#.2x" % module.getAddress()) else: print("Адрес не изменён!") else: print("Модуль не найден!")
Для работы данного примера, на шине I2C должен быть только один джойстик.
Данный сценарий демонстрирует не только возможность смены адреса на
указанный в переменной newAddress
, но и обнаружение, и
вывод текущего адреса модуля на шине I2C. Если скрипту был передан
аргумент, то адрес будет изменён на число в аргументе, например:
./newAddress.py 10
.
Получение координат джойстика:
#!/usr/bin/python3 from time import sleep from curses import wrapper # Подключаем библиотеку для работы с джойстиком I2C-flash. from pyiArduinoI2Cjoystick import * # Объявляем объект для работы с библиотекой, указывая адрес модуля на шине. j = pyiArduinoI2Cjoystick(address = 0x09, bus = "/dev/i2c-3") # Если объявить объект без указания адреса, то адрес будет найден автоматически. #j = pyiArduinoI2Cjoystick() def main(stdscr): stdscr.clear() print("Текущие координаты: (нажмите <ctrl+c> для выхода)", end="\r\n") # Получаем и выводим координаты по отдельности: # print("X=", end='') # Выводим координату по оси X, значение от -100 до 100. print(j.x, end='') print(", Y=", end='') # Выводим координату по оси Y, значение от -100 до 100. print(j.y, end='') # Получаем сразу обе координаты: x, y = j.getPosition() print(", X:Y=", end='') # Выводим координату по оси X, значение от -100 до 100. print(x, end='') print(":", end='') # Выводим координату по оси X, значение от -100 до 100. print(y, end="\r\n") sleep(.1) stdscr.refresh() while True: wrapper(main)
После запуска данного примера, в мониторе последовательного порта будут появляться строки с текущими координатами джойстика.
Координаты можно получать как по отдельности:
getPosition_X()
, getPosition_Y()
, так и одним
запросом используя функцию getPosition()
.
Получение направления джойстика в градусах:
#!/usr/bin/python3 from time import sleep from math import atan2, pi # Подключаем библиотеку для работы с джойстиком I2C-flash. from pyiArduinoI2Cjoystick import * # Объявляем объект joy для работы с библиотекой, указывая адрес модуля на шине. j = pyiArduinoI2Cjoystick(address = 0x09, bus = "/dev/i2c-3") print("Выводим положение джойстика в полярной системе координат.") print("Для выхода нажмите <ctrl+c>") while True: # Получаем текущие координаты x, y = j.x, j.y # Вычисляем радианы rad = atan2(y,x) # Вычисляем градусы deg = rad * (180 / pi) if deg < 0: deg = deg + 360 # Выводим градусы print(round(deg)) sleep(.1)
После загрузки данного примера, в мониторе последовательного порта будут появляться строки с указанием угла поворота джойстика, но только если он отклонён от центра.
Изменение направления координат по осям X и Y:
#!/usr/bin/python3 from time import sleep from curses import wrapper # Подключаем библиотеку для работы с джойстиком I2C-flash. from pyiArduinoI2Cjoystick import * # Объявляем объект joy для работы с библиотекой, указывая адрес модуля на шине. j = pyiArduinoI2Cjoystick(address = 0x09, bus = "/dev/i2c-3") # Если объявить объект без указания адреса, то адрес будет найден автоматически. #j = pyiArduinoI2Cjoystick() a, b, c = 0, 0, 0 # Изменение направления оси X: # Читаем установленные калибровочные значения для оси X в переменные a,b,c. a, b, c = j.getCalibration_X() # Сохраняем прочитанные калибровочные значения для оси X, # но указываем аргументы в обратном порядке: c, b, a. j.setCalibration_X(c, b, a) # Изменение направления оси Y: # # Читаем установленные калибровочные значения для оси Y в переменные a,b,c. a, b, c = j.getCalibration_Y() # Сохраняем прочитанные калибровочные значения для оси Y, # но указываем аргументы в обратном порядке: c, b, a. j.setCalibration_Y(c, b, a) def main(stdscr): stdscr.clear() print("Текущие координаты: (нажмите <ctrl+c> для выхода)", end="\r\n") # Получаем координаты x, y = j.getPosition() # Выводим координаты джойстика. print("X:Y="+str(x)+":"+str(y)) print("\r") sleep(.1) stdscr.refresh() while True: wrapper(main)
После загрузки данного примера, в мониторе последовательного порта будут появляться строки с текущими координатами джойстика. Но с каждым новым запуском сценария направление координат будет меняться (слева отрицательные значения, справа положительные и наоборот).
Обратите внимание на то, что направление координат по осям сохраняется в энергонезависимой памяти модуля, значит если Вам нужно сменить направление осей, запустите этот сценарий однократно.
Описание функций библиотеки:
В данном разделе описаны функции библиотеки pyiArduinoI2Cjoystick для работы с Trema модулем - Джойстик, I2C-flash.
Подключение модуля:
from pyiArduinoI2Cexpander import *
Создание объекта:
obj = pyiArduinoI2Cexpander(АДРЕС)
Функция begin()
- Назначение: инициализация расширителя выводов
- Синтаксис:
obj.begin()
- Параметры: нет
- Возвращаемые значения: флаг инициализации
- Примечание: функция не обязательная, выполняется автоматически при создании объекта. Можно использовать для проверки наличия устройства на шине.
- Пример:
if obj.begin(): print("устройство найдено и инициализировано") else: print("устройство не найдено, проверьте включена ли шина I2C")
Функция changeAddress()
- Назначение: смена адреса устройства
- Синтаксис:
obj.changeAddress(newAddr)
- Параметры: newAddr - новый адрес для устройства
- Возвращаемые значения: флаг выполнения. 1 - успешно, 0 - неуспешно.
- Примечание: нет
- Пример:
obj.changeAddress(0x0A)
Функция reset()
- Назначение: перезагрузка устройства
- Синтаксис:
obj.reset()
- Параметры: нет
- Возвращаемые значения: флаг выполнения
- Примечание: нет
- Пример:
obj.reset()
Функция getAddress()
- Назначение: узнать текущий адрес устройства на шине I2C
- Синтаксис:
obj.getAddress()
- Параметры: нет
- Возвращаемые значения: текущий адрес модуля на шине I2C
- Примечание: нет
- Пример:
addr = obj.getAddress()
Функция getVersion()
- Назначение: узнать текущую версию прошивки модуля
- Синтаксис:
obj.getVersion()
- Параметры: нет
- Возвращаемые значения: текущая версия прошивки модуля
- Примечание: нет
- Пример:
ver = obj.getVersion()
Функция getPosition_X()
- Назначение: Запрос текущей координаты джойстика по оси X.
- Синтаксис: getPosition_X()
- Параметры: Нет.
- Возвращаемое значение: координата от -100 (лево) до +100 (право), значение 0 (центр).
- Примечание: так же значение можно получить через атрибут объекта
"x":
coord_x = obj.x
. - Пример:
print( "Координата по оси X = ", end='' ) print( obj.getPosition_X() )
Функция getPosition_Y()
- Назначение: Запрос текущей координаты джойстика по оси Y.
- Синтаксис: getPosition_Y()
- Параметры: Нет.
- Возвращаемое значение: координата от -100 (низ) до +100 (верх), значение 0 (центр).
- Примечание: так же значение можно получить через атрибут объекта
"y":
coord_y = obj.y
. - Пример:
print( "Координата по оси Y = ", end='' ) print( obj.getPosition_Y() )
Функция getPosition()
- Назначение: Запрос текущих координат джойстика по осям X и Y.
- Синтаксис: x, y = getPosition()
- Параметры: нет
- Возвращаемое значение: координаты x, y
- Примечание:
- Данная функция позволяет получить те же координаты, что и функции
getPosition_X()
иgetPosition_Y()
, но получение двух координат одним запросом выполняется быстрее.
- Данная функция позволяет получить те же координаты, что и функции
- Пример:
x, y = obj.getPosition() print(x, y)
Функция getADC_X()
Назначение: Запрос сырого значения АЦП снятого с потенциометра по оси X.
Синтаксис: getADC_X()
Параметры: Нет.
Возвращаемое значение: значение АЦП (12 бит) от 0 до 4095.
Примечание:
- Показания АЦП снятые с потенциометра по оси X, можно использовать
как альтернативный метод получения координаты джойстика, а так же для
калибровки джойстика, указывая значения АЦП в качестве параметров
функции
setCalibration_X()
. - Так же значение можно получить через атрибут объекта "ax":
adc_x = obj.ax
.
- Показания АЦП снятые с потенциометра по оси X, можно использовать
как альтернативный метод получения координаты джойстика, а так же для
калибровки джойстика, указывая значения АЦП в качестве параметров
функции
Пример:
print( "Текущему положению джойстика по оси X соответствует значение АЦП = ", end='' ) print( obj.getADC_X() )
Функция getADC_Y()
- Назначение: Запрос сырого значения АЦП снятого с потенциометра по оси Y.
- Синтаксис: getADC_Y()
- Параметры: Нет.
- Возвращаемое значение: значение АЦП (12 бит) от 0 до 4095.
- Примечание:
- Показания АЦП снятые с потенциометра по оси Y, можно использовать
как альтернативный метод получения координаты джойстика, а так же для
калибровки джойстика, указывая значения АЦП в качестве параметров
функции
setCalibration_Y()
. - Так же значение можно получить через атрибут объекта "ay":
adc_y = obj.ay
.
- Показания АЦП снятые с потенциометра по оси Y, можно использовать
как альтернативный метод получения координаты джойстика, а так же для
калибровки джойстика, указывая значения АЦП в качестве параметров
функции
- Пример:
print( "Текущему положению джойстика по оси Y соответствует значение АЦП = ", end='' ) print( obj.getADC_Y() )
Функция getADC()
- Назначение: Запрос сырых значений АЦП снятых с потенциометров по осям X и Y.
- Синтаксис: x, y = getADC()
- Параметры: нет
- Возвращаемое значение: значение
- Примечание:
- Данная функция позволяет получить те же значения, что и функции
getADC_X()
иgetADC_Y()
, но получение двух значений одним запросом выполняется быстрее. - Пример:
x, y = obj.getADC() print(x, y)
Функция getButton(), только для версии джойстика с кнопкой
- Назначение: Запрос времени удержания, состояния, или события кнопки джойстика.
- Синтаксис: getButton( ЗАПРОС );
- Параметр: один из перечисленных вариантов...
- KEY_PUSHED - вернуть событие кнопки - «нажимается».
- KEY_RELEASED - вернуть событие кнопки - «отпускается».
- KEY_CHANGED - вернуть событие кнопки - «состояние изменилось».
- KEY_PRESSED - вернуть состояние кнопки - «нажата».
- KEY_TRIGGER - вернуть состояние кнопки - «переключатель».
- KEY_HOLD_05 - вернуть состояние кнопки - «удерживается» дольше 0,5 сек.
- KEY_HOLD_10 - вернуть состояние кнопки - «удерживается» дольше 1,0 сек.
- KEY_HOLD_20 - вернуть состояние кнопки - «удерживается» дольше 2,0 сек.
- KEY_TIME_PRESSED - вернуть время удержания кнопки в миллисекундах.
- Возвращаемое значение: значение зависит от параметра функции:
- ФЛАГ наличия запрашиваемого состояния или события (True или False).
- ВРЕМЯ удержания кнопки в миллисекундах (от 0 до 25500).
- Примечание:
- Функция доступна только для джойстика с кнопкой.
- Если функция вызвана с параметром
KEY_TIME_PRESSED
, то она вернёт время удержания кнопки, или0
(если кнопка отпущена). При указании любого другого параметра, функция вернёт флаг соответствующий запрашиваемому состоянию или событию. - Если запрошено событие кнопки (нажимается, отпускается, состояние
изменилось), то функция вернёт
true
только один раз после совершения запрашиваемого события. - Если запрошено состояние кнопки (нажата, переключатель,
удерживается), то функция будет возвращать
true
всё время, пока установлено запрашиваемое состояние.
- Пример:
i = obj.getButton(KEY_CHANGED) # Переменная i будет установлена в True, если кнопка нажимается или отпускается. j = obj.getButton(KEY_TIME_PRESSED) # Переменная j содержит время удержания кнопки в миллисекундах.
Функция setCalibration_X()
- Назначение: Калибровка координат по оси X.
- Синтаксис: setCalibration_X( ЛЕВО , ЦЕНТР , ПРАВО )
- Параметры:
- ЛЕВО - значение АЦП соответствующее крайнему левому положению джойстика.
- ЦЕНТР - значение АЦП соответствующее центральному положению джойстика.
- ПРАВО - значение АЦП соответствующее крайнему правому положению джойстика.
- Возвращаемое значение: bool - результат сохранения калибровочных значений (true или false).
- Примечание:
- Значения АЦП для оси X можно получить функцией
getADC_X()
илиgetADC()
, предварительно установив джойстик в требуемое положение. - Калибровочные значения, указанные функцией
setCalibration_X()
сохраняются в энергонезависимой памяти модуля, а значит будут действовать и после отключения питания. - Калибровка координат по оси X влияет только на значения которые,
после калибровки, будут возвращать функции
getPosition_X()
иgetPosition()
. - После калибровки, координаты положения джойстика будут
рассчитываться модулем следующим образом:
- Если джойстик находится левее центра, то координата джойстика
getPosition_X()
будет равна значению АЦПgetADC_X()
преобразованному от диапазонаЛЕВО...ЦЕНТР
к диапазону-100...0
. - Если джойстик находится в центре (в положении где значение АЦП
getADC_X()
равно значениюЦЕНТР
), то координата джойстикаgetPosition_X()
будет равна0
. - Если джойстик находится правее центра, то координата джойстика
getPosition_X()
будет равна значению АЦПgetADC_X()
преобразованному от диапазонаЦЕНТР...ПРАВО
к диапазону0...100
.
- Если джойстик находится левее центра, то координата джойстика
- Если требуется повернуть направление координат по оси X (так что бы
крайнему левому положению соответствовала координата 100, а крайнему
правому, координата -100), то функцию необходимо вызвать с параметрами
указанными в обратном порядке
setCalibration_X( ПРАВО , ЦЕНТР , ЛЕВО )
. - Пример:
obj.setCalibration_X( 0 , 2047 , 4095 )
Функция setCalibration_Y();
- Назначение: Калибровка координат по оси Y.
- Синтаксис: setCalibration_Y( НИЗ , ЦЕНТР , ВЕРХ );
- Параметры:
- int НИЗ - значение АЦП соответствующее крайнему нижнему положению джойстика.
- int ЦЕНТР - значение АЦП соответствующее центральному положению джойстика.
- int ВЕРХ - значение АЦП соответствующее крайнему верхнему положению джойстика.
- Возвращаемое значение: bool - результат сохранения калибровочных значений (true или false).
- Примечание:
- Значения АЦП для оси Y можно получить функцией
getADC_Y()
илиgetADC()
, предварительно установив джойстик в требуемое положение. - Калибровочные значения, указанные функцией
setCalibration_Y()
сохраняются в энергонезависимой памяти модуля, а значит будут действовать и после отключения питания. - Калибровка координат по оси Y влияет только на значения которые,
после калибровки, будут возвращать функции
getPosition_Y()
иgetPosition()
. - После калибровки, координаты положения джойстика будут
рассчитываться модулем следующим образом:
- Если джойстик находится ниже центра, то координата джойстика
getPosition_Y()
будет равна значению АЦПgetADC_Y()
преобразованному от диапазонаНИЗ...ЦЕНТР
к диапазону-100...0
. - Если джойстик находится в центре (в положении где значение АЦП
getADC_Y()
равно значениюЦЕНТР
), то координата джойстикаgetPosition_Y()
будет равна0
. - Если джойстик находится выше центра, то координата джойстика
getPosition_Y()
будет равна значению АЦПgetADC_Y()
преобразованному от диапазонаЦЕНТР...ВЕРХ
к диапазону0...100
.
- Если джойстик находится ниже центра, то координата джойстика
- Если требуется повернуть направление координат по оси Y (так что бы
крайнему нижнему положению соответствовала координата 100, а крайнему
верхнему, координата -100), то функцию необходимо вызвать с параметрами
указанными в обратном порядке
setCalibration_Y( ВЕРХ , ЦЕНТР , НИЗ )
. - Пример:
obj.setCalibration_Y( 0 , 2047 , 4095 )
Функция getCalibration_X()
- Назначение: Запрос калибровочных значений используемых модулем для расчёта координат оси X.
- Синтаксис: ЛЕВО, ЦЕНТР, ПРАВО = getCalibration_X()
- Параметры: нет
- Возвращаемое значение: три значения калибровки джойстика оси X
- Примечание:
- Функция
getCalibration_X()
читает калибровочные значения установленные функциейsetCalibration_X()
.
- Функция
- Пример:
a, b, c = obj.getCalibration_X() # Читаем установленные калибровочные значения для оси X. obj.setCalibration_X(c, b, a) # Устанавливаем прочитанные значения, но в обратном порядке.
Результатом приведённого примера будет смена направления координат по оси X. Если крайнему левому положению соответствовала координата -100, а крайнему правому +100, то теперь крайнему левому положению будет соответствовать координата +100, а крайнему правому -100. Центральное положение оставлено без изменений.
Функция getCalibration_Y()
- Назначение: Запрос калибровочных значений используемых модулем для расчёта координат оси Y.
- Синтаксис: НИЗ , ЦЕНТР , ВЕРХ = getCalibration_Y()
- Параметры:
- Возвращаемое значение: три значения калибровки джойстика оси Y
- Примечание:
- Функция
getCalibration_Y()
читает калибровочные значения установленные функциейsetCalibration_Y()
.
- Функция
- Пример:
a, b, c = obj.getCalibration_Y() # Читаем установленные калибровочные значения для оси Y. obj.setCalibration_Y(c, b, a) # Устанавливаем прочитанные значения, но в обратном порядке.
Результатом приведённого примера будет смена направления координат по оси Y. Если крайнему нижнему положению соответствовала координата -100, а крайнему верхнему +100, то теперь крайнему нижнему положению будет соответствовать координата +100, а крайнему верхнему -100. Центральное положение оставлено без изменений.
Функция setDeadZone()
- Назначение: Установка мертвой зоны центрального положения джойстика.
- Синтаксис: setDeadZone( ЗОНА );
- Параметр: ЗОНА - значение от 0.0% до 25.5%, с шагом 0,1.
- Возвращаемое значение: результат применения новой зоны (True или False).
- Примечание:
- Устанавливаемое значение определяет размер мёртвой зоны у центрального положения джойстика. Этот показатель определяет, на сколько % требуется отклонить джойстик от центрального положения (по любой оси), что бы его координаты начали меняться. Пока джойстик находится в мёртвой зоне, его координаты будут равны 0:0.
- Мёртвая зона, это зона не чувствительности к отклонению джойстика. Она позволяет избежать "дрожание" (jitter) координат джойстика в центральном положении.
- Мёртвую зону можно использовать в проектах, где управление устройствами должно начинаться после значительного сдвига джойстика от центра.
- Размер мёртвой зоны сохраняется в энергонезависимую память модуля, а значит будет действовать и после отключения питания.
- Пример:
obj.setDeadZone(23.4) # Установить мёртвую зону в 23,4% от полного хода джойстика из центра к любому краю.
Функция setAveraging()
- Назначение: Установка коэффициента усреднения показаний.
- Синтаксис: setAveraging( КОЭФФИЦИЕНТ )
- Параметр: КОЭФФИЦИЕНТ - значение от 0 до 255, определяющее сглаживание показаний АЦП и координат по осям X и Y.
- Возвращаемое значение: bool - результат применения нового усреднения (true или false).
- Примечание:
- Чем выше сглаживание, тем плавнее будут меняться показания АЦП, а значит плавнее будут меняться координаты положения джойстика, даже если джойстик отклоняется резко.
- Значение 0 означает что сглаживание показаний отключено. Значение по умолчанию 2.
- Сглаживание показаний может понадобиться в проектах, где требуется плавное управление.
- Коэффициент усреднения показаний сохраняется в энергонезависимую память модуля, а значит будет действовать и после отключения питания.
- Пример:
obj.setAveraging(150) # Увеличить сглаживание до 150, это приведёт к большой инерционности получаемых координат.
Функция changeBus()
- Назначение: Установка шины I2C
- Синтаксис: changeBus( ПУТЬ К ФАЙЛУ ШИНЫ )
- Параметр:
- ПУТЬ К ФАЙЛУ ШИНЫ - строка
- Возвращаемые значения: Нет.
- Примечание:
- Пример:
# Меняем шину obj.changeBus("/dev/i2c-3")
Обсуждение