Da ich der HomeRacing Leidenschaft verfallen bin habe ich mir eine Analoge Handbremse gebaut und mit einem Arduino micro erfolgreich mit einem “Analogen” signal zum laufen gebracht
Jetzt zu meinem Anliegen bei dem ich scheitere ,
ich habe das vorhandene analog File dazu nutzen wollen (was ein Potentiometer nutzt)
und einen anderen Arduino micro mit einem digitalen Signal (klickschalter) demendsprechend umzuprogrammieren das er damit funktioniert
#include <Joystick.h>
void setup()
{pinMode(A0, INPUT);
Joystick.begin();}
const int pinToButtonMap = A0;
void loop()
{int pot = analogRead(A0);
int mapped = map(pot,0,1023,0,255);
{Joystick.setThrottle(mapped);}}
das ist der Original code …
ich bin mir sicher das es am {Joystick.setThrottle(mapped);}} liegt
habe schon einiges ausprobiert jedoch ohne kompilierungs Erfolg
Dann solltest du die Fehlermeldungen posten. Und deinen Versuch, der den Fehler produziert, natürlich.
Das eigentliche Thema “analoges signal als digitales umprogrammieren” erklärt sich dann vielleicht auch.
Vermutlich hilft auch erzählen, was <Joystick.h> genau ist. (Ein klickbarer Link wäre nett)
Schön, dass du Code-Tags benutzt hast.
Wie du formatierst, dass die geschweiften Klammern nicht so versteckt sind, hat Doc schon gezeigt…
möchte noch kurz dazu sagen ich bin neu im ardunio sector und kenne mich höchstens im html und php etwas aus , das hier ist was völlig neues habe durch meinen ersten trial&error versuch auch den ersten micro chip geschrottet und der code stammt nicht von mir siehe unten
Hä dachte ich habe das genau genug beschrieben ...
in dem gefundenen habe ich erfolgreich eine analoges signal mit einem Potentiometer verarbeitet
jetzt möchte ich mit dem neuen micro ein digitales (an/aus) signal verarbeiten
jetzt möchte ich mit dem neuen micro ein digitales (an/aus) signal verarbeiten
Und was ist jetzt dein Problem genau? > Ein oder mehrere Compilerfehler.
Dann solltest du die Fehlermeldungen posten. Und deinen Versuch, der den Fehler produziert, natürlich.
ok links sind umgeändert
und zu dem anderen ich machs mal kurz ich habe keine Ahnung wie ich das angehen soll
dachte das ich vielleicht das "int pot = analogRead" in "int pot = digitalRead" umändern kann und das "Joystick.setThrottle(mapped)" noch dementsprechend anpassen kann
dem war aber nicht so (wie gesagt mein level ist auf 0 was das angeht)
deswegen meinte ich das es hier vielleicht jemand gibt der mir zeigt das man den obigen code entsprechend umändern kann ... ich denke auch nicht das es ein arg viel anderer code ist den ich für meine zwecke benötige aber wenn man das rad neu erfinden muss lasse ich es
wenn möglich wäre auch ok das ich zb die Taste SPACE (leertste) per dem klick-schalter auf A0 zuweisen könnte würde auch schon reichen wenn es über den Joystick.set nicht geht
Da wir nicht wissen, wofür du im digital (Taster) Modus die Methode Joystick.setThrottle(mapped);
überhaupt brauchst oder ob das sinnvoller ganz anders gemacht würde, nur ein theoretischer Tip:
byte throttle;
if (digitalRead(ThrottlePin) == HIGH) throttle = 200; // Fast Vollgas
else throttle = 10; // Fast Stop
Joystick.setThrottle(throttle);
Arduino wird übrigens in C++ programmiert: Das solltest du dir soweit aneignen, dass du zumindest die 4 Zeilen oben, und den "Original" - Sketch verstehst. Und die 4 Zeilen in deinem Sketch richtig einbauen kannst.
Hallo nach etwas Pause (ich habe auch den ersten Post angepasst mit der Überschrift)
Also aneignen brauche ich es nicht weiter denke ich
verstehe den geschriebenen Code schon soweit
jedoch zeigt dieser ja nicht von wo zB er die Signale bekommt (A0 oder so)
aber ich habe mal ein paar Bilder gemacht um es Verständlicher auszudrücken
Die angehängten Bildern zeigen die ANALOGE Handbremse die auch super funktioniert
jetzt möchte ich mit einem klick-schalter (2 Drähte) ein digitales Signal
zB die Keyboard Space Taste mit diesem Simuliert wird (demnach klick-schalter unten ,Handbremse gezogen )
PS habe auch zu dem Klick-schalter der die Space Taste (oder auch eine joystick digital taste) übernehmen soll auch ein Bild angehängt…
wie gesagt auch mit einem Pro Micro (denn den hätte ich auch noch zur hand)
Nochmal weiterfürend hierzu , ich habe auch wieder auf einer anderen seite Teensy gefunden der angeblich eine erweiterung für den Arduino hat wollte diesen mal ausprobieren aber hatte nicht so ganz funktioniert in den Kommentaren wurde daruf hingewiesen The Button – RasterWeb!
Der code sieht dazu wie folgt aus
/*
* Button.pde
*/
void setup() {
Serial.begin(9600);
pinMode(10, INPUT_PULLUP);
delay(500);
}
void loop() {
if (digitalRead(10) == HIGH) {
delay(10);
} else {
Keyboard.print(" "); // we print a space
delay(1000);
}
delay(10);
}
niwes:
Nochmal weiterfürend hierzu , ich habe auch wieder auf einer anderen seite Teensy gefunden der angeblich eine erweiterung für den Arduino hat wollte diesen mal ausprobieren aber hatte nicht so ganz funktioniert in den Kommentaren wurde daruf hingewiesen The Button – RasterWeb!
Die Kommentare sind schon ein paar Jährchen alt. Ich verwende mit IDE 1.6.5 einen Teensy 3.2 für LED-Animation (APA102), das geht problemlos. Allerdings muß man beachten, daß ein UNO enen 8-Bit, ein Teensy einen 32-Bit Prozessor inne hat. Da muß man bei der Länge der Variablen aufpassen. Desweiteren muß man schauen, ob es die notwendigen Programmbibliotheken, die man nutzen möchte, gibt. Das gilt es aber eigentlich immer zu beachten.
Ob ein Teensy für Dein Projekt von Vorteil sein könnte, vermag ich aber nicht zu beurteilen.
agmue:
Die Kommentare sind schon ein paar Jährchen alt. Ich verwende mit IDE 1.6.5 einen Teensy 3.2 für LED-Animation (APA102), das geht problemlos. Allerdings muß man beachten, daß ein UNO enen 8-Bit, ein Teensy einen 32-Bit Prozessor inne hat. Da muß man bei der Länge der Variablen aufpassen. Desweiteren muß man schauen, ob es die notwendigen Programmbibliotheken, die man nutzen möchte, gibt. Das gilt es aber eigentlich immer zu beachten.
Ob ein Teensy für Dein Projekt von Vorteil sein könnte, vermag ich aber nicht zu beurteilen.
Ok danke , habe jetzt direkt über Arduino etwas gefunden und darauf nun aufgebaut
kann auch alles erfolgreich überprüfen und aufspielen aber unter Kontroller wird nichts angezeigt
der Code den ich jetzt benutze lauted:
EDIT: Sichtbar ist er unter Maus,Tastatur & Stift aber gibt auch den write befehl aus (c)
werde es nun mal in einem spiel testen und feedback geben
EDIT²:
Also der obige code hatte bedingt funktioniert
Allerdings habe ich es nun geschafft einen #include <Joystick.h> Code auszuknobeln und das beste er funktioniert 1A somit habe ich nun bei den ganzen unterschiedlichen Autorennen die Wahl ob ich mit einer Digitalen oder Analogen Handbremse Fahren möchte bzw muss weil es das spiel nicht unterstützt.
Ich habe jedem MicroPro einen einzelne Aufgabe zugeteilt , das nächste Projekt wird wohl sein alles auf einen zu verlegen …
Danke euch trotzdem