mikrocontroller.net

Forum: Projekte & Code WS2812B mit Attiny817 Hardware ansteuern


Autor: Thomas F. (thomas_fr)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

im Anhang ist ein Codeschnipsel wie man das WS2812B Protokoll
mit der Hardware des Attiny817 umsetzen kann.

Hardware:
USART im SPI Master Mode
TCB0 im single shot Mode
Event System XCK vom PIN an TCB0 leiten
CCL Das ganze verkleben

Im Code ist es nocht etwas genauer beschrieben.


Vielleicht kann es ja jemand gebrauchen.

Gruß Thomas

Autor: Johannes S. (jojos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt einen Wikiartikel zur Ansteuerung der WS2812, ich habe mal einen 
Link auf deinen Beitrag da rein gesetzt.
https://www.mikrocontroller.net/articles/WS2812_Ansteuerung

: Bearbeitet durch User
Autor: Johann H. (Firma: none) (johann1979)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schöner code...

Autor: Thomas F. (thomas_fr)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Danke für das Feedback.

Sollte auch mit den verwanden ATtinys funktionieren.

ATtiny417-814-816-817-1614-1616-1617

Autor: Magnus M. (magnetus) Benutzerseite
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Ich mag mich vielleicht irren, aber was hat ein tiny817 mit XMega zu 
tun?

#include <avr/xmega.h>

Autor: Thomas F. (thomas_fr)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Die genannten ATtiny haben eine "avrxmega2" Struktur.

Bis auf die 5V haben die wenig mit den ATtiny gemeinsam.

Gruß Thomas

Autor: Thomas F. (thomas_fr)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo,

im Anhang ist ein Codeschnipsel bei dem ein ATtiny817 als
SPI WS Konverter dient.
Ist vielleicht interessant wenn der ATtiny212 verfügbar ist.

Das ganze wurde mit einem ATMega328P als SPI Master und 240 LED
getestet. Der jitter der durch den asynchronen Start des TCB0
entsteht hatte hier keine Auswirkungen.


Gruß Thomas

Autor: Sol B. (s-ol)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Hey, vielen Dank für den Beispielcode!
Ich versuche gerade das Ganze auf einem ATTiny414 umzusetzen.

Wegen der verschieden Pinouts und meinem Boardlayout habe ich ein paar 
Änderungen vorgenommen:

- USART per PORTMUX auf die alternativen Pins gelegt (XCK auf PA3)
- dementsprechend ASYNCCH0 (wg Source von PORTA) statt ASYNCCH1
- LUT1 statt LUT0

allerdings war ich bis jetzt erfolglos, in Einzelnfällen ist hat die 
erste LED grün aufgeleuchtet, was aber eher nach Zufall klingt.

Ein paar Fragen zum Originalcode hätte ich auch noch:
- fehlt nicht eine Zeile um per PORTMUX LUT0-OUT von PA4 auf PB4 zu 
verschieben?
PA4 wird im Code nicht genutzt und PB4 ist als 'LED' kommentiert.
- wozu wird unten im Loop PB4 per Write auf 'PORTB.IN' getoggled?


Im Anhang ist meine aktuelle Version des codes, ich wäre für Hinweise 
sehr dankbar :)

: Bearbeitet durch User
Autor: Thomas F. (thomas_fr)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo Sol B,

an PB4 "LED" ist eine normale LED angeschlossen.
Hat nichts mit den WS-LED zu tun.

Ich hab deine Änderungen mit einem 817 getestet.
"USART0.CTRLB = USART_TXEN_bm;" darf nicht aus kommentiert werden.
Nach dieser Änderung hat es funktioniert.

Das Projekt mit dem ich es getestet habe ist im Anhang .

Bei den Fuses muss 16MHz eingestellt sein.

Gruß Thomas

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.