Lichtsteuerung mit Arduino über 3-Kanal Funke

  • Hut ab! Modellbauneuling? Von wegen!

    Deine Platinen sehen super aus. Saubere Lösung. Hab ich den Hut noch auf? Ne!Ab!

  • Ja, tatsächlich. Aber ich mag die Herausforderung. Und Perfektion. Beides in Kombination ist halt immer... teuer... :D Weil try and error kostet halt. :/

  • Stefan S.


    Ich muss wirklich „meinen Hut vor Dir ziehen „ :respekt:


    Wie Du Dich da eingearbeitet hast, von Deinen ersten Fragen zu diesem Ergebnis,

    ..... echt stark.

    :finger:hail:thumbup:

    Viele Grüße Peter


    RC4WD-Gelande-II-RTR-D90-TruckKit(Limited Edition (Aufbau ab Sommer 2018)

  • Wenn ich was daran verbessern würde: die Bremse geht nur bei Stillstand. Da kannst Du ganz leicht auch "vom Gas gehen" hinzufügen.

    Und die Lichter könnten teilweise einblenden. Zb. der Dachbalken.

    Die Funktionen dazu mit millis() hast Du schon in Deinem Code.

  • Das Bremslicht geht bei einem Rückgang des Gas-Signals vom Wert 5 automatisch an. ;)


    Du meinst hochdimmen? Die Funktion hatte ich mal getestet. Ich hab's aber nicht hinbekommen, dass die Funktion nur einmal durchläuft. Sie hat beim erreichen der maximalstärke also nicht aufgehört sondern das Licht aus gemacht und neu angefangen.

    Das steht aber noch auf meiner Agenda. :)


    Grüße Stefan

  • Das Bremslicht geht bei einem Rückgang des Gas-Signals vom Wert 5 automatisch an. ;)

    Ach okay das hab ich in dem Video nicht ganz erkennen können.


    Kenn ich auch, das beim Dimmen es immer wieder von vorne losgeht.

    Aber Abhilfe schafft da sowas als rundimentärer Denkanstoß:

    Maximal = 256;

    Zielwert = 0;

    Schrittweite = 20;


    If Zeitintervall (diese millis Geschichte) vorbei:

    Zielwert = Zielwert + Schrittweite (was auch immer. Kleine Werte = langsamer es Fade)

    Wenn Zielwert >= Maximal dann

    Zielwert = Maximal


    So bleibt am Ende des Fade der Maximalwert übrig. Bei Arduino dann

    analogWrite(Pin, Zielwert)

  • Ah, so könnte man das auch machen. Ich hatte das damals mit einer Schleife versucht, aber so wie Du es schreibst werde ich es mal versuchen. Danke Dir!

  • Hat jemand von euch schon das PS4u Modul von CTI am Arduino laufen? Sollte doch problemlos funktionieren, oder?


    Oder weiß jemand alternativ, wie ich so ein Modul direkt im Arudino Programmiere? Am liebsten mit dem Gas-Kanal.

  • Das kann ein Arduino auch ohne CTI-Modul, nur wie müsst ich auch erst gucken und vorsichtshalber ausprobieren.


    LG,

    Karen

    Alle sagten immer das geht nicht, dann kam jemand der das nicht wusste und hat es einfach gemacht!


    :tanzen:Du kannst dein Leben weder verlängern, noch verbreitern, nur vertiefen. :tanzen:
    Gorch Fock

  • Das kann ein Arduino auch ohne CTI-Modul, nur wie müsst ich auch erst gucken und vorsichtshalber ausprobieren.


    LG,

    Karen

    Naja so aus der Schachtel heraus kann der Ardu nicht 4x4 Ampere schalten. Also vielleicht ein einziges mal;)

    Und wenn schon ein Ardu für irgendwas im Einsatz ist und sonst keine große Peripherie, dann erweitert man recht leicht einen Ausgang um die Möglichkeiten des PS4u.

    Dummerweise braucht man dafür die ruppelige Servo-Library, die den Takt des Ardus ändert und somit das Kanal auslesen der Eingänge etwas zäh macht.

  • Hat jemand von euch schon das PS4u Modul von CTI am Arduino laufen? Sollte doch problemlos funktionieren, oder?


    Oder weiß jemand alternativ, wie ich so ein Modul direkt im Arudino Programmiere? Am liebsten mit dem Gas-Kanal.

    Was möchtest Du denn schalten?

  • Und über einen Transistor oder ULN2803 schalten wäre keine Option?

    Natürlich. Aber erstmal sollten die Anforderungen bekannt sein.

    Ich selbst nicht. Aber da mich ein paar Leute angeschrieben haben, ob ich das auch mit Schalter realisieren kann, mache ich mir da gerade Gedanken drüber.

    Schalten ja, aber wat?

  • Bei mir hängt ja jeder pin an einem Transistor, das ist also weniger das Problem. Mir wäre am liebsten, wenn ich anhand von gezähltem kurzem Tippen des Gas Kanals schalten könnte. Dann könnte man so ja beliebig viele Schalter einbauen, um so öfter man am Gas tippt. Versteht ihr wie ich meine? hmm

  • Bei mir hängt ja jeder pin an einem Transistor, das ist also weniger das Problem. Mir wäre am liebsten, wenn ich anhand von gezähltem kurzem Tippen des Gas Kanals schalten könnte. Dann könnte man so ja beliebig viele Schalter einbauen, um so öfter man am Gas tippt. Versteht ihr wie ich meine? hmm

    Naja das geht doch...ins unreine:

    Gas = 0;

    altGas = 0;

    Zähler = 0;

    Schwellwert = was auch immer


    Wenn Gas zu altGas > = Schwellwert{

    Zähler ++

    altGas = Gas

    }

    Damit zählst Du jedes Tippen am Gas.

    Was dann fehlt ist noch, das Gas vorher 0 sein musste. Sonst zählst Du jedes Tippen in jedem Fahrzustand.

    Um mehrere Tipper zu zählen, brauchst Du noch eine Timer-Funktion, die quasi darauf wartet, ob noch ein Tipper kommt oder nicht und dann erst das Gesamtergebnis ausgibt.

    Nennen wir es "Endergebnis".


    Damit bedienst Du den Schalter:


    switch (Endergebnis) {

    case 1:

    Machirgendwas;

    break;

    case 2:

    Machirgendwas

    break;


    Usw usw. Beliebig viele Schalter.

    Du musst dann nur noch an einer schlauen Stelle den Zähler zurücksetzen. Zum Beispiel:


    case 1:

    Machirgendwas

    Zähler = 0;

    break;