Anfängerfrage - Schalterstellung abfragen und Tasterfunktion auslösen

Die sicherste Variante wären ReedRelais, da dadurch beide Systeme elektrisch getrennt bleiben. Diese prellen allerdings und ich weiß nicht, wie schnell die Schaltungen sein müssen.

Andere Variante Optokoppler. Das setzt allerdings voraus, dass ein Tasterkontakt im Gerät auf GND liegt und der andere über einen Widerstand an Betriebsspannung (5V).
Das kannst Du im stromlosen Zustand mit einem Multimeter im Modus Widerstandsmessung ermitteln. Diese Infos brauchen wir von Dir.

Gruß Tommy

1 Like

Genau (jedenfalls fast) so - wird der Schalter auf Pos-0 gestellt (kein der drei Pole sind miteinander verbunden) soll Taster 2 einmal „betätigt“ werden, wird der Schalter auf eine der beiden anderen Positionen gestellt soll Taster 1 einmal „betätigt“ werden

Da die Fusstaster auch prelllen, wird das sicher abgefangen.
Ich bin auch bei der Variante Reedrelais.
Das prellen des 1-0-1 kann dann vernachlässigt werden :wink:

Ich mach die Kiste nächste Woche mal auf und messe das alles mal, danach melde ich mich wieder - Danke euch allen jedenfalls schon einmal !!

Etwas unlogisch.

Wieso 2 Stellungen für dieselbe Funktion?

Aber ohne das du messen warst, kann die hier keiner sagen wie die Schaltung aufgebaut wird.

Es ist nämlich ein Unterschied ob ich 5 Volt mit 10 mA schalte oder 230 Volt mit 10 A. :wink:

Gruß

Pucki

Da gibt es welche mit integrierter Freilaufdiode (Link nur als Beispiel), die ein 5V AVR direkt schalten kann (500 Ohm ==> 10 mA).

Gruß Tommy

1 Like

Lesen der Beiträge bildet.

Gruß Tommy

Dann mach das mal.

Der TO GLAUBT das es 5 Volt sind.

Ich rate zwar schonmal gerne, aber nicht bei etwas, was ein Hersteller macht, wie er Lust und Laune hat.

Gruß

Pucki

Du hast geraten was das für ein Schalter sei, und Du hast nicht verstanden, was die Fusstaster für eine Funktion haben.
Hör endlich auf die beleidigte Leberwurst zu spielen, weil man Dich schon wieder erwischt hat.

1 Like

Wo habe ich zu den Fusschalter was geraten. ??

Davon abgesehen ist der Fusschalter kein Schalter :wink:

Höre auf so ein Unsinn zu erzählen.

Gruß

Pucki

@my_xy_projekt Hast Du noch nicht gemerkt, dass nach seiner Ansicht, aller außer ihm, sowieso blöd sind?

Gruß Tommy

Du ziehst grade zurück, was Du eben zugegeben hast?

Du hast es nicht vestanden, was das für eine Funktion ist.
Es wäre Dir spätestens aufgefallen, wenn Du den Text gelesen hättest.
Ich erwarte ja nicht, dass Du die Funktion eines 1-0-1 auf die aktuelle Aufgabe projizierst. Nur Fragen stellen zu Dingen, auf die Du sowieso keine Antwort verwerten kannst, ist halt kontraproduktiv.

Der hier macht auf den PIN 4 und 5 das Ausgabesignal.
Ich hab jetzt nicht auf die richtige Zuordnung E / D geachtet, aber der ist selbsterklärend :wink:

Damit ist das dann erledigt.

// Forensketch
// https://forum.arduino.cc/

constexpr byte pinA {2};
constexpr byte pinB {3};

constexpr byte D {4};
constexpr byte E {5};

constexpr byte pinAactive {0x01};
constexpr byte pinBactive {0x02};
byte mySwitch;
byte lastSwitch;

