搖桿一接上 ESP32 藍牙就死機?🎮 這是很多人踩過的坑。 這篇教你怎麼把市售 Joystick Shield 搖桿擴展板改造成真正的藍牙遊戲控制器——解決 ESP32 ADC1/ADC2 衝突的根本問題,從接線、韌體到瀏覽器直接燒錄,完整教學一次講清楚,還附上開源原始碼 GitHub 連結。 下一篇還會用這支搖桿打造一台無線遙控車,敬請鎖定! #ESP32 #DIY #藍牙搖桿 #遊戲控制器 #JoystickShield
seen from United States
seen from Germany

seen from Netherlands
seen from United States

seen from United Kingdom

seen from United States

seen from United States

seen from United States

seen from Australia
seen from Germany

seen from United States
seen from Switzerland
seen from United States
seen from United States
seen from China
seen from Ukraine

seen from United States
seen from United States

seen from Malaysia
seen from United States
搖桿一接上 ESP32 藍牙就死機?🎮 這是很多人踩過的坑。 這篇教你怎麼把市售 Joystick Shield 搖桿擴展板改造成真正的藍牙遊戲控制器——解決 ESP32 ADC1/ADC2 衝突的根本問題,從接線、韌體到瀏覽器直接燒錄,完整教學一次講清楚,還附上開源原始碼 GitHub 連結。 下一篇還會用這支搖桿打造一台無線遙控車,敬請鎖定! #ESP32 #DIY #藍牙搖桿 #遊戲控制器 #JoystickShield
搖桿一接上 ESP32 藍牙就死機?🎮 這是很多人踩過的坑。 這篇教你怎麼把市售 Joystick Shield 搖桿擴展板改造成真正的藍牙遊戲控制器——解決 ESP32 ADC1/ADC2 衝突的根本問題,從接線、韌體到瀏覽器直接燒錄,完整教學一次講清楚,還附上開源原始碼 GitHub 連結。 下一篇還會用這支搖桿打造一台無線遙控車,敬請鎖定! #ESP32 #DIY #藍牙搖桿 #遊戲控制器 #JoystickShield
Arduino Leonardo als Maus: Simuliere Bewegungen und Klicks mit dem Joystick Shield
In diesem Beitrag zeige ich dir, wie du mithilfe des Arduino Leonardo eine Maus simulieren kannst und dabei das Joystick Shield HU-M16 einsetzt. Der Arduino Leonardo ist dabei unverzichtbar, da er den MEGA32u4 Chip verwendet, welcher das Feature USB-HID unterstützt. Dieser Chip ermöglicht es, Tastatur- und Mausaktionen direkt vom Mikrocontroller aus zu simulieren.
Arduino Leonardo als Maus: Simuliere Bewegungen und Klicks mit dem Joystick Shield
Mikrocontroller Arduino Leonardo im Überblick
Für diesen Beitrag verwende ich den Arduino Leonardo von Keystudio dieser steht dem Original in nichts nach, kostet dabei zusätzlich weniger als die Hälfte.
Herzstück von diesem Mikrocontroller ist der Atmel MEGA32U4 Chip, welcher neben den genannten Feature vom Simulieren von Tastatur und Mausaktionen noch weitere hat. MikrocontrollerAtmega32u4Betriebsspannung5 VEingangsspannung (über Jack Adapter)7 bis 12 Vdigitale I/O Pins20, davon 7 als PWM Pinsanaloge Eingänge12max. Stromaufnahme pro I/O Pin40 mAmax. Stromaufnahme an3.3V Pin50 mASpeicher32 KB Flash Speicher, 2,5 KB SRAM, 1 KB EEPROMTaktgeschwindigkeit16 MHz
Chip - MEGA32U4 vom Arduino Leonardo
Vorbereitungen
Vor dem Einstieg in die Programmierung teile ich gerne meine Erfahrungen. An meinem PC nutze ich drei Monitore, dazu eine Tastatur und Maus. Bei der Simulation einer Mausbewegung mit dem Arduino Leonardo stört die vorhandene "echte" Computermaus. Während meiner Tests musste ich stets die Computermaus ausschalten. Außerdem gestaltete sich die Arbeit mit allen drei Monitoren weniger vorteilhaft.
Programmieren einer Mausbewegung in der Arduino IDE
Für die Simulation einer Mausbewegung erhalten wir eine kleine Bibliothek zur Arduino IDE mitgeliefert. Diese Bibliothek ist nur lauffähig, wenn ein Arduino Leonardo ausgewählt wurde! Solltest du also den nachfolgenden Fehler erhalten, so prüfe zunächst, ob der korrekte Mikrocontroller ausgewählt wurde. Compilation error: 'Mouse' not found. Does your sketch include the line '#include '? Beispiel von Arduino.cc Auf der englischen Seite https://www.arduino.cc/reference/en/libraries/mouse/ findest du nicht nur eine ausführliche Anleitung zu den Events des Mouse Objektes, sondern auch ein lauffähiges Beispiel mit einem Joystickmodul. https://youtu.be/VcH7inmLyik Das Beispiel ist lauffähig, jedoch fehlt noch die Funktion zum Klicken der linken und rechten Maustaste und auch war dieses sehr unnötig umständlich programmiert. Ich habe mir die Freiheit genommen und dieses umgeschrieben. //Bibliothek zum simulieren einer Aktion mit der Maus. #include // Taster des linken Joysticks am digitalen Pin D2 angeschlossen #define mouseBtnLeft 2 // Taster des rechten Joysticks am digitalen Pin D2 angeschlossen #define mouseBtnRight 4 // Pins der X & Y Achsen #define xAxis A0 #define yAxis A2 // Mausgeschwindigkeit int range = 5; // Geschwindigkeit der Maus int responseDelay = 15; // Schwellwert für die übernahme einer Positionsänderung int threshold = range / 4; int center = range / 2; void setup() { //Pins der Taster über den internen 10kOhm Widerstand leiten pinMode(mouseBtnLeft, INPUT_PULLUP); pinMode(mouseBtnRight, INPUT_PULLUP); Mouse.begin(); } void loop() { //auslesen des aktuellen Wertes der xAchse int xAxisValue = analogRead(xAxis); xAxisValue = 1023 - xAxisValue; //auslesen der yAchse int yAxisValue = analogRead(yAxis); int xReading = calcDisplayPosition(xAxisValue); int yReading = calcDisplayPosition(yAxisValue); //umkehren des Wertes der yAchse yReading = -yReading; //Bewegen des Mauszeigers zur neuen Koordinate Mouse.move(xReading, yReading, 0); //eine kleine Pause delay(responseDelay); //Wenn der linke Taster betätigt wird, //dann soll die linke Maustaste betätigt werden. if (digitalRead(mouseBtnLeft) == LOW) { Mouse.press(MOUSE_LEFT); } else { Mouse.release(MOUSE_LEFT); } //Wenn der rechte Taster betätigt wird, //dann soll die rechte Maustaste betätigt werden. if (digitalRead(mouseBtnRight) == LOW) { Mouse.press(MOUSE_RIGHT); } else { Mouse.release(MOUSE_RIGHT); } } //Berechnen der neuen Position aus dem analogen Wert //von 0 bis 1023. int calcDisplayPosition(int axisValue) { int reading = map(axisValue, 1023, 0, 0, range); int distance = reading - center; if (abs(distance) < threshold) { distance = 0; } return distance; } Damit du den gesamten Code nicht abtippen oder kopieren musst, kannst du dir hier das gezippte Programm zum simulieren einer Maus am Arduino Leonardo herunterladen. Programm zum steuern des Mauszeigers mit dem Arduino Joystick Shield HU-M16 am Arduino LeonardoHerunterladen Read the full article