INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Maus über Joystick emulieren
10.01.2020, 16:32
Beitrag #17
RE: Maus über Joystick emulieren
Ok, dann probier mal das:
Code:
#include <Mouse.h>
int horzPin = A1;  // Analog output of horizontal joystick pin
int vertPin = A0;  // Analog output of vertical joystick pin
#include <Keyboard.h>
int buttonPin = 9;  // select button pin of joystick

int vertZero, horzZero;  // Stores the initial value of each axis, usually around 512
int vertValue, horzValue;  // Stores current analog output of each axis
const int sensitivity = 200;  // Higher sensitivity value = slower mouse, should be <= about 500

bool altTaster = HIGH;  // Der Taster ist LOW-Aktiv

void setup()
{
  pinMode(horzPin, INPUT);  // Set both analog pins as inputs
  pinMode(vertPin, INPUT);
  pinMode(buttonPin, INPUT_PULLUP);  // set button select pin as input mit PullUp-Widerstand
  digitalWrite(buttonPin, HIGH);  // Pull button select pin high
  delay(1000);  // short delay to let outputs settle
  vertZero = analogRead(vertPin);  // get the initial values
  horzZero = analogRead(horzPin);  // Joystick should be in neutral position when reading these

}


void loop()
{
  vertValue = analogRead(vertPin) - vertZero;  // read vertical offset
  horzValue = analogRead(horzPin) - horzZero;  // read horizontal offset

  if (vertValue != 0)
    Mouse.move(0, vertValue/sensitivity, 0);  // move mouse on y axis
  if (horzValue != 0)
    Mouse.move(horzValue/sensitivity, 0, 0);  // move mouse on x axis

  bool taster = digitalRead(buttonPin);
  if (altTaster != taster)  {  // Taster ist geändert
    altTaster = taster;
    if (taster = LOW) {  // Gedrückt
      Keyboard.write('1');  // send a '1' to the computer via Keyboard HID
    }
  }
}

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.01.2020, 16:41
Beitrag #18
RE: Maus über Joystick emulieren
Vielen Dank aber leider drückt er keine Taste ;( Ich glaube da ist echt der Wurm drin Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.01.2020, 16:48 (Dieser Beitrag wurde zuletzt bearbeitet: 10.01.2020 16:52 von Tommy56.)
Beitrag #19
RE: Maus über Joystick emulieren
Edit: Sorry, im anderen Sketch war ein Fehler drin:
Code:
if (taster == LOW) {  // Gedrückt

Das muss natürlich == und nicht = heißen.

Dann kann der Rest wohl entfallen.

Probiere mal diesen Testsketch aus dem Netz aus:
Code:
#define joystickX A0 //X Achse des Joysticks am analogen PIN A0.
    #define joystickY A1 //Y Achse des Joysticks am analogen PIN A1.
    int button =  2; //Taster am digitalen PIN 2
    const int PAUSE = 250; //Wert für die Pause
    long lastAction = -1; //Variable zum speichern des Zeitstempels der letzten Ausführung.
    void setup() {
      Serial.begin(9600); //Begin der seriellen Kommunikation mit 9600baud
      //Setzen des Tasters als Eingang mit dem PullUp Widerstand.
      //Das Signal wird hier umgekehrt d.h. LOW == HIGH und HIGH == LOW
      pinMode(button, INPUT_PULLUP);
    }
    void loop() {
      //Abfragen der Millisekunden seit dem der Arduino gestartet / resetet wurde.
      long currentTimestamp = millis();
      //Alle x Millisekunden die Were der X & Y Achse Ausgeben.
      if(lastAction < (currentTimestamp-PAUSE)){
        lastAction = currentTimestamp;
        //Auslesen der X & Y Achse des Joysticks.
        int x = analogRead(joystickX);
        int y = analogRead(joystickY);
        Serial.print("aktuelle Koordinaten des Joysticks (x,y): ");
        Serial.print(x);
        Serial.print(", ");
        Serial.println(y);
      }
      
      //Auslesen des Zustandes des Taster.
      if(digitalRead(button)==LOW){
        Serial.println("Der Taster ist gedrück!");
      }
    }

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.01.2020, 17:46
Beitrag #20
RE: Maus über Joystick emulieren
PERFEKT!!!

Ganz Ganz lieben Dank. Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.01.2020, 17:55
Beitrag #21
RE: Maus über Joystick emulieren
Schön, dass es funktioniert und danke für die Rückmeldung.

Nicht alles was bei YouTube veröffentlicht wird, muss auf Tatsachen beruhen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Float über I2C zwischen 2 Arduinos UNO Marduino_UNO 23 9.175 18.08.2020 11:53
Letzter Beitrag: hotsystems
  Neo-Pixel über Mail-Inhalte steuern weserjunge 7 476 21.07.2020 19:24
Letzter Beitrag: Tommy56
  Auto mit Kamera über Bluetooth gnagfloW 4 612 19.06.2020 08:23
Letzter Beitrag: gnagfloW
  Steuerung über Infrarot und Bluetooth SimonTau 4 684 20.05.2020 07:37
Letzter Beitrag: Corvus
  Lauftext mit WS2812, der über Seriellen Monitor eingegeben wird Bastian 3 573 12.05.2020 16:47
Letzter Beitrag: Tommy56
  Fehler bei delay über 32767 Kleingärtner 5 594 07.05.2020 18:51
Letzter Beitrag: Kleingärtner
  Aktion bei Wert über- oder unterschreiten Kleingärtner 18 1.470 05.05.2020 20:19
Letzter Beitrag: hotsystems
  Betätigung d. Sensors soll Steuerung abschalten und nur über Taster einschalten Floydi 12 1.199 26.04.2020 07:47
Letzter Beitrag: MicroBahner
  Waage über RS 232 / Serial auswerten 425t 9 1.074 31.03.2020 06:44
Letzter Beitrag: 425t
  einen zweiten joystick einbauen ardutobias 1 453 15.03.2020 00:47
Letzter Beitrag: Bitklopfer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste