Connecting Mouse to Uno

Hello, I just started my journey with Arduino. I have a project to measure distance using mouse optical sensor. I bought Arduino shield USB host for my UNO. I plug in a mouse to shield. I tried to read any tutorials, but most of them were about controlling mouse cursor in the computer not reading displacement. I upload example I found in USB Host Shield library. And now is the problem on my serial port i get this chars “⸮⸮⸮⸮I⸮⸮ yii⸮YS⸮⸮⸮4⸮⸮0⸮ђ⸮⸮⸮⸮⸮⸮Yɉa⸮⸮⸮⸮I⸮⸮⸮⸮⸮2⸮⸮⸮WHH⸮⸮⸮ʓI2⸮⸮WI⸮⸮⸮⸮⸮⸮⸮⸮׶⸮⸮W⸮⸮⸮⸮” they only apper when i move my mouse. Can you please help me ? I would be gratefull for some advice.

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

// Satisfy the IDE, which needs to see the include statment in the ino too.
#ifdef dobogusinclude
#include <spi4teensy3.h>
#endif
#include <SPI.h>

class MouseRptParser : public MouseReportParser
{
protected:
 void OnMouseMove (MOUSEINFO *mi);
 void OnLeftButtonUp (MOUSEINFO *mi);
 void OnLeftButtonDown (MOUSEINFO *mi);
 void OnRightButtonUp (MOUSEINFO *mi);
 void OnRightButtonDown (MOUSEINFO *mi);
 void OnMiddleButtonUp (MOUSEINFO *mi);
 void OnMiddleButtonDown (MOUSEINFO *mi);
};
void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
{
    Serial.print("dx=");
    Serial.print(mi->dX, DEC);
    Serial.print(" dy=");
    Serial.println(mi->dY, DEC);
};
void MouseRptParser::OnLeftButtonUp (MOUSEINFO *mi)
{
    Serial.println("L Butt Up");
};
void MouseRptParser::OnLeftButtonDown (MOUSEINFO *mi)
{
    Serial.println("L Butt Dn");
};
void MouseRptParser::OnRightButtonUp (MOUSEINFO *mi)
{
    Serial.println("R Butt Up");
};
void MouseRptParser::OnRightButtonDown (MOUSEINFO *mi)
{
    Serial.println("R Butt Dn");
};
void MouseRptParser::OnMiddleButtonUp (MOUSEINFO *mi)
{
    Serial.println("M Butt Up");
};
void MouseRptParser::OnMiddleButtonDown (MOUSEINFO *mi)
{
    Serial.println("M Butt Dn");
};

USB     Usb;
USBHub     Hub(&Usb);
HIDBoot<USB_HID_PROTOCOL_MOUSE>    HidMouse(&Usb);

MouseRptParser                               Prs;

void setup()
{
    Serial.begin( 115200 );
#if !defined(__MIPSEL__)
    while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
#endif
    Serial.println("Start");

    if (Usb.Init() == -1)
        Serial.println("OSC did not start.");

    delay( 200 );

    HidMouse.SetReportParser(0, &Prs);
}

void loop()
{
  Usb.Task();
}

Do you have the baud rate menu at the bottom right corner of Serial Monitor set to 115200?

THANK YOU. I don't know why but it worked. Thank you again.

The baud rate of serial communications is set in the begin function. In the sketch you posted this is:

    Serial.begin( 115200 );

Serial Monitor must be set to the same baud rate, otherwise you end up with the garbage characters you noticed.

The initial baud rate of Serial Monitor is 9600 and the Arduino example sketches all use 9600 also but that will not always be the case.

For more information see:
https://www.arduino.cc/reference/en/language/functions/communication/serial/begin/