Loading...
  Show Posts
Pages: [1] 2
1  Using Arduino / LEDs and Multiplexing / Re: Streaming Pixel Data to Arduino on: April 04, 2013, 06:43:27 pm
@tom Yes I noticed that but then I switched to the Teensy which ignores the serial rate and communicates at full USB speed.

Not sure how fast this is. 12Mb/second? Fast enough anyway.
2  Using Arduino / LEDs and Multiplexing / Re: Streaming Pixel Data to Arduino on: April 04, 2013, 06:39:59 pm
Well for me the data is coming from this processing sketch which is capturing the screen:
https://github.com/adafruit/Adalight/tree/master/Processing/Adalight
I changed the pixel info to match my set up and display the whole screen.

I'm trying to write a max patch that will do similar but for some reason it isn't working for me at the moment.
I can't seem to send 1536 bytes reliably from MaxMsp. That is my current problem!
Maybe I'll just stick with processing.

3  Using Arduino / LEDs and Multiplexing / Re: Streaming Pixel Data to Arduino on: April 04, 2013, 09:02:32 am
Ok I have connected my matrix to a Teensy 2.0 running the Adavision LedStream.pde sketch from here]https://github.com/adafruit/Adalight/blob/master/Arduino/LEDstream/LEDstream.pde

It works and I get around 22 fps - though that's probably got more to do with the processing screen capture patch (also part of adalight) feeding it than anything else.

Its a great start anyway. I'll keep the thread updated with any progress.
4  Using Arduino / LEDs and Multiplexing / Re: Streaming Pixel Data to Arduino on: March 31, 2013, 04:54:59 am
Yes I do also want to stream data from the Arduino to the lights but this is not the part that is giving me problems (not yet anyway!).

I actually want to stream data TO the arduino from a computer eg pipe low res video to the arduino and then on to the led array.

What I am finding difficult is a way of reliably sending this much data at the required rate and reading it quick enough without it getting scrambled, lost or stuttering.

Hope that is a bit clearer.
5  Using Arduino / LEDs and Multiplexing / Streaming Pixel Data to Arduino on: March 30, 2013, 04:51:36 pm
I've built a 512 pixel led array, using WS2801 modules and I'm wondering the best way of streaming data to it.

Each pixel receives 24 bits to drive its RGB led's so I think the whole matrix needs 1536 bytes a frame.

If I assume a frame rate of 25 fps thats 38400 bytes per second, so I'd need a serial baud rate of at least 307200, more if there are some extras involved with the serial communication.

This is probably too much for my Uno but I have a Teensy 2.0 here which I believe allows much faster communication.

Is it realistic to drive this size of array? There are solutions out there such as PixelController and Glediator but I haven't got them working with my set up yet.

Has anyone got any experience/tips/hints they'd be willing to pass on?

Thanks,



6  Using Arduino / Networking, Protocols, and Devices / Re: TouchOSC via Ardosc/Bonjour on: January 04, 2013, 06:31:41 am
Hey thanks for posting that code. I'll look into it.

I actually started using the z_osc library as opposed to Ardosc as I couldn't work out how to parse the incoming osc addresses using Ardosc (which I needed to do to use touch osc's multitoggle's).

I am sure this is due to inability on my part as opposed to any problems with the library. In fact I'm not even sure if there is any difference between the libraries!

I've got a basic wifi set up working now. Thanks alot for your help.

I'm wondering at what rate I can pass data to the Arduino via wifi. ie could I stream pixel data to my 20x10 array at >15fps. I never intended to do this before but now I'm wondering if its possible. Obviously it depends in part on the network. I guess OSC isn't necessarily the best way of doing this. In fact it might warrant another thread.....
7  Using Arduino / Networking, Protocols, and Devices / Re: TouchOSC via Ardosc/Bonjour on: January 02, 2013, 07:51:30 am
Hey thanks for posting this. It works. Especially once I've remembered to change the ip address in touch osc  smiley-red

I'm just back into it after the holiday break and to be honest can't remember what I am doing or why.

Now I've got your example working I'll start to build on it.

