Pages: [1] 2   Go Down
Author Topic: Uno und ATTinys, Gruppensteuerungen ... Anfängerfragen;)  (Read 1275 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 45
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Servus Forum!

noch so ein blutiger Anfänger;) Naja irgendwann muss ja jeder mal! Also ich würde mich über euren Rat freuen zu folgendem Vorhaben:
Ich möchte im Grunde für ein Scale-Model, welches per LED beleuchtet werden soll, eine Art Komfortsteuerung basteln. Dabei möchte ich am liebsten verschiedene LED-Gruppen bilden (z.B. Lauflichter, Positionslichter, etc.) und diese einzelnen Gruppen auf eigenen Schaltkreisen per Arduino steuern. Da ich bereits gelernt habe, dass Kollege Arduino nicht soo viele Ports im Angebot hat, dachte ich daran, die Programmcodes für z.B. Lauflichter auf ATTiny 13 oder 45 auszulagern und diese Kreise, da sie auch einen höheren Strombedarf haben, als Arduino liefern kann, später über TIP122-Transistoren zu steuern.
Am Ende komme ich vielleicht auf 6-7 LED-Kreise, die zwar nicht immer viel machen müssen ausser AN und AUS gehen. Beispielsweise möchte ich aber, dass die Fensterbeleuchtung an dem Model nicht einfach nur zack-an geht, sondern fadet und es ingesamt verschiedene Betriebsmodi wie Cold & Dark geben könnte.
In meiner noch sehr einfachen Vorstellung könnte ich dies alles zentral mit einem Arduino und mehreren Tastern steuern und könnte dann später dazu übergehen, die Taster durch ein BT-Modul zu ersetzen und am Ende per Android verschiedene Beleuchtungszustände erstellen. Soweit die Vorstellung ...
Aber ich komme schon nicht ganz mit, aus welchen ATTiny (allein aus Kostengründen wäre es ja beknackt, immer einen Uno zu verwenden;) ) ich am besten ein 10-LED-Lauflicht machen könnte. Und wie?
Ja, ich könnte mir bei Kontrad das 10er Lauflicht für 10 Euro kaufen, aber das kann ich nicht nach meinen Vorstellungen anpassen;)

Ratschläge, Tipps?
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1125
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also für solche zwecke sind Schieberegister perfekt, da du ja so gut wie keine Intelligenz brauhst für an und aus.
Schaue mal hier:
http://arduino.cc/en/Tutorial/ShiftOut

Wenn du keine LEDs mit hohem Strom brauchst kannst du mit LowCurrent LED schon eine Menge machen. Ich hatte Problemlos an 3 ShiftOut Ausgängen 6 Register (6*8=48 zusätzliche "LED Ausgänge") Wenn du 3 weitere nimmst kannst du also schon 96 Ausgänge mit 6 Arduino Ausgängen nutzten.  *1
Du kannst das auch mit I2C PortExtentder machen dem PCF8574 hat auch 8 Ein-oder Ausgänge hier kannst du an den I2C-Bus maximal 16 von diesen Teilen packen also 128 "zusätzlich Ein ode Ausgänge" Nachteil die PCF8574 sind teuerer als die 74HC595. Bei hohen Geschwindgkeiten z.B. mit dimmen kannst du einen Kreis an die SPI Schnittstelle packen die kann dann um einiges Schneller die Daten an die Register liefern und damit auch Quasi dimmen. Oder du kannst selektiv die Output Enable der einzelnen Register Dimmen und dann auch nur 8 LED Dimmen aus einem 6 Array

Zum Thema Attiny du kannst wahrscheinlich dein ganzes Programm wenn<8kB auch in einen Attiny84 pflanzen, damit könntest du auch beide Varianten machen, da es eine I2C Emulation für Attiny84 bekommst. *2 *3

Zum Programmieren  der  Attiny brauchst du aber einen ISP Programmer den du mit dem Arduino (Arduino as ISP) oder günstig kaufen kannst.*4

Gruß
Der Dani

*1 http://arduino.cc/en/Tutorial/ShiftOut  (Tutorial zum Arbeiten mit Schiebregister)
*2 http://hlt.media.mit.edu/?p=1695        (Attiny84 Programmieren in Arduino IDE
*3 http://playground.arduino.cc/Code/USIi2c  (USI als I2C) <= funktioniert hervorragen
*4 http://shop.myavr.de/index.php?sp=article.sp.php&artID=200006  (USB ISP Programmer der für "unsere" Zwecke reicht)



Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Offline Offline
Newbie
*
Karma: 0
Posts: 45
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mhhh ... Low current wird es eher nicht, da es sich um ein recht großes Model handelt und auch einige Ultrabrights herhalten müssen. Ich werde mir erstmal das Tut zum Thema ShiftOut durchlesen, denn mir schwirrt der Kopf von dem was Du da so schreibst;)