constexpr bool ein {HIGH};
constexpr bool aus {!ein};
uint32_t switchTime;
constexpr uint32_t switchoffTime {80};

void setup()
{
  Serial.begin(115200);
  Serial.println(F("\r\nStart...\r\n"));
  pinMode (pinA, INPUT_PULLUP);
  pinMode (pinB, INPUT_PULLUP);
  if (!digitalRead(pinA))
  { lastSwitch = pinAactive; }
  else if (!digitalRead(pinB))
  { lastSwitch = pinBactive; }
  pinMode(D, OUTPUT);
  digitalWrite(D, aus);
  pinMode(E, OUTPUT);
  digitalWrite(E, aus);
}

void  loop()
{
  pinAbfrage();
  checkState();
}

void pinAbfrage()
{
  if (!digitalRead(pinA))
  { mySwitch = pinAactive; }
  else if (!digitalRead(pinB))
  { mySwitch = pinBactive; }
  if (millis() - switchTime > switchoffTime)
  {
    digitalWrite(D, aus);
    digitalWrite(E, aus);
  }
}

void checkState()
{
  if (mySwitch != lastSwitch)
  {
    switch (mySwitch)
    {
      case 0:
        digitalWrite(D, ein);
        Serial.println(F("Kein Schalter"));
        break;
      case 0x01:
        digitalWrite(D, ein);
        Serial.println(F("Schalter A"));
        break;
      case 0x02:
        digitalWrite(E, ein);
        Serial.println(F("Schalter B"));
        break;
    }
    switchTime = millis();
    lastSwitch = mySwitch;
  }
}

Rudimentär - aber sollte seinen Zweck erfüllen.
Na denne - viel Erfolg!

1 Like

Nee, es sind 3 Stellungen für 3 unterschiedliche Funktionen. Es ist allerdings so dass die Stellung Pos-0 (nichts verbunden) nur eine der drei Funktion (Stop) durch Taster E auslöst, die beiden anderen Positionen mittels Taster D zwischen zwei anderen Funktionen (Slow bzw Fast) hin und her schalten

AXO.

Jetzt macht das auch mir Sinn

Gruß

Pucki

Danke Dir!!! Jetzt muss ich nur noch wissen wie ich das alles an den Arduino anschalte bzw was ich zwischen Arduino und das Gerät setze um die Taster zu simulieren.

Es tut mir ja schon leid die Fragen gestellt zu haben wenn es dadurch hier direkt zum Streit kommt :confused:

Muss es dir nicht. ALLES gut. :heart_eyes:

Die hacken immer auf mir rum. Gewöhnt man sich dran.

Gruß

Pucki

Hier streitet keiner :wink:
Die Hardware ist recht einfach - ein NANO Clone reicht vollständig.
Dein Schalter haste, die Beschaltung hab ich Dir oben genannt und @Tommy56 hat einen Vorschlag für ein direkt einsetzbares reedrelays in #26 gemacht.
Da ist es (fast) egal, was Du da an Spannungen und Ströme auf der orignalen Fusstaste hast :slight_smile:
Beschaltung ist auch recht einfach - kann ich Dir ggfls. morgen als ASCII-Art liefern.
Für mich ist heute Schluß.

1 Like

ist unterschied wie Tag und Nacht, bevor nix vernünftiges kommt ist alles Rätzel.

Wäre super wenn du das in den nächsten Tagen hinbekommst, falls es dir nicht zu viel Aufwand ist. Ansonsten fummel ich mich mal selbst durch

Jepp verstehe ich vollkommen, wie gesagt mache ich das Gerät kommende Woche mal auf wenn ich wieder vor Ort bin, hänge dann mal mein Multimeter in die Leitung der Taster um zu messen wieviel Strom da bei Betätigung fließt, und checke auch mal ob die Taster GND oder Spannung durchschalten ob es dann wirklich 5V oder evtl 12V sind (das Stecker-Netzteil liefert 12V)