Arduino mit Transistor Button ersetzten

#1
Hallo :)

Ich möchte gerne einen Button (Knopf des remotes für die xiaomi yi) durch einen transistor ersetzen um diesen per Arduino zu schalten. Kann mir jemand helfen wie ich die Widerstände berechne und alles verkable? Hatte mehrere BC-xxx Transistoren, NPN und PNP

Gruß Matthias

Gesendet von meinem X98 Plus(A5C8) mit Tapatalk
 
#2
Ich habe einfach 2 Sharp 817 Optokoppler genommen, einfach an Arduino Pin und GND, die andere Seite an den jeweiligen Pin an der Xiaomi Remote und an deren GND, dann ist das auch sauber getrennt.

Code:
// apply RC Input on this pin
#define RC_PIN 2

// use this pin for just on/off Modes 
#define SHUTTER_PIN 12
#define MODE_PIN    7 

#define SWITCHTIME 400

unsigned long duration = 1500;

void setup() {

  pinMode(RC_PIN, INPUT);

  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);

  
  pinMode(SHUTTER_PIN, OUTPUT);
  digitalWrite(SHUTTER_PIN, LOW);

  pinMode(MODE_PIN, OUTPUT);
  digitalWrite(MODE_PIN, LOW);

  Serial.begin(9600);
}

// the loop function runs over and over again forever
void loop() {
  
  duration = pulseIn(RC_PIN, HIGH, 25000);

  Serial.print(duration);
  Serial.print(" ");

  // use this pin for just on/off Modes 
  if (duration > 1800) {
    digitalWrite(LED_BUILTIN, HIGH);
    digitalWrite(SHUTTER_PIN, HIGH);
    delay(SWITCHTIME);
    digitalWrite(SHUTTER_PIN, LOW);
    digitalWrite(LED_BUILTIN, LOW);
    delay(1000);
  } else if (duration < 1200) {
    digitalWrite(LED_BUILTIN, HIGH);
    digitalWrite(MODE_PIN, HIGH);
    delay(SWITCHTIME);
    digitalWrite(MODE_PIN, LOW);
    digitalWrite(LED_BUILTIN, LOW);
    delay(1000);
  } else {
    digitalWrite(SHUTTER_PIN, LOW);
    digitalWrite(MODE_PIN, LOW);
    digitalWrite(LED_BUILTIN, LOW);
  }

 
  delay(100);
  Serial.println();
}
 

seeers

Erfahrener Benutzer
#5
Stört die Yi oder die Remote nicht die Empfänger auf dem Modell? Ich hatte mal einen Empfangsausfall weil ich das Wlan meiner Gopro nicht abgeschalten hatte.
 
#7
Ja, denke auch das sollte mit BT weniger ein Problem werden. Ist zwar auch 2.4GHz, aber weniger Leistung und sendet nicht dauerhaft. Zudem ist zumindest auf Seiten der Xiaomi das BT immer an und die fliegen ja viele Leute auf den Kopter - bei mir auch ohne Probleme. Denke das bisschen BT 4LE senden der Remote bei Tastendruck sollte hier kein Problem machen.
 
#11
Hatte mal n Biuld gesehen wo das Flachbandkabel von den Tastern auf die Platine geht, da schaute es aus als könnte man evtl was machen. An der Remote is halt nicht so schlimm wenns schief geht - und die is auch klein.
Vorwiderstände wären wahrscheinlich sinnvoll, es geht aber auch ohne, der Atmel is da zum Glück recht robust und liefert eh max 20mA pro pin.
 
#12
@der-Frickler So die Optokoppler sind angekommen :) Du entfernst praktisch die Abdeckungen der Buttons vom Remote und lötest die zwei Punkte an den Optokoppler oder wo ist ist Ground zu finden?
 
#13
#14
So jetzt habe ich einfach mal deinen Code auf einen Arduino mini pro 5v hochgeladen.
Leider bekomme ich nur im Serial Monitor wirres Zeug, ebenso mit der Fernsteuerung über einen Empfänger funktioniert das ganze nicht anständig. Es wird andauernd der MODE-Button ausgelöst, egal welche Position der zugeordnete Schalter an der Funke hat..

Das soll der Optokoppler sein:

schema.png

Ist die Verkabelung so richtig?

Gruß Matthias
 
Zuletzt bearbeitet:
FPV1

Banggood

Oben Unten