I guess I should get a teensy as memory issues are already hobbling me. I'd like to be able to store a few 'images' in memory for my 20 x 10 matrix.I did have a teensy before but snapped the usb port off it. Hate those mini usb ports!

So I guess in all honesty I haven't reached the bonjour stage yet. What I was thinking of was having ios and android devices being able to connect to the led matrix and interact collaboratively with the display. Maybe I'll do that this afternoon.

Thanks for the help. I'll report back!
8  Using Arduino / Networking, Protocols, and Devices / Re: TouchOSC via Ardosc/Bonjour on: December 16, 2012, 08:42:03 am
Thanks for replying. I bought the router from ebay here in UK - the interface is definitely in Chinese!
Its still in client mode at the moment but yes AP mode would be fine.

When I said previously I had OSC working this was via Max/MSP on my laptop. So I had Touch OSC on the Ipad talking to Max/Msp which communicated with Arduino via the serial port. It worked great so I invested in the router and now trying to do it without the laptop/Max.

I'm forgetting about the bonjour stuff for now and trying to get Ardosc communication working.
I'm just using the examples. I can send a message to my laptop from Arduino but I'm not sure I can receive one.
Its hard to tell though really! I get flashing lights on the ethernet port when I send stuff from the ipad but I can't get the 'Simple Receive' patch to work.

Tried printing messages to serial port and sending osc to my laptop but nothing yet. I did the most minor of alterations to the OSC arguments example to try and relay an ipad message back to my laptop but no luck yet!

I'll keep trying, sure I'll get there soon.

Code:
#include <SPI.h>
#include <Ethernet.h>

#include <ArdOSC.h>

byte myMac[] = { 0xEC, 0x88, 0x8F, 0xDF, 0x44, 0x44 };
byte myIp[]  = { 192, 168, 1, 50 };
byte destIp[]  = { 192, 168, 1, 106 };


int  serverPort  = 10000;

int destPort=12000;

char oscadr[]="/ard/aaa";

OSCServer server;
OSCClient client;


void setup(){
 
// Serial.begin(19200);
 
 Ethernet.begin(myMac ,myIp);
 server.begin(serverPort);
 
 //set callback function
 server.addCallback(oscadr,&func1);
 
}
 
void loop(){
  if(server.aviableCheck()>0){
//     Serial.println("alive! ");
  }
}


void func1(OSCMessage *_mes){
 
  logIp(_mes);
  logOscAddress(_mes);
 
  //get source ip address
  byte *sourceIp = _mes->getIpAddress();

  //get 1st argument(int32)
  int tmpI=_mes->getArgInt32(0);
 
  //get 2nd argument(float)
  float tmpF=_mes->getArgFloat(1);
 
  //get 3rd argument(string)
  int strSize=_mes->getArgStringSize(2);
  char tmpStr[strSize]; //string memory allocation
  _mes->getArgString(2,tmpStr);



  //create new osc message
  OSCMessage newMes;
 
  //set destination ip address & port no
  newMes.setAddress(destIp,destPort);
 
  //set argument
  newMes.beginMessage(oscadr);
  newMes.addArgInt32(tmpI+1);
  newMes.addArgFloat(tmpF+0.1);
  newMes.addArgString(tmpStr);
 
  //send osc message
  client.send(&newMes);

}




void logIp(OSCMessage *_mes){
  byte *ip = _mes->getIpAddress();
  Serial.print("IP:");
  Serial.print(ip[0],DEC);
  Serial.print(".");
  Serial.print(ip[1],DEC);
  Serial.print(".");
  Serial.print(ip[2],DEC);
  Serial.print(".");
  Serial.print(ip[3],DEC);
  Serial.print(" ");
}

void logOscAddress(OSCMessage *_mes){
  Serial.println(_mes->getOSCAddress());
}


9  Using Arduino / Networking, Protocols, and Devices / TouchOSC via Ardosc/Bonjour on: December 15, 2012, 06:37:06 am
I'm wondering if anyone can help me get this working or point me towards some examples.

I have an Arduino Uno with a W5100 ethernet shield, and a TP Link WR702N connected via ethernet cable in Client Mode.

