ich bin noch völlig unerfahren was die Beschaltung und Programmierung des Arduino angeht, muss aber kurzfristig etwas realisieren. Die Ausgangslage ist wie folgt:
Es gibt einen Schalter mit drei Polen A, B und C, der so verdrahtet ist dass er drei Schaltzustände annehmen kann:
A+C sind verbunden
B+C sind verbunden
Keine der drei Pole sind verbunden
Ausserdem habe ich ein Gerät mit zwei Tastern D und E, deren Funktion der Arduino abhängig von den Schalterstellungen übernehmen soll. Dazu müsste der Schaltzustand permanent abgefragt werden, und sobald sich der Schaltzustand ändert soll eine der zwei Tasterfunktionen D oder E durch den Arduino an dem Gerät und ausgelöst werden (eben so als ob man manuell einen von zwei Tastern drücken würden welche an dem Gerät angeschlossen sind). Diese sind wie folgt:
Schaltzustand 1: Tastfunktion D
Schaltzustand 2: Tastfunktion D
Schaltzustand 3: Tastfunktion E
Kann mir jemand sagen wie bzw wo ich die drei Pole des Schalters (A, B, C) am Arduino Uno 3 anschließe, welche Ausgänge des Arduino ich mit den Anschlüssen der Taster am Gerät verbinde und wie ein Sketch dazu prinzipiell aussehen könnte?
Haben Sie überprüft, wie die Tasten D und E auf dem Gerät funktionieren? Pullup, Pulldown oder etwas anderes?
Welche Spannung wird auf diesem Gerät verwendet?
Das verstehe ich nicht. Wenn Du Taster mit dem Arduino auswerten willst, sollten das doch Eingänge sein oder liegt Deiner Beschreibung etwas anderes zu Grunde
Dann beschreibe das genauer, auch um welche Gerätre und welche Spannungen es sich handelt.
Dazu musst Du erstmal wissen, wie die Taster des Gerätes intern funktionieren. Da kann man normalerweise nicht einfach Ausgänge des Arduino anschließen.
Ich denke, @hervshahn möchte die momentanen Tasten (die möglicherweise defekt sind) seines Geräts durch seinen 3-Positionsschalter ersetzen. So habe ich das Bedürfnis verstanden.
Kann sein, dann soll er es genauer beschreiben.
Und dann muss er sein Gerät (welches) an diesen Stellen genau durchmessen.
Im Zweifel Reedrelais einsetzen, aber da braucht es mehr Infos vom TO.
Pol C an GND
Pol B an einen Eingang - Ich nehme mal Digital 2
Pol A an einen anderen Eingang - Ich nehme mal Digital 3
Die Pins werden im setup() mit dem internen Pullup initialisiert, sodass der PIN immer ein gesichertes Potential annimmt.
Ist der Schalter nicht in Mittelstellung, geht ein PIN auf LOW
Ist der Schalter in Mittelstellung gehen beide PIN auf HIGH.
Im Code musst Du Dir den letzten Zustand merken und beim nächsten Umlauf überprüfen, ob sich der Zustand geändert hat.
Darauf Deine Aktion ausführen und den Zustan merken.
Ja, das Einlesen seines Kippschalters ist sicher kein Problem. Die Probleme fangen auf der Ausgangsseite an, wo er scheinbar die Tasterfunktionen eines anderen Gerätes 'bedienen' will.
Aber wie schon erwähnt, erstmal muss @hervshahn mehr Infos liefern, was er eigentlich wirklich will.
Sehe ich nicht.
Er will nur kein Schalt- sondern ein Tastsignal.
Was er damit macht, ist mir erstmal egal.
@hervshahn
Hier mal hingerotz* - ohne auf das prellen zu achen, bekommst Du mit jedem Schaltvorgang hoffentlich eine Ausgabe auf dem Seriellen Monitor.
@hervshahn Frage beinhaltet auch die Steuerung der Funktion der Tasten seines externen Geräts.
Eine vollständige Antwort muss das berücksichtigen... Wir können nicht einfach sagen, dass es uns nicht interessiert und ihn sein Arduino oder das andere Gerät beschädigen lassen.
Er hat ein Schiebeschalter den er abfragen will. (Als Programmschalter sozusagen).
Wenn der Schiebeschalter auf Pos-0 ist (nix angeschlossen alles aus) passiert nix.
Wenn der Schiebeschalter auf z.b. Pos-1 ist, wird vermutlich einmalig der Taster an einen anderen Gerät ausgelöst.
Bei einer anderen Stellung halt ein anderer.
Also muss an dem anderen Gerät die beiden Pins des Tasters elektronisch kurzfristig verbunden werden. Ohne die Schaltung zu kennen würde ich das denke ich mit einen Transistor/MoFet/etc. lösen.
Der Ausgangspin schaltet via Transitor/MoFet/etc kurzfristig den Kontakt und das Gerät bildet sich ein das ein Benutzer darauf getippt hat.
Der Druck muss dann in der Software "gemerkt" werden, damit das Teil nicht alle paar Nanosekunden durchschaltet. Es sei denk, der Taster ist eine Morsetaste. Dann wären viele Schaltvorgänge sinnvoll.
Gruß
Pucki
ps.: Für mich klingt das ganze wie eine Hausaufgabe. "Steuere ein externes Gerät via Programmierschaltung"
Es gibt schon genügend Fragen, die sich immer um Dinge drehen, die vom Code nicht erfasst werden.
Ich kann mich doch nicht erst vergewissern, dass der Fragesteller eine Elektronikausbildung hat
sorry wenn ich das nicht klar genug beschrieben habe, ich versuche es mal etwas detaillierter, habe allerdings keinerlei Schaltunterlagen des Gerätes.
Es geht um ein Effektgerät für Musikinstrumentr, genauer gesagt um einen Leslie-Simulator der in einen Hammond Orgel Clone eingebaut wird. Im Originalzustand hat das Gerät zwei Fuß-Taster mit denen die Geschwindigkeit des Effekts zwischen Schnell und Langsam umgeschaltet wird (Taster D) bzw der Effekt gestoppt wird (Taster E). Da ich nach dem Einbau die Fußschalter nicht mehr bedienen kann und statt dessen einen sog. Hammond Halfmoon Schalter verwenden will sollen die Taster ausgebaut werden und der Arduino bzw. ein an den Arduino angeschlossenes Bauteil die Tasterfunktion auslösen, je nach Schaltzustand des Halfmoon Switch. Im Prinzip soll also einfach nur der jeweilige Tasterkontakt dann kurz geschlossen werden.
Ist das so klarer beschrieben?
Ich glaube dass das Gerät intern mit 5V arbeitet, müsste aber mal schauen ob ich das irgendwo messen kann. Leistungsfähig wird da nichts geschaltet, nur Steuersignale.
Auch für den Sketch hab ich dann noch keine Vorstellung, gibt es da vielleicht ne passende Vorlage die man anpassen kann?
Bei seiner Beschreibung kann das nur ein Multi-Funktionsschalter sein. Und ich habe da der einfach halt halber ein Schiebeschalter gemacht. Klar kann das auch ein Dreh-/Kipp-/oder was auch immer Schalter sein.