Log in

View Full Version : OI control box, LED questions


Bryan Herbst
04-10-2007, 16:16
I have been planning on adding a custom control box to our teams controls this year, but I need some help with a few things.

First, is there a way to have an LED in the box correspond to an LED on the OI? For example- is there a way to make an LED on the light up with the switch 1 LED on the OI?

Second, is there a way to use the competition port instead of one of the port ports for the box? I would include the competition switches in with the box.

Thanks!

Greg Marra
04-10-2007, 16:30
1) Yes, you can light up external LEDs.

2) No, you CANNOT use the competition port.

Check out http://www.thebluealliance.net/2006/12/28/episode-2-custom-controls/ for a PDF with a wiring guide and some other useful hints.

Mark Pierce
04-10-2007, 17:37
2) No, you CANNOT use the competition port.
This is correct that you can't use the competition ports for control wiring in the competition. You must connect directly between the OI controller and the field wiring. However, I recommend building autonomous and disable switches into your OI panel with a cable that you plug into the competition port while practicing and testing the robot. Building these into the panel keeps them from getting lost.

Bryan Herbst
04-10-2007, 17:38
Seen the blue alliance link (tons of help).

HOW would I wire the LEDs for sw1/2/3? I saw the pwm ones, but what about switches?

I was planning on building the competition switches into the box anyways. I was asking about the port because I heard someone mention they had done it. I was doubtful, so that just confirms my suspicions. Thanks.

Greg Marra
04-10-2007, 19:23
HOW would I wire the LEDs for sw1/2/3? I saw the pwm ones, but what about switches?

There are built in pull-up resistors in the OI. All you need to do is connect the correct end of the LED to the pin controlling its state and the other end to any of the ground pins. Do you know how to wire a DB15 connector for custom controls?

Alan Anderson
04-10-2007, 21:27
HOW would I wire the LEDs for sw1/2/3? I saw the pwm ones, but what about switches?

As you saw, the external LED drivers on the IFI operator interface only support the eight signals that correspond to the "PWM" and "Relay" lights. If you want feedback from limit switches, you'll just have to make the software control one of the LED signals you can use.

Bryan Herbst
07-10-2007, 22:53
Okay, I think I get it. I would have to use the relay lights on the OI for switch lights, instead of relay lights? Where in the coding do the pins for the relay lights get mapped to relay lights (or is it in the OI's code)?


Finally, is there a way to hook up an LED display (4 digit) to the OI? We were thinking that an LED display to display the pressure in the pneumatics would be a great feature. We would like to hook something like this (http://picbasic.com/resources/articles/ledart.htm) up to the OI. Ignoring external power rules, could we make it work?

Alan Anderson
08-10-2007, 00:27
Where in the coding do the pins for the relay lights get mapped to relay lights (or is it in the OI's code)?

It's in the user_routines.c file, I think at the end of either process_data_from_master_uP() or Default_routine() (don't rely on my memory for proper spelling or capitalization of the function names).

Finally, is there a way to hook up an LED display (4 digit) to the OI?

The OI already has a 4-digit LED display. You can use the "user byte" feature to send an eight-bit integer to be shown on it.

We were thinking that an LED display to display the pressure in the pneumatics would be a great feature.

We did exactly that for our 2004 robot. A "diagnostic select" switch let us choose among pneumatic pressure and feedback from the turret, elbow, and wrist position sensors. It turned out not to be very useful during competition, but it helped a lot for setting limits and presets when programming.

We would like to hook something like this up to the OI. Ignoring external power rules, could we make it work?

If you want to do something like that, using the dashboard port is probably the best way to do it. External power is not an issue for things connected to it, and you can send back six bytes of arbitrary data without restriction. You can also cheat and repurpose unused PWM channels as extra data bytes (though I think the value FF is forbidden, and gets sent as FE).

Bryan Herbst
09-10-2007, 16:01
I know theres already an LED screen on the OI, but we would like to keep that open, along with the user byte, if possible.

As for the light mappings in the code, I'm not talking about where it ells the light whether to turn on or off, I'm talking about where it says that pinX = relay1_green. I found where it sets the p1_x, y, switch, trig, and the other inputs, but I couldn't find the outputs.

Is there a guide out there for using the dashboard port for inputs/outputs?

Alan Anderson
09-10-2007, 16:43
As for the light mappings in the code, I'm not talking about where it ells the light whether to turn on or off, I'm talking about where it says that pinX = relay1_green. I found where it sets the p1_x, y, switch, trig, and the other inputs, but I couldn't find the outputs.
Those pins are a hardware feature of the OI. There's no code associated with them, other than the code which turns the LEDs on or off. You can find the pinout in the OI reference guide that you can download here (http://www.ifirobotics.com/oi.shtml); look for the documentation of ports 1 and 3.
Is there a guide out there for using the dashboard port for inputs/outputs?
It's output only. The dashboard specification is included in the .zip file with the Dashboard Viewer (http://www.ifirobotics.com/dashboard_viewer.shtml) program.

Greg Marra
09-10-2007, 17:47
I know theres already an LED screen on the OI, but we would like to keep that open, along with the user byte, if possible.

You can't have your cake and eat it too. The LED will only display whatever is set to the user byte, and while it is displaying that, none of the LED outputs will light up.

Bryan Herbst
11-10-2007, 15:48
I downloaded the available dashboard files from IFI, but saw no pin mapping, only a bit/byte list. Is there a pin-out list somewhere?

Alan Anderson
11-10-2007, 16:15
Again, you can find the pinout in the OI reference guide that you can download here (http://www.ifirobotics.com/oi.shtml).

Bryan Herbst
12-10-2007, 18:02
I'm looking for the dashboard port pinouts, that manual only has the port 1, port 2, port 3, and port 4 pinouts.

You originally told me to check the dashboard program's files, but those files only have bit/byte lists/references, no pin mappings.

Alan Anderson
13-10-2007, 00:20
I apologize for not understanding your question fully. I think what you want to know now is in the OI reference manual section "7. Dashboard Port" on page 12:Connect the DASHBOARD port to the RS-232 serial port of a computer using a DB9 Male-Female Pin-to-Pin cable (maximum length 6 ft.).

Bryan Herbst
22-10-2007, 15:36
I'm still a bit lost here.

You said that I would likely be able to run an LED display through the dashboard port, so how would I do it? Which pins would I hook it up to? How do I reference these pins in the code?

Alan Anderson
24-10-2007, 00:18
Displaying a number is more involved than simply connecting LEDs to pins. Since you said you wanted a four-digit display, I was suggesting that you use the dashboard output to do it. Unless you want to design and program your own circuit to decode the data stream, it's going to involve a computer with a serial port.

Bryan Herbst
24-10-2007, 15:38
We already (sorta) haver a plan for that.

We are going to be hooking the OI up to something similar to this (http://picbasic.com/resources/articles/ledart.htm) (figure 6, near the bottom of the page). All we need right now is a way to interface it with the OI. Currently, our plan only needs two analog outputs from the OI.

Alan Anderson
24-10-2007, 16:43
All we need right now is a way to interface it with the OI. Currently, our plan only needs two analog outputs from the OI.

The OI has no analog outputs. It has eight pins that are designed to drive LEDs with no additional circuitry, and it has the dashboard serial data connection. That's all.

Bryan Herbst
26-10-2007, 16:14
Okay, well sounds like were just going to scrap this idea then.

Final question- what you recommend making the control box out of? The entire platform, including the area we plan to put the OI and joysticks on. Currently we have a bit of lexane sitting around, but we're open to other suggestions. Also, what do you recommend doing to color/paint designs on the control area?