Moin
Dieses Projekt ist das Resultat purer Langeweile.
Ich habe mir vor 2 Wochen in den Kopf gesetzt eine (im weitesten sinne) Buttonbox für den Landwirtschaftssimulator 2022 zu Bauen. Beim Landwirtschaftssimulator wird ja meistens von einer Seitenkonsole geredet wenn man soetwas plant.
Seitenkonsole L (V3) – LS Seitenkonsolen (ls-seitenkonsolen.de)
Die Seitenkonsole im Link wäre für mich quasi das Ende des Projekts. Allerdings ist mir bewust dass das für nen Blutigen Anfänger wie mich eher Optimistisch ist. Für den Anfang habe ich mir zum Ziel gesetzt eine Buttonbox also 9 Taster und einen Joystick über einen Arduino Leonardo anzusteuern. Hierfür habe ich zunächst Folgenden Mikrocontroller bestellt.
Arduino Leonardo with Headers [A000057] : Amazon.de: Computer & Zubehör
zudem habe ich mir ein Paar Taster, einen Joystick, ein Breadboard, einige Kabel und einen Lötkolben bestellt. Ich versuche hier alles was zum Projekt gehört möglichst genau zu beschreiben damit ihr mir folgen könnt und euch vorstellen könnt wie es am Ende aussehen soll (im idealfall).
Für den Anfang geht es hier logischerweise um den Code. Ich habe mich über die vergangene Zeit Tag und nacht über den Arduino schlau gelesen. Und habe blind drauf los geschrieben. Daher verzeiht mir bitte wenn der Sketch arg stümperhaft wirkt, Ich habe absolut keine Ahnung was Fachlich richtig ist und wie man einen Sketch richtig Formatiert (Ich habe es mit STRG+T in der IDE Formatiert). Es ist halt viel zusammen gelesenes aus verschiedenen foren, wovon die meisten auch noch Englischsprachig waren (Ich würde sagen das ich über ein gutes Schulenglisch verfüge also ich verstehe 95% von dem was ich lese). Also hier zunächst mein Code.
#include <Joystick.h> //Öffne Die Joystick Libary
Joystick_ Joystick; //sage dem Joystick das er ein Joystick ist
#define Taster1 3 //Weise dem Pin auf dem Arduino einen Namen zu
#define Taster2 4
#define Taster3 5
#define Taster4 6
#define Taster5 7
#define Taster6 8
#define Taster7 9
#define Taster8 10
#define Taster9 11
const bool testAutoSendMode = true; //Der Joystick soll Kontinuierlich Infos an den PC senden
void setup() {
pinMode(Taster1, INPUT_PULLUP); //Configuriere den Pin als Eingang mit Pullup wiederstand
pinMode(Taster2, INPUT_PULLUP);
pinMode(Taster3, INPUT_PULLUP);
pinMode(Taster4, INPUT_PULLUP);
pinMode(Taster5, INPUT_PULLUP);
pinMode(Taster6, INPUT_PULLUP);
pinMode(Taster7, INPUT_PULLUP);
pinMode(Taster8, INPUT_PULLUP);
pinMode(Taster9, INPUT_PULLUP);
Joystick.begin(); //Starte das Joystick Programm
uint8_t buttonCount(9); // Der Joystick soll 9 Buttons haben
bool includeXAxis; //Integriere eine X Achse zum Joystick
bool includeYAxis;
bool includeZAxis;
Joystick.setXAxisRange(-1, 1); // Gebe dem Joystick eine Reichweite in der Achse vor
Joystick.setYAxisRange(-1, 1);
int lastButtonState[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}; //setze die einzelnen Buttons auf 0 (aus)
}
void loop() {
digitalRead(Taster1); //lese den Zustand der Pins aus
digitalRead(Taster2);
digitalRead(Taster3);
digitalRead(Taster4);
digitalRead(Taster5);
digitalRead(Taster6);
digitalRead(Taster7);
digitalRead(Taster8);
digitalRead(Taster9);
delay(500); // wiederhole die Befehlsschleife nach 500 Millisekunden
}
Das ist das was ich zunächst Zustande gebracht habe. Nicht viel aber ich bin bis jetzt einigermaßen zufrieden. Ich habe mal hinter die befehle geschrieben was ich versucht habe mit meinen Eingaben zu bezwecken. Sollte ich irgendeinen Denkfehler haben bitte sofort drauf hinweisen .
Für den Code habe ich die Joystick library von MHeironimus genutzt.
Nun meine Frage:
Für mein Verständnis habe ich jetzt zwar den Pins einen Namen gegeben und sie in der Loop ausgelesen, aber ich kann mir einfach nicht zusammenreimen wie ich einem Pin (also einen Taster) einen Button auf dem Joystick in meinem Pc zuweise.
Bis jetzt beschäftige ich mich nur mit dem Code. Ich habe noch nichts zusammengelötet und auch noch nichts aufgebaut. Ich habe nur Testweise einem von den Examples in der Library einen Taster an den Leonardo angeschlossen und ausprobiert. Alles hat Funktioniert. Leider kann ich die Sketche aus der Library nur bedingt lesen. Dafür bin ich wohl noch nicht bewandert genug.
Zum Schluss noch: Ich habe mir dieses Projekt ausgesucht um mich selbst in die Materie einzuarbeiten. Ich würde gerne den ganzen Sketch verstehen und ihn nach möglichkeit auch selber Schreiben. Darum suche ich hier jemanden der sich mit der Joystick Library auskennt und vielleicht die Geduld hat mir zwischendurch mal auf den (wie wir Norddeutschen sagen) "Patt" zu helfen.
Vielen Dank im Vorraus
euer Jörn