Snowfall20 - Programm-Code Analyse zwecks Erweiterung
|
21.01.2014, 22:02
Beitrag #1
|
|||
|
|||
Snowfall20 - Programm-Code Analyse zwecks Erweiterung
Hallo
bin neu hier und auch relativ Anfänger in Sachen Arduino und dessen Programmierung. Mit C++ habe ich bisher noch nicht gearbeitet. Elektronik-Kenntnisse sind vorhanden. Kenntnisse in programieren (Pascal, Basic (auch VB), ASM) auch. Jetzt habe ich aber dennoch ein Problem: Und zwar habe ich mir die Schaltung Snowfall20 (12 LED Charlieplexed Snowfall with AtTiny85) auf einem Steckbrett aufgebaut den ATtiny über das Arduino uno als ISP mit dem entsprechendem Code versehen - und funktioniert auch. Allerdings ist mein Englisch nicht gerade berauschend, so daß ich in dem Thread wo es um dieses Projekt geht (auf der Arduino.cc-Seite) nicht so richtig mitkomme, da in englisch gehalten. Da eben meine C++ kenntisse auch noch nicht die Welt sind, benötige ich etwas Hilfe: Zum einem versteh ich "noch" nicht, wie der LED-Dimmeffekt programmtechnisch und an welcher stelle im Code realisiert ist. und zum Zweiten. möchte ich gern die Matrix um 10 LED's erweitern, d.h. einen ATtiny 44 einsetzen wegen mehr I/O-Pins (für dann 30 LEDs werden 6 Pins benötigt), d.h. das Programm muß modifiziert werden, aber ich weiß noch nicht wie und wo. Ich weiß nicht, ob ich den Programm-Code hier posten darf, deswegen habe ich jetzt nur mal angedeutet, wo die Idee her ist. Grüße Frank |
|||
22.01.2014, 07:54
Beitrag #2
|
|||
|
|||
RE: Snowfall20 - Programm-Code Analyse zwecks Erweiterung
Hallo Frank,
willkommen im Forum. Ich würde sagen:Code einstellen ist immer gut. Wir haben ja bestimmt alle was davon. Aber bitte den Code mit dem "#" Symbol einfügen, sonst wird der Post so lang. Grüße Ricardo Nüchtern betrachtet...ist besoffen besser ![]() |
|||
22.01.2014, 16:33
(Dieser Beitrag wurde zuletzt bearbeitet: 24.01.2014 19:40 von frank2000.)
Beitrag #3
|
|||
|
|||
RE: Snowfall20 - Programm-Code Analyse zwecks Erweiterung
Hallo Ricardo
ok Hier mal der Source-Code: Code: #include <Entropy.h> dazu jetzt noch ein Video, damit man erkennt, worum es hier geht: dort ist zu sehen: 2 Varianten des Snowfall-Effekts. Einmal mehr oder weniger diskret (2x4017, 1xNE556, div. R,C und D) und einmal mit einem µC (ATtiny45) und 5xR Die zweite Variante hat mich davon überzeugt mich doch noch mit µC zu beschäftigen. ![]() Hatte nämlich bisher mit der ersten Variante das Problem, wie bekomme ich den ganzen Kram in ein Tube und das dann zum Schluß 10 mal (10 Tubes wollte ich bauen). Ist zwar machbar (SMD) aber doch recht aufwändig zu routen. Mit dem µC ist das aber nun kein Problem mehr. Aber jetzt will ich mehr ..... mehr LED's für längere Tubes (50cm). Das was es zu kaufen gibt, taugt entweder nichts (lauflichteffekt oder nur 4 Schritte) oder ist sau teuer und dann eben doch bloß "gekauft" Grüße Frank |
|||
23.01.2014, 21:31
Beitrag #4
|
|||
|
|||
RE: Snowfall20 - Programm-Code Analyse zwecks Erweiterung
Hallo Frank,
im Code werden 4 Gruppen a 5 Leds benutzt. Wie möchtest du die 10 zusätzlichen LEDs benutzen. Zwei neue Gruppen, oder eher 8 LEDs umd die vorhandenen Gruppen jeweils um zwei Leds zu erweitern? Da der Code stark mit Variablen arbeitet deren Namen sich aus den Farben ableiten, wäre es auch gut zu wissen welche Farben du noch zutun möchtest. Welche Pins kann man denn am ATtiny 44 zusätzlich benutzen wenn neue Gruppen aufgemacht werden sollen? Grüße Ricardo Nüchtern betrachtet...ist besoffen besser ![]() |
|||
24.01.2014, 15:28
(Dieser Beitrag wurde zuletzt bearbeitet: 24.01.2014 19:34 von frank2000.)
Beitrag #5
|
|||
|
|||
RE: Snowfall20 - Programm-Code Analyse zwecks Erweiterung
naja, im Prinzip ist der Aufbau ja so:
![]() sprich: es handelt sich um eine Matrix. (Oh, ich sehe gerade, die R sind an der falschen Seite der LED's, aber ist auch egal bei Reihenschaltung). Das ganze soll um die gestrichelt gezeichnetten Verbindungen erweitert werden. Bisher waren es 5 Zeilen und 5 Spalten. Nun soll jeweils noch eine Zeile und eine Spalte dazu kommen, so daß zum Schluß 30 statt bisher 20 LED's angesteuert werden können (dh. 10 LED's mehr). Dazu wird ein zusätzlicher I/O-Pin benötigt, das ist dann der Pin "6" Die Gleichung dazu: NLED=NPin * (Npin-1) -> 30 = 6 * (6-1) Farben sind eigentlich unerheblich, weil nur zur Orientierung gedacht und dann eben auch als Variablen-Namen benutzt. Der ATtiny45 hat 5 I/O-Pins, da geht kein 6. Pin, während der ATtiny44 10 I/O-Pins hat. Würde bedeuten: rein theoretisch währen damit 90 LED's anzusteuern. Aber ich will's ja mal nicht übertreiben und beschränke mich auf 30. ![]() Aber ich glaube, ich habe jetzt mittlerweile eine blasse Ahnung, wie ich das modifizieren kann, zumindest erstmal den Definitionsteil: Code: #define GREEN 0 wo ich jetzt noch ein Problem mit habe ist der Part mit den Modulo Operationen: Code: // each member of tail has reduced duty cycle, and never get to the final position Das kapier ich nicht ganz: wieso ist der Teiler "3" und ein Vielfaches davon? |
|||
30.01.2014, 12:17
(Dieser Beitrag wurde zuletzt bearbeitet: 30.01.2014 23:42 von frank2000.)
Beitrag #6
|
|||
|
|||
RE: Snowfall20 - Programm-Code Analyse zwecks Erweiterung
Also hab's jetzt selbst hinbekommen. Habe aber festgestellt, daß die Library Entrophy.h mit dem ATtiny44 nicht funktioniert. Führt bei diesem zu massiven Fehlfunktionen. Liegt aber wohl am zu kleinem RAM, hab ich mir jetzt sagen lassen
Grüße |
|||
25.02.2014, 12:17
(Dieser Beitrag wurde zuletzt bearbeitet: 25.02.2014 12:51 von frank2000.)
Beitrag #7
|
|||
|
|||
RE: Snowfall20 - Programm-Code Analyse zwecks Erweiterung
hier mal 10 Tubes 50cm mit 30 LED virtuell an einen Baum gehangen:
hier der Schaltplan: ![]() und der code: Code: #define GREEN 0 habe, wie im code zu sehen, die normale random-funktion benutzt, die geht dann auch mit dem ATtiny44 |
|||
28.12.2014, 12:02
Beitrag #8
|
|||
|
|||
RE: Snowfall20 - Programm-Code Analyse zwecks Erweiterung
hier mal ein kurzes Video (6 tubes fertig):
|
|||
|
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste