Go to Post Good programmers always find a better way to do something, especially when it's not obvious where those improvements can be found. - Mr. Lim [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 09-14-2016, 02:07 PM
ttnn58 ttnn58 is offline
Registered User
FRC #4586
 
Join Date: Jun 2016
Location: earth
Posts: 24
ttnn58 is an unknown quantity at this point
custom button panel

hi!
my team is trying to build a custom button panel to control our robot, and we have some questions:
- i have read somewhere that the button panel is made of some kind of I/O microcontroller with buttons connected to it. is there a specific one we must use? because we have a microcontroller in our lab (i can't remember his name) which can be used as HID.
- how do we make our program to "read" this kind of input? (we use java)

thanks in advance!
Reply With Quote
  #2   Spotlight this post!  
Unread 09-14-2016, 02:23 PM
Bkeeneykid's Avatar
Bkeeneykid Bkeeneykid is offline
#wheatcoastneatcoast
AKA: Devin Keeney
FRC #1982 (Cougar Robotics); Season Long Fantasy FIRST (F3)
Team Role: Student
 
Join Date: Feb 2015
Rookie Year: 2015
Location: Lenexa, Kansas
Posts: 293
Bkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud of
Re: custom button panel

Assuming you don't use FRC rule breaking space magic, you'll most likely just be building a joystick with no axes. You can use the TI Launchpad you received in your 2015 KOP, instructions here: http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_Operator_Interface_for_FIRST_Robo tics_Competition. You can then read it from code just like any other joystick button. You don't have to use this one, any HID compliant joystick will work. This one just has FRC support.

Side note: You can read from autonomous, it just reads the last joystick value right before autonomous begins.
__________________

F4 Network Website Designer

2010-2012: A Whole Buncha FLL Teams; Team Spirit, Gracious Professionalism Award winner
2015-Current: FRC 1982, Captain, Electrical Lead
Beginning FIRST Volunteer

Moderator on the FIRSTwiki
Reply With Quote
  #3   Spotlight this post!  
Unread 09-14-2016, 02:40 PM
ttnn58 ttnn58 is offline
Registered User
FRC #4586
 
Join Date: Jun 2016
Location: earth
Posts: 24
ttnn58 is an unknown quantity at this point
Re: custom button panel

Quote:
Originally Posted by Bkeeneykid View Post
Assuming you don't use FRC rule breaking space magic, you'll most likely just be building a joystick with no axes. You can use the TI Launchpad you received in your 2015 KOP, instructions here: http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_Operator_Interface_for_FIRST_Robo tics_Competition. You can then read it from code just like any other joystick button. You don't have to use this one, any HID compliant joystick will work. This one just has FRC support.

Side note: You can read from autonomous, it just reads the last joystick value right before autonomous begins.
no axes indeed XD

but we won't use this one, i think we don't have it anymore.
we have some kind of prototyping kit.
if the comuputer can read the signal from the device, the robot code will just "find" it?
or we need another software for it?
Reply With Quote
  #4   Spotlight this post!  
Unread 09-14-2016, 03:16 PM
ttnn58 ttnn58 is offline
Registered User
FRC #4586
 
Join Date: Jun 2016
Location: earth
Posts: 24
ttnn58 is an unknown quantity at this point
Re: custom button panel

Quote:
Originally Posted by Bkeeneykid View Post
Assuming you don't use FRC rule breaking space magic, you'll most likely just be building a joystick with no axes. You can use the TI Launchpad you received in your 2015 KOP, instructions here: http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_Operator_Interface_for_FIRST_Robo tics_Competition. You can then read it from code just like any other joystick button. You don't have to use this one, any HID compliant joystick will work. This one just has FRC support.

Side note: You can read from autonomous, it just reads the last joystick value right before autonomous begins.
UPDATE: the microcontroller we have is CY8CKIT-003 PSoC® 3 FirstTouch™ Starter Kit

http://www.cypress.com/documentation...ch-starter-kit
Reply With Quote
  #5   Spotlight this post!  
Unread 09-14-2016, 03:26 PM
Bkeeneykid's Avatar
Bkeeneykid Bkeeneykid is offline
#wheatcoastneatcoast
AKA: Devin Keeney
FRC #1982 (Cougar Robotics); Season Long Fantasy FIRST (F3)
Team Role: Student
 
Join Date: Feb 2015
Rookie Year: 2015
Location: Lenexa, Kansas
Posts: 293
Bkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud of
Re: custom button panel

Quote:
Originally Posted by ttnn58 View Post
UPDATE: the microcontroller we have is CY8CKIT-003 PSoC® 3 FirstTouch™ Starter Kit

http://www.cypress.com/documentation...ch-starter-kit
This one is much harder to work with. The basics is the board that you connect your buttons to acts just like a joystick. You then load special software/firmware onto the board itself, but the computer you plug it into basically sees it as just another joystick. I have this specific board, but I don't know if it can act like a HID joystick. A relatively cheap option is the Teensy boards, which are easily programmed using Arduino and can show up as a joystick without much effort.
__________________

F4 Network Website Designer

2010-2012: A Whole Buncha FLL Teams; Team Spirit, Gracious Professionalism Award winner
2015-Current: FRC 1982, Captain, Electrical Lead
Beginning FIRST Volunteer

Moderator on the FIRSTwiki
Reply With Quote
  #6   Spotlight this post!  
Unread 09-14-2016, 03:33 PM
ttnn58 ttnn58 is offline
Registered User
FRC #4586
 
Join Date: Jun 2016
Location: earth
Posts: 24
ttnn58 is an unknown quantity at this point
Re: custom button panel

Quote:
Originally Posted by Bkeeneykid View Post
This one is much harder to work with. The basics is the board that you connect your buttons to acts just like a joystick. You then load special software/firmware onto the board itself, but the computer you plug it into basically sees it as just another joystick. I have this specific board, but I don't know if it can act like a HID joystick. A relatively cheap option is the Teensy boards, which are easily programmed using Arduino and can show up as a joystick without much effort.
you have to write a special software, or the comupter just sees the inputs?
and i am pretty sure it can act like an HID, we have it because it was used for a simmilar purpose.
and thanks for the help!
Reply With Quote
  #7   Spotlight this post!  
Unread 09-14-2016, 03:34 PM
Bkeeneykid's Avatar
Bkeeneykid Bkeeneykid is offline
#wheatcoastneatcoast
AKA: Devin Keeney
FRC #1982 (Cougar Robotics); Season Long Fantasy FIRST (F3)
Team Role: Student
 
Join Date: Feb 2015
Rookie Year: 2015
Location: Lenexa, Kansas
Posts: 293
Bkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud of
Re: custom button panel

Quote:
Originally Posted by ttnn58 View Post
you have to write a special software, or the comupter just sees the inputs?
and i am pretty sure it can act like an HID, we have it because it was used for a simmilar purpose.
and thanks for the help!
The computer has no special software. All the custom software that makes it reads the buttons is on the micro processor. Again, I don't have any experience with PSoC boards at all, so I can't help with programming that.
__________________

F4 Network Website Designer

2010-2012: A Whole Buncha FLL Teams; Team Spirit, Gracious Professionalism Award winner
2015-Current: FRC 1982, Captain, Electrical Lead
Beginning FIRST Volunteer

Moderator on the FIRSTwiki
Reply With Quote
  #8   Spotlight this post!  
Unread 09-14-2016, 03:43 PM
ttnn58 ttnn58 is offline
Registered User
FRC #4586
 
Join Date: Jun 2016
Location: earth
Posts: 24
ttnn58 is an unknown quantity at this point
Re: custom button panel

Quote:
Originally Posted by Bkeeneykid View Post
The computer has no special software. All the custom software that makes it reads the buttons is on the micro processor. Again, I don't have any experience with PSoC boards at all, so I can't help with programming that.
ok.
thank you very much for your guidance!
Reply With Quote
  #9   Spotlight this post!  
Unread 09-14-2016, 03:48 PM
Peyton Yeung's Avatar
Peyton Yeung Peyton Yeung is offline
45 Alumni
AKA: Peyton Yeung
FRC #0461 (Westside Boiler Invasion)
Team Role: Coach
 
Join Date: Mar 2010
Rookie Year: 2009
Location: Kokomo, IN
Posts: 807
Peyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond reputePeyton Yeung has a reputation beyond repute
Re: custom button panel

If you have an arduino there is a software called unojoy that uses an arduino board and acts as a joystick.
__________________
461 Westside Boiler Invasion
2016 Tippy Quarter finalist, Warren Finalist, IN State Semi Finalist,B^3 Double Finalist
2015 Indy Semi finalist, Purdue Quarter Finalist, IN State Quarter Finalist, CORI QF, R2OC Finalist, RAGE Winner
2014 Boilermaker Semi finalist, Crossroads Quarter Finalist, & CAGE Quarter Finalist
45 Technokats
2013 Boilermaker Quarter finalist
2012 CAGE Semi finalist & Queen City Champion
2011 CAGE Quarter finalist & Midwest Semi finalist
2010 CAGE Quarter finalist, Boilermaker Champion, & Washington DC Quarter Finalist
Reply With Quote
  #10   Spotlight this post!  
Unread 09-14-2016, 09:18 PM
eStop Robotics's Avatar
eStop Robotics eStop Robotics is offline
Partner, eStop Robotics LLC
AKA: Joe Troy
no team
 
Join Date: Jan 2010
Rookie Year: 2000
Location: Aldan, PA
Posts: 16
eStop Robotics has a spectacular aura abouteStop Robotics has a spectacular aura abouteStop Robotics has a spectacular aura about
Re: custom button panel

Quote:
Originally Posted by ttnn58 View Post
hi!
my team is trying to build a custom button panel to control our robot, and we have some questions:
- i have read somewhere that the button panel is made of some kind of I/O microcontroller with buttons connected to it. is there a specific one we must use? because we have a microcontroller in our lab (i can't remember his name) which can be used as HID.
- how do we make our program to "read" this kind of input? (we use java)

thanks in advance!
You may find the Custom Control Interface (CCI) from eStop Robotics LLC to be a good simple solution to your "custom button panel" project.

The CCI requires no additional software and integrates easily with the FRC supported programming environments.

You can find more information on the following page at eStop Robotics:
https://www.estoprobotics.com/estore...d&productId=33
Reply With Quote
  #11   Spotlight this post!  
Unread 09-14-2016, 10:44 PM
Bkeeneykid's Avatar
Bkeeneykid Bkeeneykid is offline
#wheatcoastneatcoast
AKA: Devin Keeney
FRC #1982 (Cougar Robotics); Season Long Fantasy FIRST (F3)
Team Role: Student
 
Join Date: Feb 2015
Rookie Year: 2015
Location: Lenexa, Kansas
Posts: 293
Bkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud of
Re: custom button panel

Quote:
Originally Posted by eStop Robotics View Post
You may find the Custom Control Interface (CCI) from eStop Robotics LLC to be a good simple solution to your "custom button panel" project.

The CCI requires no additional software and integrates easily with the FRC supported programming environments.

You can find more information on the following page at eStop Robotics:
https://www.estoprobotics.com/estore...d&productId=33
Interesting product, from a company I've not heard of yet. One concern, there doesn't seem to be many button inputs. If you do a autonomous switcher, that can be 5 inputs all by itself. Is there any way of increasing this? Also, do you have any way of doing the outputs in WPIlib like the MSP430 can?
__________________

F4 Network Website Designer

2010-2012: A Whole Buncha FLL Teams; Team Spirit, Gracious Professionalism Award winner
2015-Current: FRC 1982, Captain, Electrical Lead
Beginning FIRST Volunteer

Moderator on the FIRSTwiki
Reply With Quote
  #12   Spotlight this post!  
Unread 09-15-2016, 07:16 AM
jSchnitz's Avatar
jSchnitz jSchnitz is offline
Lead Programmer, Operator
AKA: Jacob Schnitzlein
FRC #1986 (Team Titanium)
Team Role: Programmer
 
Join Date: Mar 2014
Rookie Year: 2014
Location: Lee's Summit, MO
Posts: 18
jSchnitz is on a distinguished road
Re: custom button panel

I'll second the eStop CCI board, we've used it for the past 4 or so years on all our button boxes. It's incredibly easy, no need to do anything with the board besides plug it into a computer.

Quote:
Originally Posted by Bkeeneykid View Post
Interesting product, from a company I've not heard of yet. One concern, there doesn't seem to be many button inputs. If you do a autonomous switcher, that can be 5 inputs all by itself. Is there any way of increasing this? Also, do you have any way of doing the outputs in WPIlib like the MSP430 can?
I would recommend the Dashboard be used for autonomous switching - it saves physical space on the custom button box as well as button inputs. Also if you decide to add an autonomous mode (or 24), it's easier to add an option virtually than physically.
__________________
2016: Kansas City: Winner, Industrial Design Award. Smoky Mountains: Finalist, Engineering Inspiration Award. Archimedes Division: Winner, Industrial Design Award. FRC Dean's List Finalist
2015: Arkansas: Finalist, Quality Award. St. Louis: Winner, Industrial Design Award. Queen City: Winner, Quality Award. Carver Division: Quarterfinalist. FTC Dean's List Finalist
2014: Central Illinois: Winner, Chairman's Award. Kansas City: Winner, Innovation in Control Award. Newton Division: Semifinalist, Industrial Design Award.
Reply With Quote
  #13   Spotlight this post!  
Unread 09-15-2016, 08:19 AM
Bkeeneykid's Avatar
Bkeeneykid Bkeeneykid is offline
#wheatcoastneatcoast
AKA: Devin Keeney
FRC #1982 (Cougar Robotics); Season Long Fantasy FIRST (F3)
Team Role: Student
 
Join Date: Feb 2015
Rookie Year: 2015
Location: Lenexa, Kansas
Posts: 293
Bkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud ofBkeeneykid has much to be proud of
Re: custom button panel

Quote:
Originally Posted by jSchnitz View Post
I'll second the eStop CCI board, we've used it for the past 4 or so years on all our button boxes. It's incredibly easy, no need to do anything with the board besides plug it into a computer.



I would recommend the Dashboard be used for autonomous switching - it saves physical space on the custom button box as well as button inputs. Also if you decide to add an autonomous mode (or 24), it's easier to add an option virtually than physically.
Yeah sure, you have a crap ton of autonomous modes. In the past, we've found issues with the dashboard not loading in time for us to select autonomous modes. I'll check this option out, but I really prefer a physical switch, which has less points of error (for us).
__________________

F4 Network Website Designer

2010-2012: A Whole Buncha FLL Teams; Team Spirit, Gracious Professionalism Award winner
2015-Current: FRC 1982, Captain, Electrical Lead
Beginning FIRST Volunteer

Moderator on the FIRSTwiki
Reply With Quote
  #14   Spotlight this post!  
Unread 09-15-2016, 08:24 AM
Foster Foster is online now
Engineering Program Management
VRC #8081 (STEMRobotics)
Team Role: Mentor
 
Join Date: Jul 2007
Rookie Year: 2005
Location: Delaware
Posts: 1,379
Foster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond reputeFoster has a reputation beyond repute
Re: custom button panel

I've used this Adafruit Bluefruit EZ-Key - 12 Input Bluetooth HID Keyboard Controller at about $20.

You wire up switches to the board. It connects to the laptop via Bluetooth. You can program the board to be a sudo keyboard with any key chord combination you want. (ie a,A, ctl-A, Alt-A, ctl-shift-alt-A, etc. )

You can use any kind of switch. There are places you can get joysticks with switches on the axis.

Not sure what the FRC rules are around bluetooth keyboards.

I've used these to make a wall button setup that talks to a home control computer, fun box for the grandmuchin, and working on a Kerbal Space Command console.
__________________
Foster - VEX Delaware - 17 teams -- Chief Roboteer STEMRobotics.org
2010 - Mentor of the Year - VEX Clean Sweep World Championship
2006-2016, a decade of doing VEX, time really flies while having fun
Downingtown Area Robotics Web site and VEXMen Team Site come see what we can do for you.
Reply With Quote
  #15   Spotlight this post!  
Unread 09-15-2016, 09:24 AM
RyanN's Avatar
RyanN RyanN is offline
RyanN
AKA: Ryan Nazaretian
FRC #4901 (Garnet Squadron)
Team Role: Mentor
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Columbia, SC
Posts: 1,126
RyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond repute
Re: custom button panel

I've been working on a project for this. Team Fusion has been using this for several years and I made a new revision that fixed a few issues for Garnet Squadron.

Currently I'm working on taking LabVIEW out of the equation and relying on Python and the wxPython extension.

Essentially, the board is an Arduino Mega 2560. The only special chip is the LED driver, which is a constant current driver made for driving LEDs. I have the output set at 20mA, which is very common with LEDs. It's easy enough to change though.



Here's the control board Garnet Squadron made for this year's robot:


Finally, below is the Python code in action. I'm currently working on a simulator because lets face it... I don't want to carry around the driver station everywhere I go.



The good news with the simulator is it works exactly the same as the real board. You can unplug/plug it in and toggle every input as well as see every output. Furthermore, since it works exactly the same as the real board, you can use the simulator to control the robot, or your simulated robot. The simulated robot with simulated button panel is where this can really shine.

This code isn't finished yet, but when it is, the GUI will not be shown by default. Instead, there is a taskbar icon that indicates the status of the control board. Green means good; red means bad.



Is this in mass production? No... I need to tweak a few more hardware things. For basic inputs such as switches and potentiometers and with LED outputs, it's great. There are some problems with running servos. They're interfering with the analog inputs. All the design files and software are in our repository here.
__________________
Garnet Squadron
FRC 4901
Controls Mentor
@rnazaretian

Previous mentor and student from Team Fusion, FRC 364
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 11:25 AM.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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