LEDs über Fernbedienung an/aus schalten

  • Nabend zusammen,


    nach zwei Wochen Urlaub möchte ich nun weiterbasteln. Habe meinem Quadro jetzt ein paar LED-Strips verliehen und würde diese gerne über die Fernbedienung an- und ausschalten können.
    Die LEDs laufen ja mit 12V, also Akkuspannung. Habe jetzt einen Transistor, den ich als Schalter benutzen werde, sodass bei 0V die Lampen aus sind und bei 5V eben an. Jetzt müsste ich es nur noch hinkriegen, dass ich einen Port meines NanoWii-Boards über die Funke auf High/Low ändern kann.
    Ich konnte keine fertige Funktion dafür finden in der MultiWii Software.


    Hat jemand schonmal sowas gemacht, bevor ich lange ausprobiere? Eine Modifikation von LandingLights vielleicht? Wenn nicht, kriege ich das sicher auch irgendwie programmiert, wollte aber sicherheitshalber mal fragen.


    Gruß, Simon


  • AW: LEDs über Fernbedienung an/aus schalten


    Ja geht. Die entsprechenden Programmänderungen müsste ich raussuchen.


    Der Schalter muss aber das Servosignal verarbeiten können.

  • AW: LEDs über Fernbedienung an/aus schalten


    Es wäre natürlich sehr nett, wenn du mal danach gucken würdest.


    Was meinst du mit Servosignal? Kein High-Pegel sondern eine digitale Zahl oder was?

  • AW: LEDs über Fernbedienung an/aus schalten


    http://www.hobbyking.com/hobby…r_Controlled_Switch_.html


    So einen Schalter benötigst du. Gibts auch irgendwo bei Conrad, aber da hab ich jetzt keine Ahnung wo genau und wie die das nennen.


    Und dann musst du im Sketch folgendes ändern:


    Unter dem Reiter Output habe ich dieses:


    /**************** Cam trigger Sevo ******************/


    #if defined(CAMTRIG) static uint8_t camCycle = 0; static uint8_t camState = 0; static uint32_t camTime = 0; if (camCycle==1) { if (camState == 0) { servo[2] = CAM_SERVO_HIGH; camState = 1; camTime = millis(); } else if (camState == 1) { if ( (millis() - camTime) > CAM_TIME_HIGH ) { servo[2] = CAM_SERVO_LOW; camState = 2; camTime = millis(); } } else { //camState ==2 if ( (millis() - camTime) > CAM_TIME_LOW ) { camState = 0; camCycle = 0; } } } if (rcOptions[BOXCAMTRIG]) camCycle=1;

    #endif


    Gegen das getauscht:



    /**************** Cam trigger Sevo ******************/
    #if defined(CAMTRIG) if (rcOptions[BOXCAMTRIG]) servo[2] = CAM_SERVO_HIGH;
    if (!rcOptions[BOXCAMTRIG]) servo[2] = CAM_SERVO_LOW;
    #endif


    Und unter config.h habe ich folgendes aktiviert:


    #define CAMTRIG
    #define CAM_SERVO_HIGH 2000 // the position of HIGH state servo
    #define CAM_SERVO_LOW 1020 // the position of LOW state servo


    Pin ist A2 der den Schaltbaustein ansteuert.


    Ob man bei Landing Lights die LEDs direkt ansteuern kann weiß ich nicht. Aber bezüglich des Stromflusses ist ein externer Schalter besser. Möglich wäre auch ein Regler für die alten Bürstenmotoren.

  • AW: LEDs über Fernbedienung an/aus schalten


    Also ich hab's jetzt erstmal ein bisschen anders gemacht als du es beschrieben hast, weil ich mir diesen Schalter, den du verlinkt hast, gerne sparen würde und stattdessen einfach einen Trasistor nehmen möchte. (Ich sehe gerade, dass ich ich im Anfangspost verschrieben habe, ein Kondensator bringt mir hier natürlich reichlich wenig.)


    Habe jetzt in MultiWii_release_canidate_2_1_r976 folgendes hinzugefügt

    Code
    #define BOXLEDLIGHTS 14 //neu
    
    
    #define CHECKBOXITEMS 15 //statt 14
    const char boxnames[] PROGMEM = // names for dynamic generation of config GUI
    [...]
      "LEDLIGHTS;" //neu
    ;


    in Output

    Code
    /**************** LEDLIGHTS sRogge ******************/
      #if defined(LEDLIGHTS)
      if (rcOptions[BOXLEDLIGHTS])
        digitalWrite(4, HIGH);
      if (!rcOptions[BOXLEDLIGHTS])
        digitalWrite(4, LOW);
      #endif


    und in config.h

    Code
    /******* LED Lights ************ sRogge */
      #define LEDLIGHTS


    Mit dem LOW/HIGH Pegel auf Pin 4 gehe ich jetzt an die Basis meines Transistors..

  • AW: LEDs über Fernbedienung an/aus schalten


    Also laut Multimeter schaltet er schonmal wie gewollt um, zwischen 0V und 2,8V an Pin 4. Den Transistor werde ich hoffentlich diese Woche in Aachen abholen können, da habe ich mein bisschen Hilfe, welchen ich da nehem muss. Aber an sich kostet so ein Ding ja nur ein paar Cent. Hoffentlich kann ich dann Ende der Woche mehr berichten.

  • AW: LEDs über Fernbedienung an/aus schalten


    Finde Deine Idee cool, jemand der sich mal mit der Materie ein wenig auseinandersetzt.
    Du hast jetzt in der MWC Gui den Reiter Ledlights und kannst den jetzt mit einem beliebigen Kanal schalten?


    D.h. Du hast einen Kollektor NPN Transistorschaltung?


    Gruss
    Frank

  • AW: LEDs über Fernbedienung an/aus schalten


    Zitat von franko_;187551

    Finde Deine Idee cool, jemand der sich mal mit der Materie ein wenig auseinandersetzt.
    Du hast jetzt in der MWC Gui den Reiter Ledlights und kannst den jetzt mit einem beliebigen Kanal schalten?


    Danke. Ja, genau so sieht's aus. Ich war selbst überrascht, dass das so einfach ging.


    Zitat von franko_;187551

    D.h. Du hast einen Kollektor NPN Transistorschaltung?


    Joa, das ist der Plan. Wie gesagt, das steht noch nicht ganz, aber sollte ja wohl machbar sein.

  • AW: LEDs über Fernbedienung an/aus schalten


    Dann solltest Du ja mit 3 Bauteilen auskommen ..
    Bin auf Dein Ergebnis gespannt, leider fehlen mir die nötigen schaltbaren Kanäle und brauch eine Funke die mehr Schalter und Kanäle hat.

  • AW: LEDs über Fernbedienung an/aus schalten


    Mir ist die Funke relativ egal 35/40/2.4, Hauptsache viele Schalter und wenn es geht mit Neutralstellung.
    Welche Funke hat eigentlich eine Neutralstellung? Also wenn Ihr was altes ausrangiertes zuhause rumliegen habt ....


    Ansonsten werde ich mir die th9x oder deren Nachfolger ordern.

  • AW: LEDs über Fernbedienung an/aus schalten


    Also grundsätzlich funktioniert es schonmal wie es soll nach diesem "hochprofessionellem" Aufbau zum Testen (R = 100Ohm)

    Allerdings begrenzt der MOSFET (BUZ11A) der Strom für die LEDs auf gut 100mA, normal hätten sie gerne 250mA insgesamt, was sich etwas in der Helligkeit wiederspiegelt. Ich werde mal andere Transistoren versuchen, aber irgendwie blicke ich nicht so richtig durch die Datenblätter durch.


    Weiß jemand zufällig, ob alle Pins (des NanoWiis) 2,9V ausspucken oder ob es vllt welche mit 5V gibt? Und weiß jemand wie groß der Strom an einem Pin maximal sein darf? Habe verschiedene Angaben im Netz gefunden.


    Gruß, Simon

  • AW: LEDs über Fernbedienung an/aus schalten


    Danke noch für die Tipps franko_. Habe mich heute nochmal dran gesetzt und funktioniert alles :)


    Der Widerstand wurde ersatzlos gestrichen und der Pin von 4 auf A3 geändert. Ich weiß nicht, warum beim 4er so eine komische Voltzahl (laut Multimeter, ein Oszi habe ich leider nicht) zustande kommt, aber beim A3er kommen jetzt wie eigentlich erwartet knapp 5V an und der Transistor schaltet wie gewünscht durch.


    Also der Code für die Output.ino

    Code
    /**************** LEDLIGHTS sRogge ******************/
      pinMode(A3,OUTPUT);
      #if defined(LEDLIGHTS)
      if (rcOptions[BOXLEDLIGHTS])
        digitalWrite(A3, HIGH);
      if (!rcOptions[BOXLEDLIGHTS])
        digitalWrite(A3, LOW);
      #endif


    MultiWii_release_canidate_2_1_r976.ino und config.h bleiben gleich.
    Mir fällt gerade noch auf, dass das mit dem pinMode vielleicht besser an eine andere Stelle gehört, aber so funktioniert es auf jeden Fall.


    Und hier noch ein Bild vom MOSFET, für's Protokoll

  • AW: LEDs über Fernbedienung an/aus schalten


    Ich weiß auch nicht, wie lang es bei mir aktiv bleiben wird, schließlich hält sich der "Nutzen" in grenzen und irgendwann brauch ich meine Kanäle sicher für was anderes..

  • AW: LEDs über Fernbedienung an/aus schalten


    Theoretisch hat meine Turnigy ja 8 oder 9 Kanäle, allerdings kann ich die nicht nutzen mit meinem NanoWii. Es sei denn ich bekäme ein Summensignal, aber das gibt mein Empfänger wohl nicht aus und eine befriedigende Lösung kann ich im Netz nicht finden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!