Купить можно тут: http://alii.pub/5kmf6o
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Raspberry pi pico может выступать в роли Hid устройства.
USB HID (human interface device) class — класс устройств USB для взаимодействия с человеком. Этот класс включает в себя такие устройства как клавиатура, мышь, игровой контроллер. Класс USB HID определен в нескольких документах, предоставляемых USB Implementers Forum, в частности, Рабочей группой по работе с устройствами.
(Взято из википедии)
И вот в этой статье попробуем сделать такое устройство. А именно будем имитировать компьютерную мышку и двигать курсором.
Так-же знаем что Raspberry pi pico можно программировать Как на MicroPython, CircuitPython И C/С++. В этом примере будем использовать CircuitPython.
Для этого нам нужно скачать .UF2 и установить на Raspberry pi pico. Это довольно легко сделать. Нужно перейти на сайт CircuitPython https://circuitpython.org/board/raspberry_pi_pico/
Скачиваем файл .UF2 и закидываем его в корень Raspberry pi pico. После этого у нас сразу перезагрузится Raspberry pi. И все, теперь можем программировать на CircuitPython.
Далее нам нужно установить библиотеку adafruit_hid. Для этого перейдем на github и скачаем ее. https://github.com/adafruit/Adafruit_CircuitPython_HID
У нас скачается архив. Из него нам нужна папочка adafruit_hid. Ее нужно закинуть в Raspberry pi pico в папку lib.
И также при загрузке нужно выбрать что это CircuitPython как показано на скрине в правом нижнем углу.
Ну и собственно код программы, он выглядит вот так:
import time
import usb_hid
from adafruit_hid.mouse import Mouse
import board
import digitalio
mouse = Mouse(usb_hid.devices)
led = digitalio.DigitalInOut(board.GP25)
led.direction = digitalio.Direction.OUTPUT
led.value = False
time.sleep(5)
while True:
led.value = True
mouse.move(x=100)
led.value = False
time.sleep(0.5)
led.value = True
mouse.move(x=-100)
led.value = False
time.sleep(0.5)