My team uses the LCD Display to display battery data in real time during practice and during the match. (i have on idea how my programmer was able to do it)
What dose your team use it for?
my team uses it (the buttons) to tell the robot what to do during autonomous. It displays what task it is doing during the auto. It also tells us if the driver is driving half speed or full speed. And last but not least whenever the arm operator presses a button for button commands it tells us what button was hit and what height the arm is going to. (11.5, 20, or 30)
We just barely started utilizing the buttons in auto and I would recommend using them over limit or bumper switches if your team has a lcd screen. It frees up ports for more important sensors and if you know how it is just as easy to program.
We have it tell us funny messages
joking aside, its mostly being used for battery voltage right now, but will definitely be used for changing autonomous.
I found that potentiometers act as really good selector knobs for changing between the 4 starting tiles and programming skills and the LCD Buttons allow me to choose between auto run 1 2 or 3 for the starting tile. ( I have 3 auto runs for each starting tile. )
We use ours to select autonomous modes. Very useful as it displays which autonomous mode we are running once it is selected.
do you have to select during the match or can you when its disabled?
We select it before the match when we are lining up our robot on the field.
are you using robot c?
I’m not sure about the specifics, because I am not the programmer (Thorondor is), but we are using Robot C and are able to select autonomous modes from the LCD display before a match.
Maybe my programmer (hason) can contact yours and we can finally get that working, my programmer said some gibberish about how the variables were not being carried over or something
He may be talking about how you can’t write to the EEPROM, basically, you can’t store data between states of the bot being on and off. So, if your bot is on right before the match, you can select an autonomous and set whatever other variable and it will be just fine. However if your bot turns off after you select the autonomous, you will have to select again, because the variables of the previous selection were never truly saved to the memory of the Cortex. It is my understanding that RobotC doesn’t facilitate such features. This is why potentiometers are useful for this task, as their position is independent of the robot being on or off.
Have him PM me and I can explain it to him. Basically you have the LCD program run during the “pre-auton” section of the code. Depending on how many autonomous modes you have you can have a number of variables but the basics is that once you press the button it sets a global variable to something like 1. so you could have it set the varibale “auto” to 1 if you were in red isolation and set “auto” to 2 if you were in red interaction. There are various ways of doing the display portion but the way I have it set up is that you select your color initially and then you select what part of the field you are on. I’m not sure what he means by the variables don’t carry over but it might be that he didn’t define them globally. If you do use this method you will have to select an autonomous every time you turn the robot on, so you might want to comment it out when you’re just doing testing.
Thanks so much ill be sure to have him PM you if i can get a hold of him during the school break
You can write to files on the Cortex. Just look up FileIO in the functions library.
If this is true then a great Christmas present, however, I don’t see the routines. I do see file read and write available for NXT but not cortex.
I posted an example of simple selection using the LCD in this thread.
https://vexforum.com/t/robotc-programming-tips/19718/1
Oh darn, I seem to have confused ROBOTC for Mindstorms with ROBOTC for the Cortex. Upon further investigation, I saw that I have not actually ever written to or read from files on the Cortex. It seems strange that this functionality is not included.
Right now we have our LCD Display allowing us to see battery voltages from both batteries (Cortex and Power Expander), sensor values from drive Encoders, the Gyroscopic sensor, and the arm Potentiometer(s), the option to switch between 1- or 2-driver control, and the ability to change between Match, Driver Skills, or Programming Skills Mode, as well as the Autonomous Selection portion, which has you select Color, Zone, and then shows you the allowed Autonomous routines you may choose from there (which can be changed, or more can be run, at any time during the match).
~Jordan
ooh i like the idea of changing between 1 or 2 drivers. I’m gonna implement that thanks for the idea
No problem! I’m doing the same thing with a button combination on the VEXnet Joystick, to switch between 1- and 2-driver control during a match.
~Jordan
Ya, I already implemented something similar to that but honestly, if we’re in the middle of a match I don’t think we’re going to be switching from 2 to 1 drivers. Although I do like the idea of being able to switch while doing testing, because as I have found out, it is very difficult to drive a 2 controller robot with only two hands.