Show Posts
Pages: 1 ... 9 10 [11] 12 13 ... 23
151  International / Deutsch / Re: Periodische Ereignisse mit verschiedenen Triggerfrequenzen managen on: March 31, 2014, 03:39:48 am
@Jurs: Super, genau das habe ich gesucht! Danke.

@Theseus: Danke für den Hinweis mit dem genauen Treffen. Habe schon gerätselt, warum das nur manchmal funktioniert hat...

Im weitesten Sinne geht es tatsächlich um (viele und schnell) blinkende Lampen - für einen "Lichtsythesizer" sollen alle Parameter (von z.B. Oszillatoren, Filtern, LFOs) unabhängig voneinander und mit verschiedenen Wellenformen manipuliert werden.

@michael_x: Danke für den eleganten Vorschlag.
152  International / Deutsch / Periodische Ereignisse mit verschiedenen Triggerfrequenzen managen on: March 31, 2014, 02:06:37 am
Hallo und guten Morgen,

ich möchte mehrere Variablen unabhängig voneinander hochzählen, z.B. soll sich a jede halbe Sekunde um 1 erhöhen, b alle 2 Sekunden, c alle 5 Sekunden, usw.
Grundsätzlich funktioniert das ganz gut nach dem Prinzip von Blink without Delay, allerdings muss ich dann für jede Variable previousMillis einzeln speichern, was bei vielen Variablen ziemlich unübersichtlich wird.
Die Frage lautet, ob das nicht eleganter geht. Z.B. dachte ich an die Möglichkeit, zu prüfen, ob currentMillis/1000 ohne Rest durch 2 oder 3 teilbar ist.
Wie würdet ihr das machen, wenn es um viele (+-50) unabhängige Prozesse (=Variablen) geht?

Freue mich über Anregungen, beste Grüße,

Helmuth
153  International / Deutsch / Re: Farbverlauf - Triviale Mathematik?! on: March 20, 2014, 05:00:53 am
@Eisebaer:
Hi, das sollte aber nur passieren, wenn r2 = r1.
War aber ständig so, auch während ich r1 und r2 im Serialmonitor anzeigen ließ und sie nicht identisch waren.
Gruß Helmuth
154  International / Deutsch / Re: Farbverlauf - Triviale Mathematik?! on: March 20, 2014, 04:21:25 am
Hallo Theseus,
super, so funktioniert es.
Danke.
155  International / Deutsch / Farbverlauf - Triviale Mathematik?! on: March 20, 2014, 02:53:14 am
Guten Morgen,

habe gerade ein Brett vor dem Kopf.
Gewünscht ist ein linearer Rotverlauf von r1 nach r2 über die Striplänge NUM_LEDS.
r1 und r2 sind als byte deklariert und bewegen sich im zulässigen Bereich.

Code:
for(int i = 0 ; i < NUM_LEDS; i++ ) {
    if (r2 > r1) {leds[i].red = r1 + i * ((r2-r1)/NUM_LEDS);}
    if (r2 < r1) {leds[i].red = r2 - i * ((r1-r2)/NUM_LEDS);}
    if (r2 = r1) {leds[i].red = r2;}
 }

Momentan führt dieses Funktionsfragment nicht zu einem Rotverlauf von r1 nach r2, sondern immer zu r1 über die ganze Länge. Wo liegt der Fehler?

Gruß Helmuth

edit: leds ist ein zweidimensionales Bytearray.
156  International / Deutsch / Re: Spannungsversorgung Uno + Mega on: March 13, 2014, 06:51:22 am
Danke Dir.

Gruß Helmuth
157  International / Deutsch / Spannungsversorgung Uno + Mega on: March 13, 2014, 05:37:46 am
Kurze Anfängerfrage: Habe einen Uno als "Metronom" laufen und einen Mega, der im Takt vom Uno LED Effekte generieren soll.
Standalone läuft beides. Wollte jetzt einen Ausgang vom Uno über einen 1k Widerstand mit einem Eingang vom Mega verbinden. Beide Massen auch.

Spricht aus elektrischer Sicht etwas dagegen, diese 2 Arduinos jeweils über USB am gleichen USB Hub mit Spannung zu versorgen? Oder besser über DCin? Oder völlig egal?

Danke.
158  International / Deutsch / Re: Fragen zum Projektstart zu ATtiny85 und WS2812B on: March 12, 2014, 06:40:28 am
Hey Uwe,
danke, sorry, Denkfehler meinerseits.
Ja, die Übertragunggeschwindigkeit ist fix. Man muss jedes Mal den gesamten Strip schreiben, also die Daten für alle LEDs senden. Kürzerer Strip = weniger LEDs = weniger Daten = proportional schneller.
Wenn man nur 1/8 der Daten sendet und das auf 8 Leitungen parallel, verachtfacht sich die Geschwindigkeit.

Gruß Helmuth

159  International / Deutsch / Re: Fragen zum Projektstart zu ATtiny85 und WS2812B on: March 12, 2014, 05:38:25 am
500 LEDs am Uno geht, macht aber nicht wirklich Spaß...

Warum? Früher oder später willst Du schicke Überblendeffekte und Fades zwischen den frames - wofür Du den Bildspeicher mehrfach vorhalten musst, zumindest 2x für Start- und Zielframe. Als nächstes wir dir auffallen, dass vorberechnete Sin und Log Tabellen die Berechnung signifikant beschleunigen - die brauchen auch RAM.

Und faden mit statischen Bildern ist außerdem so eine Sache bei 8 Bit Farbtiefe - wenn es wirklich butterweich aussehen soll, können die frames per second nicht hoch genug sein. Bei 500 LEDs an einer Datenleitung kommst Du theoretisch auf maximal 67 Hz, praktisch vielleicht auf die Hälfte, da Du die Daten für 500 LEDs auch in Echtzeit berechnen musst.

Fazit: Ein Mega mit 8 kB RAM macht auf jeden Fall Sinn. Die aktuelle (schnellere, speichersparendere und flexiblere) Version von FastSPI_LED(2) heißt übrigens FastLED, hier Download und die Community dazu: https://plus.google.com/communities/109127054924227823508

Wenn es richtig schnell gehen soll, empfehle ich Parallelisierung mittels eines Teensy 3.0 + OctoWS2811 lib.
https://www.pjrc.com/teensy/td_libs_OctoWS2811.html

Damit kannst Du parallel mit 8 Datenleitungen die jeweils 1/8 der LEDs speisen gleichzeitig arbeiten = 64 mal so schnell, wie alle an einer Leitung... EDIT 8x schneller
Viel Spaß und Grüße, Helmuth
160  Community / Exhibition / Gallery / Re: Smooth animation with an 8x8 RGB LED matrix on: March 12, 2014, 03:12:18 am
Because many people asked here a quick solution how to map the whole matrix to a strip:

Code:
/*
 * Copyright (C) 2013 Gilad Dayagi.  All rights reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 */

 /*
  * An example for the Arduino particle system library
  * Creates a spinning galaxy effect
  *
  * Note: this example uses the colorduino library becuse that is what I had,
  * but any device that supports setting a pixel to an RGB value can be used
  */

//#include <Colorduino.h>
#include <FastSPI_LED2.h>
#include "ParticleSys.h"
#include "Particle_Bounce.h"
#include "Emitter_Spin.h"
#include "PartMatrix.h"

#define NUM_LEDS 240

CRGB leds[NUM_LEDS];

const byte numParticles = 600;

Particle_Bounce particles[numParticles];
Emitter_Spin emitter(112, 112, 5, 7);
ParticleSys pSys(numParticles, particles, &emitter);
PartMatrix pMatrix;

/**
 * Render the particles into a low-resolution matrix
 */
void drawMatrix(){
    pMatrix.fade();
    pMatrix.render(particles, numParticles);
    //update the actual LED matrix
   for (byte y=0;y<8;y++) {
        for(byte x=0;x<8;x++) {
            //Colorduino.SetPixel(x, y, pMatrix.matrix[x][y].r, pMatrix.matrix[x][y].g, pMatrix.matrix[x][y].b);
    leds[40+(x*2)+y*20].r = pMatrix.matrix[x][y].r;
    leds[41+(x*2)+y*20].r = pMatrix.matrix[x][y].r;
    leds[40+(x*2)+y*20].g = pMatrix.matrix[x][y].g;
    leds[41+(x*2)+y*20].g = pMatrix.matrix[x][y].g;
    leds[40+(x*2)+y*20].b = pMatrix.matrix[x][y].b;
    leds[41+(x*2)+y*20].b = pMatrix.matrix[x][y].b;
        }
    }
}

void setup()
{
  //Colorduino.Init(); // initialize the board
  FastLED.addLeds<WS2812, 6, GRB>(leds, NUM_LEDS);
  // compensate for relative intensity differences in R/G/B brightness
  // array of 6-bit base values for RGB (0~63)
  // whiteBalVal[0]=red
  // whiteBalVal[1]=green
  // whiteBalVal[2]=blue
  byte whiteBalVal[3] = {36,63,7}; // for LEDSEE 6x6cm round matrix
  //Colorduino.SetWhiteBal(whiteBalVal);
 
  randomSeed(analogRead(0));
 
  pMatrix.reset();
 
  //Colorduino.FlipPage(); // swap screen buffers to show it
 
  emitter.oscilate = true;
}

void loop()
{
    pSys.update();
    drawMatrix();
    //Colorduino.FlipPage();
    FastSPI_LED.show();
    delay(5);
}
161  International / Deutsch / Re: Fragen zum Projektstart zu ATtiny85 und WS2812B on: March 11, 2014, 01:20:17 pm
Die 2812er brauchen 30 µs pro LED.
Ich habe 7,2 ms gemessen, um 240 LEDs einmal komplett zu schreiben. Latenzen < 20ms sind praktisch nicht als solche wahrnehmbar. Dir geht auf jeden Fall der RAM aus, bevor Du Sorgen wegen Latenzen bekommst.  smiley-razz

edit: Entspricht nicht der Spezifikation, aber ich habe auch schonmal mit 2m ungeschirmten Kabel zwischen den LEDs gearbeitet - ohne Probleme.
162  International / Deutsch / Re: "Bildbearbeitung" mittels Arduino on: December 20, 2013, 08:11:55 am
Momentan 240 Pixel als "360 Grad 20*12 Matrix", sozusagen eine Matrix mit diagonalen Zeilen (und ohne löten), konkret 4m WS2811 auf ein Plexirohr gewickelt und von innen auf einen transparenten Zylinder projiziert...  smiley-cool
3*8 Bit Farbe, Standard

So hier:

www.youtube.com/watch?feature=player_embedded&v=y7jLOD_df7g

Schnelle Echtzeit Effekte gehen schon, wenn man z.B. vorher Sinus-/Wertetabellen anlegt in die man dann reingreift und nicht jedes Mal neu berechnet. Plus nur Integerarithmetik verwendet, bitshiftet wo immer es geht, usw...

Wenn die Rechenpower zu wünschen übrig lässt, muß man halt den RAM geschickt nutzen...

Skorn hat da mal einen schönen Plasmagenerator gezeigt: http://forum.arduino.cc/index.php/topic,151306.msg1141608/boardseen.html#new

Also, dass es geht, steht außer Frage, fraglich ist nur, ob da - für welchen Anwendungsfall auch immer - schonmal jemand optimierten Code für geschrieben hat, oder nicht. Für schöne Überblendeffekte auf einem Nokia Display oder so...

Ich suche primär Inspiration, nix sofort adaptierbares.

Grüße, Helmuth

edit: P.S. Für "lineare" Effekte, wie scrollen, stauchen, strecken, verzerren sehe ich kein Problem, aber fürs Drehen fällt mit gerade nix ein, wie man die Kreisgleichungen optimieren könnte.

163  International / Deutsch / "Bildbearbeitung" mittels Arduino on: December 20, 2013, 06:12:11 am
Hey,

ich suche eine Lib/Code/Projekt, wo jemand den Inhalt eines 2D-Arrays (also eines "Bildes") manipuliert, z.B. streckt/staucht/rotiert/verzerrt/wobbelt/... möglichst nur mit Integer Operationen.
Würde mir helfen, da mal drüberzuschauen, bevor ich das Rad neu erfinde.
Kennt Ihr da irgendetwas für z.B. GLCD/Matrix/LED Strip?
Danke.
164  International / Deutsch / Zur Info für alle FastSPI_LED Benutzer on: December 14, 2013, 05:15:01 am
Hi,
hier findet ihr jede Menge Projekte, Fragen und Antworten und natürlich viel Inspiration, was man mit ein paar LEDs noch alles machen kann.

https://plus.google.com/communities/109127054924227823508

Viel Spaß beim Stöbern und Grüße in die Runde

Helmuth
165  International / Deutsch / Re: Gibt es das schon: Arduino+Keypadshield Gehäuse? on: November 06, 2013, 10:39:01 am
Hey,
ja, genau soetwas, wie in deinem ersten Link - das meine ich mit Blende. Guter Anfang, danke. Ganz konkret suche ich ein Gehäuse fur Arduino Mega+Shield.
Wer druckt mir das?
Pages: 1 ... 9 10 [11] 12 13 ... 23