Interface Project

I’ve been thinking about setting up the 2004 IFI controler to interface with some sort of external device with a display of some sort. I’ve been doing lots of research on the types of connections that could be used such as I2C, TTL, and RS-232. Basicly what I’m after is like a display console with buttons that has a menu interface. Some of the items I’m considering to use for a display are a Matrix Orbital LCD screen, my ti-86 graphing calc, or my nokia 7210.

Matrix Orbital displays use microchip PICs to control the LCD screen, but I’m unsure of which model chip they use. They have a whole array of displays inwhich you can check out at

My secound choice is to use a ti graphing calc which I"m perty shure uses TTL for the 3-ring mini jack at the bottem. The only problem is I’m not framiliar with programing it in asembly or asembly its self.

For the third option I was thinking a J2ME application that can use the POP port on the bottem to establish an interface. The POP is on several models including the 7210 6610 and the 6800. This would be the coolest option becuase of the color screen.

The goal of the project is to have an intuative menu system for the robot control so that no one screws up a switch configuration. It would basicly store its options into either the EEPROM or the flash memory. I’ve constructed an example layout.

Main menu

>Autonumous Mode
>>CopyCat 1
>>CopyCat 2
>>Line Track
>>Encoder Track

>Driver Profiles

>Misc. Settings
>>Drill Motors disable/enable
>>Mag Motors disable/enable
>>Horn disable/enable

>Printf Display
>>Battery: 9.62v DC
>>Motor Temp: 70 F
>>Status: OK

For those of you car people its kinda simular to the ODB2 setup that the mechanic uses to read info from the car and do things like turn off that ever so anoying check engine light.

This would be a really cool project but there are some issues to keep in mind.

The first being price. Unless FIRST changes its policy on how much we can spend on electronics you wont have much of a budget for the rest of the robot. (Unless you plan on putting the interface outside of the robot)

Second, you mentioned that you could have different programs stored on the controller, allowing for quick changes. You should note that there isn’t that much space on the controller (the base code is 24k and the limit is 32k).

You also mentioned using a calculator. There are C compilers for many of the TI series (TI-89 I know for sure to work). That shouldn’t be much of a problem.

For the most part the display would be removeable since it is of no use on the robot in the middle of a match only at the beging and the end. I’m really trying to go along with how a computer in a car is setup. Where they plugin the interface device seperatly and its removable.

If you want to go with a TI-89, here is a little serial port driver for it. The diagram and program should be everything, external of the control system, that you need.

To me, it seems that just using a serial character display, with an rs232 level shifter, if necessary, would be the easiest bet for displaying information when debugging the robot. It would be simple to connect it, and simple enough to program it.

Anyway, it sounds like a great project! Good luck!

Most of the time, I read these fori and respond to students who (1) do not read the documentation, (2) want everything handed to them and (3) show a lack of understanding of the limitations and the power of an embedded uC like the PIC18C.

Every once and a while, a student will post an original and workable idea. Sitting back and watching the light bulb turn on is why I do FIRST. In this case the three students who have posted in this thread above me have made that leap.

IMHO, the idea of using a TI calc for data gathering and a simple onboard display is inspired to the point of brilliance.

These things are small and rugged yet powerful. I can think of no better data-logging device to use.

My only regret is that I did not think of it…

I encourage you to follow through with your idea. I may dabble a bit with my TI-83+ over the holidays myself.

Kudos and may the wind be at your back…

I got an email back from David Maxwell at IFI answering some of my questions about using a Matrix Orbital LCD display and thought I’d share it.

Q: Is it possible to hook up a serial LCD display from The displays use Microchip processors to control them and support I2C, TTL, and RS-232 communication. If the hardware is compatible what set of function would I use to establish communication between the two and what would be the ideal type of connection whether it be I2C, TTL, or RS-232.

A: Yes it is possible. Do a search for LCD in our FAQ on our web site.

Your best bet is probably to use the RS-232 serial port to communicate with something like the Matrix Orbital units, although this is the more expensive option. This would require only programming, and no extra wiring or circuitry, I believe.

I’ve done some experiments using the digital I/O on the EDU to control an Optrex module which uses the Hitachi LCD controller, but had limited success. I used both the external LCD functions (from the MPLAB C18 C Compiler Libraries manual) and bit-banged it, but couldn’t get results as reliable as if I used a Microchip PicDem2 demo board. That’s about as far as I got.

For now this thread will be my official development page until I get a project site setup.

Might i also recommend you take a look at they sell alot of great stuff, which i have personally had good experiences with and are generally much cheaper than MO. Are you looking for a graphical interface or will text based do? The easiest thing to implement would be a serial text LCD, followed respectively by parallel(HD44780 compatible) text LCD, graphical LCD and then (phone or calc), etc. If i were you i would use either an HD44780 compatible LCD(these can be had for about $10 or less surplus depending on size) if all you need is text or a crystalfontz or MO graphics display if you need graphics, because of the amount of support information you can find on these, both from their manufacturers and other sources. I would’t worry too much about all the buttons and other frills on alot of the MO displays because its much easier to just hook some buttons directly to the controller. Our team is planning somehting somewhat similar to this. Before i started writing this post i was working on adapting the default LCD library provided by Microchip to work with our controller. I wish you luck on this project.