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 мс.

Circuitpython джойстик-слайдер с QIIC RobotClass

Изменено: