Sehr günstig eine ausgefeilte Gebäude-Beleuchtung basteln? Oder andere Sachen auf der Modellbahn intelligent und abwechslungsreich ansteuern? Mit einem ATtiny kein Problem und sehr kostengünstig umsetzbar! Ich zeige euch wie!
Ob ich alles richtig mache, weiß ich nicht…
WS2812 programmierbarer LED-Stripe: https://amzn.to/3uwENUc
Arduino Experimentier-Kit: https://amzn.to/3ryIw1W
ATtiny45 (5er-Pack mit Fassung): https://amzn.to/3HC2kXM
ATtiny85: https://amzn.to/3I1valF
IC-Fassungen (8-pol, 5er Pack): https://amzn.to/3JpRVPt
Brückengleichrichter (10er Pack) https://amzn.to/3HyDjwx
Sortiment Spannungsregler: https://amzn.to/35WK0ur
Elektronik-Experimentier-Set: https://amzn.to/3uwwrfx

Den Sketch zum Download gibt es hier:

Lichtsteuerung Mehrparteien-Wohnhaus
Lichtsteuerung Mehrparteien-Wohnhaus

25 Comments

  1. Hallo Knut,
    das ist alles sehr beeindruckend, Respekt !
    Ja das ist genau mein Thema : von der Teppichbahn zur Modelbahn.
    nach über 30 Jahren komme ich jetzt mal dazu meine Eisenbahn aufzubauen.
    Mit Schrecken habe ich festgestellt was sich da getan hat ….. ui ui ui …. 🙂
    Ich habe mir frecherweise mal den Sketch von der Mehrfamilien – Beleuchtung runtergeladen.( Danke )
    Mal sehen wie ich damit zurecht komme. Dieses Beleuchtungsvideo ist ja der Hammer.
    Ich komme aus der Spur N Ecke ( Ich hoffe das stört nicht )
    Viele Grüße aus Rheinland Pfalz
    Markus

  2. Ja einen schönen guten morgen.

    Ich bin heute beim stöbern im Internet auf Ihre Anleitung und Sketch für das für das Wohnhaus gestoßen.
    Das hat mir sehr gut gefallen.
    Nun habe ich mir den Sketch runtergeladen, ich kann aber keinen Schaltplan für den attiny nicht finden
    Können sie in mir bitte zukommenlassen.

    Mfg Andreas Metag

  3. Hallo Deine Beleuchtung sieht wirklich sehr gut aus. habe mir auch mal erlaubt den Sketch runterzuladen, leider bekomme ich beim überprüfen immer diesen Fehler angezeigt. Weisst Du vielleicht woran das liegt habe ja nix daran geändert.
    LG Frank

    /Users/franksmac/Downloads/Wohnhaus/Wohnhaus.ino:9:10: fatal error: Adafruit_NeoPixel.h: No such file or directory
    #include
    ^~~~~~~~~~~~~~~~~~~~~
    compilation terminated.

    exit status 1

    Compilation error: Adafruit_NeoPixel.h: No such file or directory

  4. Hallo,

    ich finde den Sketch super. Allerdings möchte ich die Lichtfarbe ändern, weil mir das Weiß zu kalt ist. Leider bin ich was das Programmieren angeht noch ein ziemlicher Noob. Jedenfalls finde ich nirgendwo die Möglichkeit, eine andere Lichtfarbe einzustellen. Über Hilfe würde ich mich sehr freuen.

    Und dann hätte ich gleich noch ne zweite Frage: Kann ich irgendwo oder irdendwie festlegen, dass nur eine oder 2 bestimmte LEDs als TV flimmern?

    Vielen Dank

    hhuelder

    • Jede LED ist individuell ansteuerbar:

      pixels.setPixelColor(i, pixels.Color(r, g, b));

      i=Nummer der LED im Strang, beginnen bei 0 bis (Anzahl LEDS -1), also z.B. bei 10 LEDs im Strang wird von 0 bis 9 gezählt.
      r=Intensität Rotanteil (0..255)
      g=Intensität Grünanteil (0..255)
      b=Intensität Blauanteil (0..255)

      Ich hab mit
      #define ROOM_BRIGHTNESS 16 //Helligkeitseinstellung der LED’s bei Raumbeleuchtung
      eine sehr gemässigte Helligkeit eingestellt, weil die LEDs wirklich sehr hell sind.
      die setze ich im Sketch auf weiß:
      pixels.setPixelColor(r, pixels.Color(ROOM_BRIGHTNESS, ROOM_BRIGHTNESS, ROOM_BRIGHTNESS)); //Leuchstärke der lED Farben festlegen
      Willst Du hier ein wärmeres Licht, dann muss Du das Farbmischungsverhältnis nach gelb verschieben und nicht alle Farben auf denselben Wert setzen. Steht Dir frei.

      Willst Du das TV-flimmern nur in bestimmten Räumen haben, in Zeile 77-80 den Code

      // bei 4-5 geht der Fernseher an
      else {
      Room[r] = TV_AN;
      }

      ersetzen durch

      // bei 4-5 geht der Fernseher an
      else {
      if((r==1)||(r==2)){
      Room[r] = TV_AN;
      }
      }

      Das würde nur auf den LEDs 2 oder 3 das TV-Flimmern erlauben. Das kannst Du durch weitere Oder-Vergleiche erweitern mit ||(r==x), eleganter und lesbarer wird’s dann aber mit einem switch()-Statement

  5. Hallo und danke. Das hilft mir sehr.

    ROOM_Brightness habe ich übrigens auf 8 setzen müssen, bei 16 war es mir viel zu hell. Kann es sein, dass das an meiner Version des WS2812 liegt? Ich habe ws2812e.

  6. Leider bringe ich es nicht fertig die Daten auf den Atiny 85 zu übertragen. Folgender Fehler erscheint:

    H:\Eisenbahn im Keller\Wohnhaus\Wohnhaus.ino: In function ‚void setup()‘:
    H:\Eisenbahn im Keller\Wohnhaus\Wohnhaus.ino:39:3: error: ‚Serial‘ was not declared in this scope
    Serial.begin(9600);
    ^~~~~~
    H:\Eisenbahn im Keller\Wohnhaus\Wohnhaus.ino:39:3: note: suggested alternative: ‚Stream‘
    Serial.begin(9600);
    ^~~~~~
    Stream

    exit status 1

    Compilation error: ‚Serial‘ was not declared in this scope

        • Das ist dann natürlich schlecht, wenn man in die Microchip-Programmierung einsteigen will. Ich kann leider nicht täglich prüfen, ob der Sketch noch durchkompiliert, da ist Eigeninitiative gefragt.
          Die Quelltexte hier sind „as is“, da kann ich nicht viel Unterstüzung leisten. Wenn da Tippfehler sind, ist es was anderes (wie z.B. das Problem mit „Neopixel 2“), aber ich kann nicht Stunden drauf verwenden, über Kommentarzeilen Unterstützung zu leisten. Das ist sehr zeitaufwändig und nicht zielführend. Ich zeige hier mein Hobby, es besteht kein Anspruch darauf, daß mein Bastelkram woanders auch funktioniert.

          Ich benutze die ATTiny-Cores von https://drazzy.com/package_drazzy.com_index.json

          Kompiliert ohne Probleme.

          ein

          #include <Arduino.h>

          am Anfang sollte das Problem aber auch beheben.

          Mehr kann ich nicht für Sie tun.

          • Trotzdem vielen Dank für Ihre Bemühungen.

            ein
            #include <Arduino.h>
            am Anfang sollte das Problem aber auch beheben. An welcher Stelle

  7. Ich finde ihre Youtubeseiten trotz meiner Unfähigkeit sehr gelungen und werde weiterhin ihre Arbeit mit dem größten Interesse verfolgen. Den Rest werde ich versuchen in einem Ardurinoforum zu lösen.

    • Alternativ die Zeilen

      // Initialisierung des Zufallsgenerators
      Serial.begin(9600);
      randomSeed(analogRead(0));

      einfach löschen. Da wird sowieso nur der Zufallsgenerator durch auslesen des Rauschens auf dem Analog-Eingang initialisiert. Ist nicht so wichtig, sollte auch ohne das funktionieren.

      Was ist denn bitte „am Anfang“ nicht zu verstehen? Der Beginn des Quellcodes…

  8. Ich habe es nach mehreren Versuchen geschafft.
    Zuerst den Sketch ArduinoISP auf den UNO. Das wurde nirgends erwähnt.
    Ich bin gerne Zuschauer auf ihrer Youtubeseite.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert