Go Down

Topic: questions about chaining RGB LED+servo modules using WS2801 chips.. control? (Read 4610 times) previous topic - next topic

rafaelmizrahi

Thanks mrboni,
After hours of failures to run the Artnet code snippet with "Arduino Uno+Ethernet shield, using Arduino 1.0 and 1.0.1". seems like a serious UDP problem in Arduino.

When I took the code of Artnet example from:
http://vvvv.org/contribution/artnet-arduino-set-v2
and ran it on Arduino Uno+Ethernet shield, using Arduino 0.23,
things started working. Although it still seems that the arduino Uno hang after a minute or two.

I will try both versions of the code, on Arduino Mega.
Thanks!


rafaelmizrahi

BTW, to test ArtNet DMX, I am sending ArtNet data using the free windows utility "ENTTEC node management utility (NMU)"

http://www.enttec.com/index.php?main_menu=Products&pn=79001&show=description&name=nmu%28nodemanagement%29

mrboni

Hi. I had the same problem. Seems the UNO can't handle the volume of data. The Mega works fine though

rafaelmizrahi

The symptoms of having the WS2801 strip stop responding after few seconds seems very similar to post
http://arduino.cc/forum/index.php?topic=96115.0

As for now, I have managed to send ArtNet to Uno+Ethernet: built on Arduino 1.0.1
I have it running here for hours on 50 LEDs (which is 150 channels)
tested with "DMX-Workshop", "Node Managment Utility" and "MADRIX"

The major code changes I made are related to memory consumptions.
either decrease the udp packet size
#define UDP_PACKET_MAX_SIZE 512 // originally was 2048
or decrease the channels number
const int number_of_channels=512; //512 for 512 channels

I also moved the strip.setPixelColor line inside the If "if its an artnet header"
this will make sure that the strip.setPixelColor is not running for every UDP packet arrives.
I will post the whole code once I am sure it is running stable.

My challenge is to send ArtNet DMX data to 1250 WS2801 leds using Arduino+Ethernet shield.
Looking at the current numbers of memory, and having the fact that the Uno could not handle the program once I increased the UDP_PACKET_MAX_SIZE it seems like I must use this program on arduino Mega.

Go Up