Ich hatte die Hoffnung, die einzelnen Kreise nett und sauber in einzelne ATTinys zu schieben, denn dafür kann ich mir den Code unter Umständen noch zusammenreimen. Da Elektronik und Programmierung nicht mein Hauptgebiet ist, hatte ich gehofft, etwas "einfacher" davon zu kommen ;=
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1125
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Klar kannst du einzelne berreiche in einzelne Tinys schreiben aber das ist ja der absloute CPU Overkill, deswegen dachte ich mir eine CPU die kann das alles spielend.
Mit den Attinys ist das schon ein bisschen komplizierter als mit dem Uno aber locker machbar.
Gruß
Der Dani
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Offline Offline
Newbie
*
Karma: 0
Posts: 45
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mal doof vorweg gefragt ... Wie könnte ich mit der ShiftOut/Register-Nummer den höheren Strombedarf realisieren? Oder anders: ich wollte mein Konstrukt am Ende per 9V Steckernetzteil versorgen.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 45
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bzw. was mir noch einfiel ... im Model werden nachher so um die 30 bis vielleicht 35 Leds verbaut sein. Das ist dann so gesehen auch wieder eine ShiftRegister-Schlacht und ich müsste vermutlich sämtliche Schaltungen mehr oder weniger ausserhalb des Models (im Standfuss) unterbringen. Da fällt mir es erst jetzt wieder ein, warum ich das mit der Tiny-Lösung so nett fand. Da kann man so nette kleine Schaltungen draus basteln. Aber gut, ich bin ja neu in der Materie und guck mal, ob es die Shift-Nummer auch tut ... erstmal smiley-wink
Logged

Wien
Online Online
Edison Member
*
Karma: 26
Posts: 1834
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

ich denke, wenn Du für "normale" LEDs nur die schieberegister nimmst und für die stärkeren ULN2803 (jeweils genug strom für 8 LEDs bis je 200mA), dann wird die platine nicht viel größer als ein shield. oder Du nimmst jeweils ein schieberegister und einen ULN2803 und teilst sie im modell auf. die dinger sind recht billig...

gruß stefan
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 248
Posts: 21172
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wenn Du die Helligkeit und/oder die Farbe der LEDd ändern willst dann brauchst Du eine PWM -Ansteuerung der LED.

Dazu hast Du 2 Möglichkeiten:
Einen Baustein zu verwenden der das macht zB den TLC5940 oder TLC5947
Eine LED-Lichterkette mit HL1606 controller oder bessere (aber auch teurer) WS2810 /WS2811. Bei denen Kannst Du jede LED einzeln in Farbe und Helligkeit ansteuern.

Für alle genannten Halbleiter gibt es Arduino-Beispiele und Bibliotheken.

Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 45
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke eucht soweit. Bleibt nur die Frage ... welche Variante ist für einen Anfänger "leichter"? Wenn man das so sagen kann?
Schätze, irgendwie wäre eine Kombination aus allem sinnvoll. Aus welchen Bauteilen würdet ihr, mal unabhängig vom Code, Widerständen, etc. die Aufgabe lösen: 8-LED Chaser + 8 Positionslichter + 6 Flasher + mind. 16 Standardbeleuchtung (in 4 Gruppen) + 8 Effekt-Leds

So mal grob. ist noch nicht alles, aber das sind so die, die mir gerade durch den Kopf gehen. Diese Gruppen würde ich dann gerne mit irgend einem Input je nach "Betriebszustand" ein/aus/umschalten und dimmen.



Logged

Wien
Online Online
Edison Member
*
Karma: 26
Posts: 1834
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

blutiger anfänger bin ich selber, aber der grund, warum ich beim arduino gelandet bin, war, weil ich meine LED-lampen im wohnzimmer schalten wollte, und das ist im prinzip das gleiche, was Du auch willst. ich habe das dann auch mit 74HC595 und ULN2803 realisiert.

und weil ich grade nicht schlafen kann, unten dran eine zeichnung, was zb möglich wäre (schieberegister kannst Du bis etwa 6 hintereinander anhängen, aber PWM hat der uno nur 6. mehr wären mit TLC5940 machbar).
LED groß geschrieben wären power-LEDs oder gruppen von LEDs. Led sind "normale" LEDs.

eine solche kombination aus 2 ICs kostet bei reichelt um die 80 cent, bei conrad das doppelte, dafür sparst Du das porto, wenn einer in der nähe ist.

falls Du ein platzproblem hast, kannst Du auch darüber nachdenken:
http://erik-bartmann.de/programmierung/downloads2.html

dort bei "Wir bauen uns einen eigenen Arduino auf einem Breadboard".

gruß stefan


* schiebe.gif (15.62 KB, 800x321 - viewed 31 times.)
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

PWM geht sogar für alle LEDs bzw. LED Gruppen an einem ULN bzw. direkt am Schieberegister:
http://www.elcojacobs.com/shiftpwm/
Wenn das Programm ausser zu bestimmten Zeiten bestimmte LEDs schalten / dimmen sollte die ShiftPWM Lib ideal sein.
Am Ende der o.g. Seite gibt es einen kleinen Rechner mit dem Du ausrechnen kannst wieviel "Prozessorlast" das Shiften Deinem Programm "klaut".
Mario.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 45
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I flasht mich gerade total smiley-wink Vielen Dank für die Zeichnung!!! Was Du so alles machst, wenn Du nicht schlafen kannst  smiley-wink
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 45
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also ich werde dann heute mal zum Elektronikladen gurken und jeweils einen 74HC595, ULN2803 und einen TLC5940 besorgen. Dann werde ich schauen, wie weit ich erstmal mit einfachen Aufbauten hinkomme (Chaser, Leds an/aus/fade usw.)
Logged

Wien
Online Online
Edison Member
*
Karma: 26
Posts: 1834
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

falls Du noch nicht weg bist, nimm Dir 2 oder 3 74HC595, die kosten kaum was, und du kannst dann gleich mehrere  schieberegister hintereinander probieren.

gruß stefan
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 45
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oder falls ich die Dinger bei meinen Versuchen zerstöre smiley-wink
Logged

Pages: [1] 2   Go Up
Jump to: