CircuitPython
Для работы с модулем джойстика используем библиотеку robotclass_slider, которую можно скачать по ссылке в конце урока. Всё, что нам нужно сделать для её установки — это скопировать файл robotclass_slider.mpy в папку lib на накопителе CIRCUITPY.
Более подробно о работе с библиотеками CircuitPython мы писали в одном из ранних наших уроков: Библиотеки для CircuitPython
УСТАНОВКА ЗАВИСИМОСТЕЙ
Чтобы библиотека robotclass_slider заработала, необходимо будет добавить еще две «зависимости»:
- adafruit_bus_device
- adafruit_register
Все эти библиотеки есть в сборнике от Adafruit. Точно также, копируем их на накопитель CIRCUITPY.
Программа
Для составления программы используем среду разработки Mu.
Пусть, самая первая наша программа будет выводить значения отклонения джойстика по осям X и Y в режиме реального времени. Начнём с подключения всех необходимых библиотек. Помним, что в python это делается с помощью команды import.
Кроме robotclass_slider нам будут нужны еще три библиотеки:
- time — предоставляет функцию sleep для организации паузы;
- board— предоставляет интерфейс для работы с периферией отладочной платы.
import time
import board
import robotclass_slider
Затем создаём объект I2C, который организует работу с шиной. Следом — объект класса RobotClass_Slider, в котором описаны нужные для работы с джойстиком функции.
i2c = board.I2C()
slider = robotclass_slider.RobotClass_Slider(i2c)
Для получения значений смещения джойстика по осям X и У используем функцию getXY без аргументов. Будем получать эти значения и выводить их в терминал каждые 500 мс.
import time
import board
import robotclass_slider
i2c = board.I2C()
slider = robotclass_slider.RobotClass_Slider(i2c)
while True:
data = slider.getXY()
print("X = %d, Y = %d" % (data[0], data[1]))
time.sleep(0.2)
Сохраняем программу и открываем монитор последовательного порта (кнопка «Последовательный»). Модуль джойстика должен выдавать поток чисел каждые 500 мс.