http://foto.prg.in.ua/md/dat/2024/2024-02-20_00-13-57_prg_rp2040_pi-z.jpg

Ниже приведен пример кода, который реализует требуемое поведение:

import time
import board
import usb_hid
from adafruit_hid.mouse import Mouse

Инициализация мыши

mouse = Mouse(usb_hid.devices)

Параметры движения

steps = 5
delay_between_steps = 0.1 # Задержка между шагами (в секундах)
long_delay = 3 # Длинная задержка между движениями (в секундах)

Функция для выполнения шагов в указанном направлении

def move_mouse(direction, steps):
for _ in range(steps):
mouse.move(x=direction, y=0)
time.sleep(delay_between_steps)

Основной цикл программы

while True:

Двигаем мышь вправо

move_mouse(5, steps) # 5 - значение для движения вправо
time.sleep(long_delay)

Двигаем мышь влево

move_mouse(-5, steps) # -5 - значение для движения влево
time.sleep(long_delay)

Объяснение кода:

Импорт библиотек:

time: Для управления задержками.
board: Для работы с аппаратными ресурсами (не используется в этом примере, но часто требуется в других проектах).
usb_hid: Для работы с USB HID-устройствами.
adafruit_hid.mouse: Для управления мышью.
Инициализация мыши:

mouse = Mouse(usb_hid.devices): Создает объект мыши, который будет использоваться для отправки команд.
Параметры движения:

steps: Количество шагов, которые мышь будет делать в одном направлении.
delay_between_steps: Задержка между каждым шагом.
long_delay: Длинная задержка между движениями в разные стороны.
Функция move_mouse:

Принимает направление (direction) и количество шагов (steps).
Двигает мышь в указанном направлении на заданное количество шагов с задержкой между шагами.
Основной цикл:

Мышь двигается вправо на 5 шагов, затем ждет 3 секунды.
После этого мышь двигается влево на 5 шагов и снова ждет 3 секунды.
Цикл повторяется бесконечно.

Установка и запуск:

Установка CircuitPython:

Загрузите и установите последнюю версию CircuitPython для RP2040-Zero на вашу плату.
Загрузка библиотек:

Скопируйте библиотеки adafruit_hid и usb_hid в каталог lib на вашей плате.
Загрузка кода:

Сохраните код в файл code.py на вашей плате.
Подключение к компьютеру:

Подключите RP2040-Zero к компьютеру через USB.
Компьютер должен распознать устройство как мышь, и экран не будет "усыпать" из-за периодической активности мыши.

Этот код должен удовлетворить вашим требованиям, имитируя мышь, которая периодически двигается вправо и влево, предотвращая "усыпание" экрана.

!!!!!!!!!!!!!!!!! Обратно только через terminal: import os ; os.rename('boot.py','boot.p') !!!!!!!!!!!!

Для того чтобы отключить представление CircuitPython как USB-накопителя, можно воспользоваться функцией storage.disable_usb_drive(), добавив соответствующий код в файл boot.py. Это позволит вашему микроконтроллеру иметь эксклюзивный доступ к файловой системе, что может быть полезно для записи данных или обновления файлов без вмешательства компьютера.

Шаги для отключения USB-накопителя
Создайте файл boot.py с следующим содержимым:
----------

import storage
import usb_cdc

Отключаем USB-накопитель

storage.disable_usb_drive()

Включаем USB REPL для доступа к консоли

usb_cdc.enable(console=True, data=True)

Перемонтируем файловую систему для записи

storage.remount("/", readonly=False)

----------

[file-name 000083_2025-03-29_20-31-55.txt]