Hallo zusammen, bin neu hier, hab aber schon viel gelesen - tolles Forum! Kurze Vorstellung meiner Wenigkeit: Baujahr 1968 und Maschbau-Ing. Der absolute Elektronikfreak bin ich nicht, also lasst bitte Milde walten ;-) Mich fasziniert es aber sehr wohl, Dinge wie den Arduino zu programmieren und die Projekte dann irgendwie auf Chips ohne die Arduino-Umgebung zu portieren. Für lange Winterabende ab und an genau das Richtige. Hab es immerhin hinbekommen, einen Temperaturlogger nach eigenen Vorstellungen zu bauen und zu programmieren. Aktuell aber folgendes Problemchen: Für das Betreiben einer LED-Lichterkette bin ich auf einen TLC9540 gestoßen. Hab vor, zu Helloween einem Kürbis nen Larson-Scanner als Augen zu verpassen. Sinnlos, aber lustig (wie ich finde). Natürlich nicht nur mit Larson-Scanner sondern bei der Gelegenheit noch mit anderen lustigen LED-Animationen. Der Prototyp läuft mit einem ATmega128P problemlos. Siehe Bild im Anhang. Nun wollte ich das "einfach" auf nen ATtiny45 (oder 85) brennen. Vom Speicherplatz her kein Problem, der Code ist nicht groß. Aber scheinbar klappt das deswegen nicht, weil in der zur Verfügung stehenden Library für den Arduino scheinbar ein ATtiny45/85 nicht vorgesehen ist. Hab gedacht, ich muss nur die korrespondierenden Pins vom ATmega beim ATtiny wiederfinden. Das klappt aber bei einem Pin nicht. Der TLC9540 benötigt beim ATmega128 u.a. die Pins PB1, PB2, PB3, PB5 und PD3 Beim ATtiny45 gibt es den PD3 nicht aber es wäre noch der PB4 vorhanden. Ich frage mich, ob es mit einer entsprechend modifizierten Library dann doch irgendwie ginge (ist nur die Frage, ob ICH das dann hinbekomme...) In der Librariy "ATmega_xx8.h" finde ich folgenden Eintrag: ---------------- /** OC2B (Arduino digital pin 3) -> GSCLK (TLC pin 18) */ #define GSCLK_PIN PD3 #define GSCLK_PORT PORTD #define GSCLK_DDR DDRD ----------------- Mir sagt das leider nicht viel, aber ich denke schon, dass das damit zusammenhängen müßte, ein bestimmtes Signal auf einen bestimten Pin (hier: PD3) zu leiten. Ich weiß übrigens, dass das alles viel eleganter gehen würde (einzeln adressierbare LEDs, Neopixels und so), aber das will ich hier gar nicht. Es reizt mich eben, einen kleinen Chip wie den ATtiny45 den TLC9540 steuern zu sehen. Hat jemand einen Tip für mich, ob und wie ich den TLC9540 mit nem ATiny45/85 gesteuert kriege? Grüße und danke vorab
Mirko S. schrieb: > /** OC2B (Arduino digital pin 3) -> GSCLK (TLC pin 18) */ Wird daran scheitern das der Tiny45 keinen OC2B hat. Es gibt nur Timer 0 und 1. Möglicherweise könnte man es auf einen anderen Timer umstricken, dazu würde man aber den ganzen Code brauchen. PB5 geht beim Tiny nicht, das ist der Reset.
:
Bearbeitet durch User
>PB5 geht beim Tiny nicht, das ist der Reset.
Geht schon, aber ab dann ist ISP tot.
Vielen Dank für die vielen und schnellen Antworten! Boah...da werd ich mal versuchen, durchzusteigen. Auf den ersten Blick sehen die Links recht vielversprechend aus. Schau mer mal. Falls jemand schon sowas umgesetzt hat (TLC9540 mit ATtiny betreiben), bitte melden. Für ein Kochrezept wäre ich dankbar, auch wenn es natürlich schön ist, selber eine Lösung zu finden ;-)
Mirko S. schrieb: > Der Prototyp läuft mit einem ATmega128P problemlos. Wenn Du mit Arduino und AT328 glücklich bist, bleibe bei diesem Baustein. Den 328 als handhabbares Platinchen vom Chinesen kaufen, mit einem USB-Adapter programmieren (wie nano) und gut ist. Kommt für dieses Projekt zu spät, aber ansonsten: https://www.aliexpress.com/item/Free-Shipping-new-version-1pcs-ATMEGA328P-Pro-Mini-328-Mini-ATMEGA328-5V-16MHz-for-Arduino/32665418223.html
Manfred schrieb: > Wenn Du mit Arduino und AT328 glücklich bist, bleibe bei diesem > Baustein. Den 328 als handhabbares Platinchen vom Chinesen kaufen, mit > einem USB-Adapter programmieren (wie nano) und gut ist. Hallo Manfred, tja...hast schon recht und es ist gut zu wissen, dass bereits eine Lösung existiert ;-) Aber wie soll ich sagen...ist so ein bissl wie ein selbst gestecktes Ziel erreichen zu wollen und auf dem Weg dorthin noch etwas lernen zu können und tiefe Befriedigung darin zu finden, wenn man etwas zum Funktionieren gebracht hat. Man muss das so sehen: Die kleinen schwarzen Dinger waren für mich schon immer ein Buch mit sieben Siegeln und diese zu programmieren reines Hexenwerk. Mit dem Arduino erstmals eine LED zum Blinken zu kriegen war für mich sowas wie "Ich hab Feuer gemacht". Und dass ich das aktuelle Projekt nun gerne mit dem Tiny befeuern möchte, ist auch so ein bissl die Ingenieurskrankheit, Überflüssiges möglichst wegzulassen. Grüße
Ich verstehe ja den Ehrgeiz, dass so umsetzen zu wollen. Für die Zukunft würde ich mir mal die WS2812 (gibts auch bedrahtet) und kompatiblen LEDs ansehen. Ich benutze eigentlich nichts anderes mehr ...
Wilhelm M. schrieb: > Für die Zukunft würde ich mir mal die WS2812 (gibts auch bedrahtet) und > kompatiblen LEDs ansehen. Hallo Wilhelm, stimmt, sehr hübsch, die Dinger...und ich hab sogar zwei 16er-Ringe in der Schublade - das sollen mal so Steampunk-Goggles für meine Nichte werden. Freu mich schon drauf. Aber für den Moment will ich noch nicht aufgeben. Ich fand es übrigens faszinierend, wie absolut einfach und auf Anhieb die Sache mit der Kombi TLC9540/ATmega geklappt hatte. ------------ Eine scheinbar mögliche Pinbelegung hab ich über einen der oberen Links gefunden. Leider krieg ich den Tiny jetzt irgendwie nicht programmiert. Hat wohl etwas mit der vorhandenen Library zu tun und der Compiler bricht frühzeitig ab. Grüße
So...das Projekt ist umgesetzt, der Cylon Pumpkin steht rechtzeitig für morgen seit vorhin im Fenster ;-) Die Schnitzerei ist gar nicht so einfach gewesen und die beste Ehefrau von allen wollte sowieso ein anderes Motiv. Töchterchen findets cool. Mit dem ATiny hab ich es leider nicht hinbekommen. Irgendwie hatte ich nur den totalen Huddel mit der einen Library die ich mir aus dem o.g. Link runtergeladen hatte. Das klappte rein gar nicht weil ich sicher ein paar dazu notwendige Dinge nicht weiß und somit nicht berücksichtigen konnte. Wurde mir dann zu kompliziert und um nicht frustriert aufgeben zu müssen also zurück zu Plan B und den ATmega328 verwendet (oben hatte ich fälschlicherweise "128" geschrieben, sorry). Die LEDs blinken übrigens nicht einfach nur nacheinander, sondern werden allmählich gedimmt, so dass das Lauflicht quasi immer nen kleinen Schwanz hinter sich herzieht. Alles ziemlich einfach mit dem ATmega328 + TLC9540 umzusetzen. Besonders hilfreich beim Löten ist hierbei, dass man nur einen einzigen Widerstand für alle 16 LEDs braucht! Ab und an blinken alle per Zufallsprinzip (wie ein kleines Feuerwerk) oder links und rechts leuchten mit veränderlicher Intensität die "Augen". Vielen Dank für eure Hilfsbereitschaft und vielleicht findet der ein oder die andere hier eine Idee für sein eigenes Projekt!
Ich habe da mal ein Projekt mit dem TLC5940 versucht. Hatte versucht, das Ding auf nem Breadboard zum laufen zu bekommen aber keine Chance, das flackerfrei zu betrieben. Hier ist eine Version des Sourcecodes, den ich damals verwendet hatte. Ich weiß gerade nicht, ob der vollständig ist aber laufen müsste er. Prinzipiell ist die Ansteuerung des TLC5940 nicht so schwierig. GSCLK kann man offenbar die ganze Zeit einfach durchlaufen lassen. (Kann btw. mal ein Mod die Überschrift des Threads ändern? So findet man das ja überhaupt nicht)
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.