Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   LED Lights for the Robot (what do you use??!?!) (http://www.chiefdelphi.com/forums/showthread.php?t=112418)

Joe Ross 15-01-2014 16:01

Re: LED Lights for the Robot (what do you use??!?!)
 
Quote:

Originally Posted by Ghost_Pack (Post 1327671)
Has anyone tried using the NeoPixel LEDs from Adafruit?
http://www.adafruit.com/products/1376

They are supposed to be simpler to wire and cheaper than the old 32 LED kind, but I haven't seen anyone using them.

It would not be possible to control them with the cRIO due to the timing requirements. You would have to use an Arduino with their code, so I'm not sure it would be easier to wire.

thursam 15-01-2014 16:13

Re: LED Lights for the Robot (what do you use??!?!)
 
Team 118 used lights on their bot, Apex, last year. I don't know if they were LEDs, but they did have multiple colored strings/arrangements. It should be fine.

ShadathChow 12-02-2014 11:31

Re: LED Lights for the Robot (what do you use??!?!)
 
Is it legal to hardwire LED lights on to the Power Distribution Board?

Lightfoot26 12-02-2014 11:44

Re: LED Lights for the Robot (what do you use??!?!)
 
We use these bad boys on a spike!

Alan Anderson 12-02-2014 11:47

Re: LED Lights for the Robot (what do you use??!?!)
 
Quote:

Originally Posted by ShadathChow (Post 1341774)
Is it legal to hardwire LED lights on to the Power Distribution Board?

I can't think of any rule that would prohibit it. As long as they don't violate any other rules (e.g. disrupting other robots' vision sensing), it should be fine.

ShadathChow 12-02-2014 12:05

Re: LED Lights for the Robot (what do you use??!?!)
 
Thank Alan. :)

MichelB 12-02-2014 12:46

Re: LED Lights for the Robot (what do you use??!?!)
 
My team bought them from AndyMark here: http://www.andymark.com/product-p/am-2645.htm

You can buy them as a kit or seperate, but it does require an Arduino (comes with the kit)

MikeD 20-03-2014 03:23

Re: LED Lights for the Robot (what do you use??!?!)
 
I got the strips directly from a Chinese factory, GREELED, which always keeping in developing new interesting products. Such as their newest developed 60 LED/M LPD8806 RGB Strip and 96 LED/M WS2812B Digital Strip. They also supply technique help in warm hearted.

ILAMtitan 20-03-2014 09:00

Re: LED Lights for the Robot (what do you use??!?!)
 
We used these on our robot and driver station panel: http://www.amazon.com/LEMONBEST-SMD-...ords=led+strip

You can see a little bit of them working in our reveal video: https://www.youtube.com/watch?v=U4ALN_3AoyU

It's been brought up that these cheep LED strands use IR, so the are hard to control via the Rio, but we ended up taking the control box and manually wiring in three PWM lines directly to the FETs inside. This lets us use the 5V PWM output to control the intensity of each color individually, and the 12V line just comes from the PDB. I'm working on a write up that I hope to post soon on how to do this, and our team will probably make a custom PCB in the future for it that we'll share with the community.

Bonzabonz 08-08-2014 21:36

Re: LED Lights for the Robot (what do you use??!?!)
 
Quote:

Originally Posted by ILAMtitan (Post 1361710)
It's been brought up that these cheep LED strands use IR, so the are hard to control via the Rio, but we ended up taking the control box and manually wiring in three PWM lines directly to the FETs inside. This lets us use the 5V PWM output to control the intensity of each color individually, and the 12V line just comes from the PDB. I'm working on a write up that I hope to post soon on how to do this, and our team will probably make a custom PCB in the future for it that we'll share with the community.

We bought the same LED strip and built a simple control board using a couple of MOSFETS. You can control the brightness of each color by switching the MOSFETS on and off using PWM. The only problem with getting it to work off of the cRIO's PWM ports are that the PWM frequency is too slow (causing the strip to blink quickly instead of appear to be dimming). I read that the max frequency that the cRIO pwm runs at is 200Hz. Does anyone know of a workaround or a way to get the PWM to work at a higher frequency?

Joe Ross 09-08-2014 00:23

Re: LED Lights for the Robot (what do you use??!?!)
 
Quote:

Originally Posted by Bonzabonz (Post 1395878)
I read that the max frequency that the cRIO pwm runs at is 200Hz. Does anyone know of a workaround or a way to get the PWM to work at a higher frequency?

Speed controllers and servos use Servo PWM which is really a short pulse sent at a defined rate. That is what has a 200hz limit. It is not what you want you would want to use for controlling your LEDs.

Rather, the digital outputs support true PWM, and let you define the frequency and duty cycle. Look at the digital outputs API.

Michael Hill 09-08-2014 08:00

Re: LED Lights for the Robot (what do you use??!?!)
 
Quote:

Originally Posted by Joe Ross (Post 1327690)
It would not be possible to control them with the cRIO due to the timing requirements. You would have to use an Arduino with their code, so I'm not sure it would be easier to wire.

I wouldn't think it would be that bad. The arduino can in reality take up to a 20V input, so accepting an unregulated battery shouldn't be too much of an issue. Just preprogram the Arduino with certain states to control the neopixels, then let the cRio/roboRio tell the Arduino which state to be in.

Bonzabonz 09-08-2014 11:06

Re: LED Lights for the Robot (what do you use??!?!)
 
Quote:

Originally Posted by Joe Ross (Post 1395899)
Rather, the digital outputs support true PWM, and let you define the frequency and duty cycle. Look at the digital outputs API.

I didn't realize that it was possible to get more customized PWM out of the DIO pins as well. Thank you very much, that should solve our problem.

evanperryg 11-08-2014 12:46

Re: LED Lights for the Robot (what do you use??!?!)
 
For the last 2 years, we have used those 12v single-color LED strips you can order on Amazon. Simple, but effective. This coming year, we hope to use individually-addressable RGBLED strips that we purchased from andymark recently. We have developed a basic little custom circuit that we use for the lights on the robot. All it is is a terminal block connected to the PDB through a switch. This way, we can turn off all the lights if needed, and their connections don't take up valuable space on the PDB.

(protip: those adhesive backs on the light strips don't work, packing tape works great though ;) )

VeqIR 11-08-2014 18:53

Re: LED Lights for the Robot (what do you use??!?!)
 
Similar to other teams, our robot this year we used the Sparkfun addressable RGBs (uses WS2812 LED drivers internally to the strip).

https://www.sparkfun.com/products/12026

You only have to plug in 5V, GND and the 1-wire interface which we drove using an Arduino and the Adafruit WS2812 libraries (details in the Sparkfun hookup guide). The power was supplied by a 5V/10A regulator very similar to the one supplied for the router (no 5V source on the robot is capable of supplying this much current). Additionally, we used an LED diffuser film to spread out the light source. This helped us give the effect that the arms were filled with light, where there was only a strip of RGB LEDs running through the top side of each arm.

https://www.inventables.com/technolo...diffuser-films

The Arduino allowed us to program light patterns that were triggered by the cRIO's digital outputs when the robot performed various actions (e.g. feeding, shooting, cocking the catapult). For instance, when the feeder motor was running, the robot would pull a zero on a cRIO digital output which fed into a digital input on the Arduino. Every 10ms, the Arduino firmware checked the digital inputs for changes and would modify the light pattern accordingly.

This may get a bit detailed for those not familiar with embedded programming, but the key to making these animations work fluidly and seamlessly (and respond to asynchronous input) was to program the Arduino an interrupt-driven model. The simplest way to get patterns to display is to shift in the colors to each LED (24 in our case) and then to delay() for the number of milliseconds until the next color pattern needed to be shifted. In Arduino speak, these delay() statements literally force the processor to sit and wait for a number of milliseconds and not do anything (this is an eternity for a processor).

In the interrupt-driven model, these delay() statements are replaced by conditional checks on variables (sometimes called flags) which are set by interrupts based on events (in our case, a 10ms timer interrupt since there weren't enough IRQ-capable pins). Every 10ms, the timer would interrupt the processor, check all of the inputs for any updates from the cRIO and it would increment a timer variable that counted the number of 10ms interrupts that passed. This variable could be checked by the main program to determine how many seconds had elapsed and whether or not it was time for the next pattern to be pushed to the LEDs.

In our reveal video, we hadn't yet finished coding all of the patterns, but you can see what the diffuser material looks like up close:

http://www.youtube.com/watch?v=tEhQnKbRz-0

You can see the patterns when we drive/load/shoot pretty well in this video:

http://www.youtube.com/watch?v=iOK7eQOLqag#t=300


All times are GMT -5. The time now is 00:26.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi