RGB-LED WS2812 ansteuern

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Vermutet da die Art sie an zu sprechen sich von den gewohnten unterscheidet. Es ist gut möglich das das in den zukünftigen Versionen wieder geht. Als die Hilfe erstellt wurde gab es das Problem noch nicht. Ob und wann sich dem Angenommen wird kann nur Alberts Crew beantworten.
      Eine editierbare Hilfe wäre wünschenswert. Ich schreibe Auffälligkeiten in den Code was nicht sonderlich Hilfreich ist: "Wo/wann hatte ich das Problem schon mal?"
      Viele Dinge findet man auch in der Forum Suchfunktion. (Dank Dir jetzt auch das "Port J Problem") ;)
    • F64098 wrote:

      Sowas könnte ja glatt mal irgendwo in einer Hilfe hinterlegt werden, bevor der nächste daran verzweifelt.
      Steht eigentlich in der Hilfe drin bei
      $NoTransform ON|OFF

      Das hängt mit den reservierten Adressen $0 bis $3F für IO-Register zusammen. Die Ports, DDR und Inputs gehören auch dazu.
      Bei größeren Chips passen diese ganzen zusätzlichen IO-Register jedoch nicht mehr in die 64 Bytes. Daher müssen die anders adressiert werden.
      Nämlich über Memory-Adressen (Hilfe INP, OUT).
      Vielleicht ist dir schon mal aufgefallen, dass der SRAM-Bereicht bei unterschiedlichen Chips auch unterschiedliche Startadressen haben kann.
      Das ist genau dem Sachverhalt der IO-Adressen geschuldet, die sich an unteren Bereich des SRAM befinden.
      Der für uns verfügbare SRAM beginnt nach dem letzten IO-Register.
    • Da wo ich die Leds ansteuern will,ist schon I2C vorhanden.Ich müsste jetzt noch einen 5ten Draht ziehen und das wollte ich vermeiden.Zumal ich einen PCCF8574 zur Tasterauswertung dort habe,wäre es ja einfach einen Port als Ausgang zu setzen und das Signal drüber laufen zu lassen.
      Aber ich weiß jetzt nicht ob das Rainbow-Signal dort drüber geht.
      Das funktioniert ja über Portausgang om Cntroller.
      Rainbow=1,Rb0_len=11,Rb0_port=PortG,Rb0_pin=3.Jetzt müsste man meiner Meinung ja nur die beiden letzten Anweisungen so hinbekommen,das das Signal halt über I2Cam PCF8574 anliegt wenn es gesendet wird.
      Ich weiß nur leider nicht wie ich das anstellen soll oder kann.
    • Andreas.Stortz wrote:

      WS-Leds über I2C-PCF874 ansteuern.Geht das überhaupt und wenn ja,wie müsste ich das anstellen ?
      Das geht nicht.
      Ein Puls bei WS2812 muss etwa 0,35 bzw. 0,9 µs haben mikrocontroller.net/articles/WS2812_Ansteuerung
      Um einen Puls bei I2C auszugeben, brauchst du ein Telegramm zum setzen des Bits und eines zum löschen.
      I2C hat einen Takt von 100kHz, ein Telegramm mit 8 Bits braucht davon 10 Takte, braucht also ca. 100 µs
      Du bist um den Faktor 300 zu langsam.
      Es sei denn, dein I2C Takt liegt bei knapp 30 MHz, dann geht's ;)
    • Michael wrote:

      Das geht nicht.
      Ein Puls bei WS2812 muss etwa 0,35 bzw. 0,9 µs haben
      Stimmt, mit den WS2812 geht das so nicht.

      Aber es gibt da noch andere Strips, die nicht dieses Timing brauchen. Die heißen APA102 und sind auch RGB-Strips.
      Da reicht ein Datensignal und ein Takt aus.

      Die Rainbow-Lib funktioniert hierbei allerdings nicht.
      Soweit ich mich erinnere ist die Anordnung der RGB-Pixel auch anders.

      Sowas gibts z.B. bei Amazon.

      Aber Datenblatt vorher lesen!
    • Hallo F64068,

      habe Dir mal zwei funktionierende Beispiele angehängt.
      Das erste ist ein Versuchsboard mit LCD und 4 Potis.
      Damit kannst Du ganz gut die Farben mischen. Das
      4. Poti hat hier noch keine Funktion. Sollte mal die
      Helligkeit werden.

      Viel Spass
      Jürgen
      Files
      • RGB_LED_2.bas

        (2.05 kB, downloaded 15 times, last: )
      • RGB_LED_3.bas

        (1.48 kB, downloaded 14 times, last: )

      The post was edited 1 time, last by HJH-MD ().

    • Hallo Jürgen.
      Danke erstmal für dein kleines Programm.Werde ich bei Gelegenheit mal ausprobieren.
      Nur habe ich jetzt mal ne Frage zu den Potis.
      Wie groß sind die vom Widerstandswert und wie hast du die angeschlossen?
      Zwischen + und - und Schleifer am ADC Eingang?
      Wenn ja,müssten ja auch I2C Potis gehen.

      Gruß Andreas
    • Guten Morgen Andreas,

      ja, Potis (10kOhm) an +/- und an ADC. Geht aber auch mit 50kOhm oder viel kleiner als 10kOhm.
      Ich stelle manchmal kleine, fertige und getestete Programme hier herein, die zum Thema passen.

      Schöne Woche wünscht der Jürgen

      Was sind I²C-Potis bei Dir?