Возможно ли к ардуине подключить USB мышку(беспроводную) без использования дополнительных плат?

Да, возможно подключить USB мышку (беспроводную) к Arduino без использования дополнительных плат, но для этого потребуется некоторая дополнительная подготовка.

Arduino не имеет непосредственной поддержки USB HID (Human Interface Device) для подключения мышей или клавиатур. Однако, существует альтернативный подход, который позволяет эмулировать USB HID устройство с использованием Arduino.

Для подключения USB мышки (беспроводной) к Arduino вам потребуется USB Host Shield или аналогичная плата, так как USB Host Shield имеет возможность работать в режиме хоста USB и поддерживает USB HID устройства, такие как мыши.

1. Подключите Arduino к USB Host Shield с помощью необходимых проводов.
2. Загрузите на Arduino и USB Host Shield соответствующую библиотеку, которая предоставляет возможности хоста USB и поддержку устройств HID, таких как USB mouse.
3. Напишите программу, которая будет взаимодействовать с мышью через USB Host Shield и выполнять необходимые действия в зависимости от перемещения мыши или нажатия кнопок.

Программа может выглядеть следующим образом:

#include <hidboot.h>
#include <usbhub.h>
#include <usbhid.h>

USBHost usb;
USBHub hub(&usb);
HIDBoot<USB_HID_PROTOCOL_MOUSE> mouse(&usb);

void setup() {
  usb.Init();
  delay(200);
}

void loop() {
  usb.Task();

  if (mouse.isReady()) {
    mouseData data;
    if (mouse.MouseDataAvailable()) {
      mouse.GetMouseData(&data);
      
      // Обработка данных от мыши
      // Например, можно вывести координаты курсора на серийный монитор:
      
      Serial.print("X: ");
      Serial.print(data.x);
      Serial.print(", Y: ");
      Serial.println(data.y);
    }
  }
}

В этом примере мы используем библиотеки "hidboot.h", "usbhub.h" и "usbhid.h", чтобы получить доступ к функциям хоста USB и устройствам HID.

Затем мы инициализируем USB хост и ждем некоторое время для его инициализации.

В основном цикле программы мы вызываем функцию usb.Task (), чтобы обработать любые доступные данные от мыши. Если мышь готова, мы считываем данные с помощью функции mouse.GetMouseData (&data) и выполняем необходимую обработку данных.

Данный код предназначен только для демонстрации и передачи данных от мыши в серийный порт Arduino. Вы можете изменить код, чтобы выполнить необходимые действия в зависимости от данных от мыши.

Учтите, что этот подход может быть более сложным и требовать дополнительного программирования, поэтому важно быть знакомым с принципами работы Arduino и устройств USB HID.