I'm hoping to send and receive OSC messages from my ipad using Touchosc to control some lighting.

I can do this already via my laptop (Ipad>Laptop>Arduino>Lights) but hoping to bypass it and go Ipad>TpLink>Arduino>Lights.

I have negotiated the Chinese admin panel and got the router into client mode. I can log into it from my browser so I think its working.

Have downloaded Ardosc and Bonjour libraries but feeling a bit overwhelmed by confusion and not sure how to test each individual step. I've searched for some guidance but haven't found any, at least not in simple enough terms.

Can anyone help?

Thanks if you can!
10  Using Arduino / Project Guidance / Re: Trying to read a Behringer X1 optical Fader on: April 12, 2012, 10:52:17 am
The data sheet is here: http://infinium.wsiefusion.net/PDF%20-%20Data%20Sheets/45mm%20datasheet%20issue%205%20-%2003.06.2011.pdf

I can only get sensible data at 38400.

With a bit of maths I get a range of 0 to 254 across the whole device. Hurrah.

If anyone from the future is reading this, you can get the fader direct from infinium and it is a bit cheaper, plus has a range of output options eg analogue voltage. This would probably have been a better bet. But no worries.

Thanks for your help.
11  Using Arduino / Project Guidance / Re: Trying to read a Behringer X1 optical Fader on: April 10, 2012, 03:22:33 pm
Thanks for the reply. I found some more info on the manufacturers website - http://infiniumtechnologies.co.uk/Faders-Technology

I've set the baud rate to 38,400, connected the power up to the 3.3V pin (as per the data sheet) and am getting half sensible information!

The first quarter of the fader gives values of 0 to about 64, then I seem to get two values at the same time of 64 to 128 and 192 to 255, the next quartile I haven't sussed out yet and the last quarter I get two bytes, one of 255 and the other of 192 to 255.

Perhaps this is the cascading referred to in the docs.

Anyway I'm getting there slowly I think!
12  Using Arduino / Project Guidance / Trying to read a Behringer X1 optical Fader on: April 10, 2012, 12:12:31 pm
Don't know much about this but trying to learn.

The crossfader has 3 wires attached which I think are +, - and TX

I've connected the tx to the rx port of arduino and the other two to the power/ground.

When I waggle the crossfader the tx light flashes and when I stop it the light stops.

Great!

But the values I'm reading from the port make little sense. They are mostly in the 252-255 range with a few others.

Not sure where I'm going wrong here.

Can anyone offer any guidance? Thanks
13  Using Arduino / Project Guidance / OpenDmx to SPI conversion possible? on: November 04, 2011, 07:35:46 am
I see that you can use older Arduino's as an OpenDMX device.

I'm wondering if it would be possible to take this incoming DMX info and convert it to spi data to drive an LED strip.

I guess I'm asking if the Arduino still functions as an Arduino if it is being an OpenDMX device?

Thanks
14  Using Arduino / Programming Questions / Re: Teensyduino Midi-USB Programing on: May 24, 2011, 08:32:49 am
I think you need to use usbMIDI.send_now(); to actually send the midi notes.

Also think your code may be sending repeat messages - it is more polite to send messages if they are different from the preceding one. Sometimes this is taken care of automatically but don't think Teensy does it.

Saying that I can't get XP to recognise my teensy as a midi device at all! Works with OSX but nogo for me.
15  Forum 2005-2010 (read only) / Troubleshooting / Uploading Woes on: May 25, 2006, 05:08:50 am
All of a sudden I am getting a whole heap of error messages when trying to upload sketches to Arduino.

Annoyingly I can't copy them here but I'll type some of them out:

Error inside Serial.<init>()
gnu.io.PortinUseException: Unknown Application

at

gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:354)
at processing.app.Serial.<init>(Serial.java:127)
at processing.app.Serial.<init>(Serial.java:72)
at processing.app.Uploader.uisp(Uploader.java:146)

and quite alot more error messages until finally

Error: permission denied

-> /dev/com9

After booting up my pc I can upload a sketch but to upload a second sketch returns these messages.

Any ideas?

Thanks,

Gavin

Pages: [1] 2