
Redzone
USA
Asked
— Edited

Hello all,
Has anyone used a NeoPixel Ring before. I can't figure out how to wire it or connect it to EZB. Here is a link to the NeoPixel Ring site it has a data sheet. http://www.adafruit.com/product/1586
I have look at the I2C but not sure what address or how it is wired.
Thank you.
It's not I2C which is why you can't find the I2C address.
From a quick (very quick) look it's based on timing. The "datasheet" isn't the simplest to follow but I'll have a proper read when I get home. In the mean time it may pay to see if anyone has it working with Arduino or other PICs and see how they managed it, check the libraries (if available) and see if you can port it over to EZ-Script.
From my quick look you will need to write a complex EZ-Script however it depends what you want to do with it.
NeoPixels are timing sensitive. At first glance I don't think the EZ-B can drive them due to the timing they use. The best way to talk to them is with an arduino. There is arduino library for them. I've made a guggenhat and an ironman ARC reactor (with the help of a 3 D printer) using them.
The guggenhat might be a good example to look at since it uses TTL serial to control the neopixels. The guggenhat is a complex example as the neopixels are in an array to provide a digital sign effect and a bluetooth le reciever, but the arduino code has a lot of the elements you may be interested in. Most arduino chips can support I2C so it should be possible to substitute the I2C for the TTL serial interface and control your neopixel ring using I2C if you wish. I have yet to try using an I2C interface on an arduino so perhaps someone else can help more there. A member on this forum Luis Vazquez has done some write ups that might be of interest to you. Check out his Forum Discussions.
I am not an expert in arduino code. I hack examples together to make them do what I want at this point. Fortunately there are a lot of arduino examples out there on the internet.
Here's a short video I made a while ago. I made the glasses out of a couple of Neo Pixel Rings. They are hooked up to Arduino Uno and I load the the sample sketch from Adafuits site. I have not explored running it with ARC but I'm sure someone like Luis could figure it out.
@ Rich, Thank you for checking. I'm really trying to figure out how the pinouts compare / connect to the arduino and then try to figure out how to ingrate with EZB. Figuring out the script later. I am not understanding how the wiring connects even if it where connected to an arduino first.
@ RobertL184, I am going to read more on the two web sites you mention. at just a 30 second looks like it will help. My biggest problem is know nothing about Arduino or how to use it. Heck, I have a hard enough time with EZB even though it's a lot easier to learn. I also really do not understand I2C, like what does SDA and SCL do or mean.
@ bhouston, that is a great video! Love the glasses. It makes your robot look smarter. :-) do you have pinouts how you connected it to the Uno? Also do you download the script to the Arduino or does it run from the PC like how most use Inmoov?
I will post in EZ-Script to see if Luis has any suggestions.
Thank you all for the responses, direction and help.
One more question . Who should I say resolved these questions?
Thank you, MErne
Hi Luis. do you have any input to my question. thanks
With regards to who resolved the question, nobody yet. As far as I can see it's still unresolved. Only once you have your neopixel ring working in ARC should it be marked as resolved.
Just found the info I remembered on Neopixels Timing. They will require a separate controller like an arduino.
The single-wire control protocol used by NeoPixels requires a very steady data stream at 800 kilobits per second. There’s a tiny margin for error, but not very much. Bits must be issued at a precisely controlled ratethe Adafruit_NeoPixel library handles all this behind the scenes, carefully counting the time of each machine code instruction. For every pixel, there’s 24 of these:
components_neopixel-timing
What kind of things were you interested in doing with them?
Setting the whole ring to a specific color?
Being able to set individual pixels in the ring to a specific color?
Do you need the arduino to handle color fades or blinking neopixels or chasing patterns?
With individual pixel control you can write code in the EZ-B to do any of these, but you have the power of the arduino there so why not offload a little work.
The library needed to control the neopixels with an arduino is on the adafruit site. I personally would set it up to use TTL Serial to control the Arduino with the EZ-B, since you most likely don't need to request data back from the arduino. This would let you use any digital pin on the EZ-B to control the arduino.
The SendSerial( digitalPort, baudRate, data, ... ) command in EZ-Script works really well. The types of things you want to do with the Neopixel will determine the types of commands you need to send over the TTL Serial link.
I wish EZ-Robot and Adafuit could hook up somehow to where Adafruit would port their libraries out for the EZB. They usually have libraries for a few controllers. I do think they make a few of them conrolers themselves but, Adafruit has lots of cool stuff and it would be great for them to be "Plug and play" with the EZB. Alot of their stuff like neo-pixes almost seem like they would have been made for the EZ-Robot system in the first place.
EZ-Robot has sold quite a few units so I would think it woud be of interest for Adafruit to want to be able to sell periperals to this market. And having Adafruit stuff supported by the EZB would be a nice bullet point in the press releases.
What would it take to make something like that happen?