2018:Controls: Difference between revisions
Programming (talk | contribs) No edit summary |
Programming (talk | contribs) No edit summary |
||
(49 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
| | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | |||
= Overall Concept = | |||
[[File:Logo.PNG|1000x200px|Logo.PNG]] | |||
<span><span style="color: rgb(0, 0, 0); font-family: arial; font-size: 11pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">[[File:Controls2018.PNG|500px|Controls2018.PNG]]</span></span><span style="font-size:smaller;">[[File:Controller setup.PNG|500px|RTENOTITLE]]</span> | <span><span style="color: rgb(0, 0, 0); font-family: arial; font-size: 11pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">[[File:Controls2018.PNG|500px|Controls2018.PNG]]</span></span><span style="font-size:smaller;">[[File:Controller setup.PNG|500px|RTENOTITLE]]</span> | ||
[[File:FinalAssenbly.jpg|650x500px|FinalAssenbly.jpg]] | |||
[[File:LaptopCartridgePic.png|300x600px|LaptopCartridgePic.png]] | |||
<ul style="margin-top: 0pt; margin-bottom: 0pt;"> | <ul style="margin-top: 0pt; margin-bottom: 0pt;"> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Modeled after the NES</span></span></li> | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Modeled after the NES (That's Nintendo Entertainment System to you youngsters)</span></span></li> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">16" W x 13.5" D x 6.5" H (NES is 10 x 8 x 3.5)</span></span></li> | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">16" W x 13.5" D x 6.5" H (NES is 10 x 8 x 3.5)</span></span></li> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">2 Xbox controllers - | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">2 Xbox controllers - stored on top of the laptop, within the "case"</span></span></li> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">This year we are using two wired Xbox 360 controllers. model #:</span></span>S9F-00001 manufactured by Microsoft.</li> | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">This year we are using two wired Xbox 360 controllers. model #:</span></span>S9F-00001 manufactured by Microsoft.</li> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">2 USB ports on front (in place of NES controller plugs) - these are extra ports, Xbox controller | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">2 USB ports on front (in place of NES controller plugs) - these are extra ports, Xbox controller is plugged into hub within "case"</span></span></li> | ||
<li><span id="docs-internal-guid-2144ba01-e2c6-e827-ed12-f52acb920d5d"><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Ethernet plug and power plug | <li><span id="docs-internal-guid-2144ba01-e2c6-e827-ed12-f52acb920d5d"><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Ethernet plug and power plug are on the side, in place of NES Video ports</span></span></li> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Power | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Power is a separate cable (stowed within "case"; may have an external holder so cord can stay plugged in)</span></span></li> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">NES Cartridge door | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">NES Cartridge door opens to expose broken switches while top is closed (not needed, just for fun)</span></span></li> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">The | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">The top of the "case" flips open (where the NES color breaks are)</span></span></li> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;"> | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">NES power LED lights up solid when a light pattern is running; flashes when laptop has power but lights are off or laptop running on battery</span></span></li> | ||
<li><span | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">NES buttons will be functional (Power - turn controls lights on/off, unless PC is running on battery; Reset - toggle light patterns)</span></span></li> | ||
<li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">"Case" | <li><span><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">"Case" is painted to closely match the NES (e.g. top & bottom different colors; black 'stripe' over vents and USB ports)</span></span></li> | ||
<li><span id="docs-internal-guid-2144ba01-e2c6-e827-ed12-f52acb920d5d"><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;" | <li><span id="docs-internal-guid-2144ba01-e2c6-e827-ed12-f52acb920d5d"><span style="font-size: 11pt; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">handle for carrying, will be on back to not detract from the look</span></span></li> | ||
</ul> | </ul> | ||
</div> </div> </div> | </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> </div> | ||
= <span style="line-height: 20.79px;">To do</span> = | = <span style="line-height: 20.79px;">To do</span> = | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | |||
== Not Started == | |||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
*watch for overheating; seemed to get warm when first assembled, might be related to charging laptop battery, not much air flow | |||
</div> </div> </div> </div> </div> </div> <div class="mw-parser-output"> | |||
* | |||
</div> </div> </div> </div> </div> </div> <div class="mw-parser-output"> | |||
== In Process == | == In Process == | ||
*none<span style="display: none;"> </span> | |||
</div> </div> </div> </div> </div> </div> </div> </div> | |||
== <span style="line-height: 20.79px;">Completed</span> == | |||
</div> </div> </div> </div> | |||
*<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | |||
Handle (going to go with this one as there is a chance we might able to get it on the back: [https://www.amazon.com/douper-Luggage-Suitcase-Replacement-Overall/dp/B01E73AY8S/ref=sr_1_5?ie=UTF8&qid=1519142025&sr=8-5&keywords=handle+suitcase [1]]) <span style="color:#c0392b;">- it is on shopping list, will still get more feedback on the need (Kate says yes), need to think about the impact of it being on the back (i.e. controllers sliding around and pooping open the cartridge door)</span> | |||
</div> </div> </div> </div> </div> </div> </div> </div> | |||
*paint scren heads | |||
*code Power/Reset buttons and LED | |||
*added XBox controllers <span style="color:#c0392b;">- programmers wtill using last year controls for now</span> | |||
*final assembly | |||
*cord/plug end for power inside controls | |||
*wiring of PCB: lights connector, cap, resister, pwr/rst button board connector, pwr LED, maybe more PSoC pins to support pwr/rst buttons | |||
*Overall paint and letter scheme (low priority) <span style="color:#c0392b;">- painting done, need to add letters</span> | |||
*Make front panel USB connector cables. | |||
*Need to design and make | |||
**Buttons for power and such - 3D Print - 2 | |||
**LED for front - acrillic | |||
*Think about lights and if we want to give them more power(Current setup cant do purple) <span style="color:#c0392b;">- no extra power, no room or time to do it</span> | |||
*Order/Find | *Order/Find | ||
**Paint | **Paint<span style="display: none;"> </span> | ||
**Right-angle USB adapter | |||
**Right-angle USB adapter | |||
**laptop power supply | **laptop power supply | ||
** | **4-port USB HUB<span style="color:#c0392b;">- needs to '''6''' port because of ports on front of controls; we used 2 4 port HUBs we already had</span> | ||
**Magnetic Latch for door - 1 <span style="color:#c0392b;">- decided on just getting a magnet and gluing it</span> | |||
*We have these (<span style="background-color: rgb(241, 196, 15);">highlighted </span>items are in the 2018 controls bin) | *We have these (<span style="background-color: rgb(241, 196, 15);">highlighted </span>items are in the 2018 controls bin) | ||
**Piano Hinge for door and body - 2 ([https://www.homedepot.com/p/Everbilt-1-1-2-in-x-30-in-Bright-Nickel-Continuous-Hinge-15175/202034057 https://www.homedepot.com/p/Everbilt-1-1-2-in-x-30-in-Bright-Nickel-Continuous-Hinge-15175/202034057], can cut in half to use for both door and body) [Eric got these, will bring in] | **Piano Hinge for door and body - 2 ([https://www.homedepot.com/p/Everbilt-1-1-2-in-x-30-in-Bright-Nickel-Continuous-Hinge-15175/202034057 https://www.homedepot.com/p/Everbilt-1-1-2-in-x-30-in-Bright-Nickel-Continuous-Hinge-15175/202034057], can cut in half to use for both door and body) [Eric got these, will bring in] | ||
Line 70: | Line 83: | ||
**<span style="background-color: rgb(241, 196, 15);">LED for front</span> | **<span style="background-color: rgb(241, 196, 15);">LED for front</span> | ||
**<span style="background-color: rgb(241, 196, 15);">330 ohm resistor for front LED</span> | **<span style="background-color: rgb(241, 196, 15);">330 ohm resistor for front LED</span> | ||
**<span style="background-color: rgb(241, 196, 15);">LED strip lights</span> | **<span style="background-color: rgb(241, 196, 15);">LED strip lights</span> | ||
**Nuts and Bolts | |||
*Select High-level Concept, work details in the concepts to help make the selection. <span style="color: rgb(255, 0, 0);">[NES]</span> | *Select High-level Concept, work details in the concepts to help make the selection. <span style="color: rgb(255, 0, 0);">[NES]</span> | ||
*<span style="line-height: 20.79px;">Find out (in general) does the laptop and necessary parts (2 extra little boards (for buttons and something else), power supply, broken switches, and controllers.) fit in the controls box (not exact).<span style="color: rgb(255, 0, 0);">[Yes, Xbox controllers can fit on top of the laptop]</span></span> | *<span style="line-height: 20.79px;">Find out (in general) does the laptop and necessary parts (2 extra little boards (for buttons and something else), power supply, broken switches, and controllers.) fit in the controls box (not exact).<span style="color: rgb(255, 0, 0);">[Yes, Xbox controllers can fit on top of the laptop]</span></span> | ||
Line 115: | Line 126: | ||
**Door | **Door | ||
***Pretty much finished, lip is finally done, made room for piano hinge and decided how it will open, see Adrian/Tristan for details on hinge | ***Pretty much finished, lip is finally done, made room for piano hinge and decided how it will open, see Adrian/Tristan for details on hinge | ||
*Make side panel Ethernet connector cable (make sure to route cable directly downward to avoid interference with the laptop) | |||
</div> </div> </div> </div> </div> </div> </div> | </div> </div> </div> </div> </div> </div> </div> | ||
*Add in a handle design (overall thought is handle on the back), need to add detail.(Handles on both sides or no handles or these on the bottom [https://goo.gl/FNXMqh https://goo.gl/FNXMqh] / [https://goo.gl/Q3MRnj https://goo.gl/Q3MRnj]) [might be too heavy for no handles; doesn't appear there are 'natural' handles; handle on back might be awkward for placing them on the driver station shelf] | *Add in a handle design (overall thought is handle on the back), need to add detail.(Handles on both sides or no handles or these on the bottom [https://goo.gl/FNXMqh https://goo.gl/FNXMqh] / [https://goo.gl/Q3MRnj https://goo.gl/Q3MRnj]) [might be too heavy for no handles; doesn't appear there are 'natural' handles; handle on back might be awkward for placing them on the driver station shelf] | ||
*Install latches | |||
</div> </div> </div> </div> </div> </div> | |||
= Useful Links = | = Useful Links = | ||
Line 126: | Line 139: | ||
*[https://grabcad.com/library/nintendo-entertainment-system https://grabcad.com/library/nintendo-entertainment-system] | *[https://grabcad.com/library/nintendo-entertainment-system https://grabcad.com/library/nintendo-entertainment-system] | ||
*[http://www.jetpress.com/Products.aspx/bwejaatthl/30Series-SpringClawLatch/ http://www.jetpress.com/Products.aspx/bwejaatthl/30Series-SpringClawLatch/] | *[http://www.jetpress.com/Products.aspx/bwejaatthl/30Series-SpringClawLatch/ http://www.jetpress.com/Products.aspx/bwejaatthl/30Series-SpringClawLatch/] | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | = PSoC Install (for lights) = | ||
==== PSoC Creator IDE ==== | |||
Download latest "PSoC Creator" from Cypress ([http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide]) and install it (use Typical install; at end run Updater and maek sure you have the latest stuff) | |||
For user name and password, you can use: mailme@mailinator.com mailme123 | |||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
==== Toolkits and Board Driver Install ==== | |||
Get controls2018 from SVN | |||
Run: vcredist_x86.exe | |||
Run: USBSerialSDKSetup.exe (do Typical install; at end run Updater and maek sure you have the latest stuff) | |||
Run: CY8CKIT04942xxSetupOnlyPackage_revSA.exe (do Typical install; at end run Updater and make sure you have the latest stuff) | |||
While you press and hold the SW1 Prog button on the cypress board, plug in the USB cable to the PC (it will take a while for it to install 5 drivers). | |||
</div> | |||
==== Build/Program ==== | |||
Open PSoC Creator (Start -> Programs -> Cypress -> PSoC Creator -> PSoC Creator) | |||
Open project: File -> Open -> Project/Workspace; then browse to Desktop/FRC2018/controls2018/SCB_Bootloader/SCB_Bootloader.cywrk) | |||
Build project: Build -> Build All Projects | |||
While you press and hold the SW1 Prog button on the cypress board, plug in the USB cable to the PC | |||
Download Boot Loader: | |||
*open programmer: Tools -> Bootloader Host | |||
*set 'File' to C:\Users\Robotics\Desktop\FRC2018\controls2018\SCB_Bootloader\Bootloadable Blinking LED.cydsn\CortexM0\ARM_GCC_541\Debug\Bootloadable Blinking LED.cyacd | |||
*select the com port for the cypress board | |||
*set Baud to 115200; Data Bits 8; Stop Bits 1; Parity None | |||
*download program: Actions -> Program | |||
</div> <div class="mw-parser-output"> | |||
= Meeting Minutes = | = Meeting Minutes = | ||
Line 271: | Line 320: | ||
<span style="font-size: large;">2/10</span> | <span style="font-size: large;">2/10</span> | ||
'''Attendees:''' | '''Attendees:''' Byers, Eric, Adrian, Parker, Kyle, Zach | ||
'''Work Completed:''' Came up with plan for making front buttons active. Created LED 'clear' insert. Working on CAD for 3D button and board holder. | |||
Painted the laptop tray. Now have paint for top and bottom. Started wiring USB ports. | |||
<span style="font-size: large;">2/11</span> | <span style="font-size: large;">2/11</span> | ||
'''Attendees:''' | '''Attendees:''' Byers, Zach, Kyle, Jameson | ||
'''Work Completed:''' | '''Work Completed:''' Letters for front of controls, Finished bottons for controls and board holder. Top and base painted. More USB & Ether port wiring. | ||
<span style="font-size: large;">2/12</span> | <span style="font-size: large;">2/12</span> | ||
'''Attendees:''' | '''Attendees:''' Byers, Eric | ||
'''Work Completed:''' | '''Work Completed:''' 3D printed holder came in. Updated 3D model to make buttons & board fit better. | ||
<span style="font-size: large;">2/13</span> | <span style="font-size: large;">2/13</span> | ||
'''Attendees:''' | '''Attendees: '''Adrian, Aidan, Tristan, Jameson, Eric | ||
'''Work Completed:''' | '''Work Completed:''' Got working on electronics for controls, soldered ethernet port, other electrical things, etc. Wondering if we still need to order handle? | ||
<span style="font-size: large;">2/14</span> | <span style="font-size: large;">2/14</span> | ||
Line 301: | Line 352: | ||
<span style="font-size: large;">2/15</span> | <span style="font-size: large;">2/15</span> | ||
'''Attendees:''' | '''Attendees:''' Byers, Adrian, Tristan, Cameron, Zach | ||
'''Work Completed:''' | '''Work Completed:''' Sanded and re-painted bottom. Smoothed out 3D buttons and improved the fit. Put spade connectors on the broken switch pigtails. Put shrink wrap on USB connectors. Re-arranged boards on the PCB, so we can use existing cables. | ||
<span style="font-size: large;">2/16</span> | <span style="font-size: large;">2/16</span> | ||
'''Attendees:''' | '''Attendees:''' Byers | ||
'''Work Completed:''' | '''Work Completed:''' Painted stripe and buttons | ||
<span style="font-size: large;">2/17</span> | <span style="font-size: large;">2/17</span> | ||
'''Attendees:''' | '''Attendees:''' Byers, Eric, Adrian, Cameron | ||
'''Work Completed:''' | '''Work Completed:''' added lettering; final assembly; wired power cord; wired PCB; put in lights; verified all wiring; labelled broken switches; copied lights code to 2018 SVN | ||
<span style="font-size: large;">2/18</span> | <span style="font-size: large;">2/18</span> | ||
'''Attendees:''' | '''Attendees:''' N/A | ||
'''Work Completed:''' | '''Work Completed:''' N/A - Rochester Rally! | ||
<span style="font-size: large;">2/19</span> | <span style="font-size: large;">2/19</span> | ||
'''Attendees:''' | '''Attendees:''' Byers, Adrian, Cameraon | ||
'''Work Completed:''' Team switched to using the controls. XBox controllers were added and labeled. Put PSoC info on this page. | |||
<span style="font-size: large;">2/20</span> | |||
'''Attendees:''' Byers | |||
'''Work Completed:''' put handle on shopping list | |||
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> | |||
= Controls Rules = | = Controls Rules = | ||
Line 359: | Line 413: | ||
*[[2010:Electrical_Controls]] | *[[2010:Electrical_Controls]] | ||
*[[2009:Electrical_Controls]] | *[[2009:Electrical_Controls]] | ||
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> | </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div></div></div></div></div></div> |
Latest revision as of 08:41, 8 March 2018
Overall Concept
- Modeled after the NES (That's Nintendo Entertainment System to you youngsters)
- 16" W x 13.5" D x 6.5" H (NES is 10 x 8 x 3.5)
- 2 Xbox controllers - stored on top of the laptop, within the "case"
- This year we are using two wired Xbox 360 controllers. model #:S9F-00001 manufactured by Microsoft.
- 2 USB ports on front (in place of NES controller plugs) - these are extra ports, Xbox controller is plugged into hub within "case"
- Ethernet plug and power plug are on the side, in place of NES Video ports
- Power is a separate cable (stowed within "case"; may have an external holder so cord can stay plugged in)
- NES Cartridge door opens to expose broken switches while top is closed (not needed, just for fun)
- The top of the "case" flips open (where the NES color breaks are)
- NES power LED lights up solid when a light pattern is running; flashes when laptop has power but lights are off or laptop running on battery
- NES buttons will be functional (Power - turn controls lights on/off, unless PC is running on battery; Reset - toggle light patterns)
- "Case" is painted to closely match the NES (e.g. top & bottom different colors; black 'stripe' over vents and USB ports)
- handle for carrying, will be on back to not detract from the look
To do
Not Started
- watch for overheating; seemed to get warm when first assembled, might be related to charging laptop battery, not much air flow
In Process
- none
Completed
Handle (going to go with this one as there is a chance we might able to get it on the back: [1]) - it is on shopping list, will still get more feedback on the need (Kate says yes), need to think about the impact of it being on the back (i.e. controllers sliding around and pooping open the cartridge door)
- paint scren heads
- code Power/Reset buttons and LED
- added XBox controllers - programmers wtill using last year controls for now
- final assembly
- cord/plug end for power inside controls
- wiring of PCB: lights connector, cap, resister, pwr/rst button board connector, pwr LED, maybe more PSoC pins to support pwr/rst buttons
- Overall paint and letter scheme (low priority) - painting done, need to add letters
- Make front panel USB connector cables.
- Need to design and make
- Buttons for power and such - 3D Print - 2
- LED for front - acrillic
- Think about lights and if we want to give them more power(Current setup cant do purple) - no extra power, no room or time to do it
- Order/Find
- Paint
- Right-angle USB adapter
- laptop power supply
- 4-port USB HUB- needs to 6 port because of ports on front of controls; we used 2 4 port HUBs we already had
- Magnetic Latch for door - 1 - decided on just getting a magnet and gluing it
- We have these (highlighted items are in the 2018 controls bin)
- Piano Hinge for door and body - 2 (https://www.homedepot.com/p/Everbilt-1-1-2-in-x-30-in-Bright-Nickel-Continuous-Hinge-15175/202034057, can cut in half to use for both door and body) [Eric got these, will bring in]
- 5 pin headers (terminal strips) - ***Eric
- USB extension cable (PWB) - 1 ***Eric
- USB cables for front panel ports - 2 ***Eric
- Ethernet cable ***Eric
- Double rolling catch - 2 (https://www.homedepot.com/p/Liberty-Statuary-Bronze-Double-Roller-Catch-C08820C-STB-P1/100114919) [Eric got these, will bring in]
- 470uF 16V capacitor - 1
- Screws for USB and Ethernet Ports
- USB ports for front - 2
- Ethernet Port for side - 1
- Power Plug for side - 1
- Broken Switches - 6
- 4 and #8 Standoffs (To hold up perf board from base) - 12
- Spade connectors for broken switches - 12
- 3pin connector for end of LEDs to perf board - 1
- PSOC board for lights
- velcro
- Switch encoder PWB
- Perf Board for PWBs (3" x 6") - 1
- 51ohm resistor - 1
- LED for front
- 330 ohm resistor for front LED
- LED strip lights
- Nuts and Bolts
- Select High-level Concept, work details in the concepts to help make the selection. [NES]
- Find out (in general) does the laptop and necessary parts (2 extra little boards (for buttons and something else), power supply, broken switches, and controllers.) fit in the controls box (not exact).[Yes, Xbox controllers can fit on top of the laptop]
- Make sure the control box fits in the driver station (measurement requirements found in game manual).
- Figure out where the NES opens up so that the laptop screen can be seen.
- Go through "controls"-related stuff in the shop and gather things we think we might want to use (buttons, switches, latches, etc.)
- Create a storage area for our stuff in the shop, we'll need a box or something to hold our parts.
- Talk to drive team and figure out what kind of control (Xbox, joysticks, etc.) they want this year. [Josh & Carol said to go with XBOX controllers]
- Brainstorm Ideas for Controls and record them.
- Figured out how the NES will open [To the left]
- CAD'd the NES
- Figured out the control box can fit the necessary parts such as the laptop and the broken switches.
- Found out that the control box fits the driver station requirements. (14in = 14in)
- Add the cutout for the LED next to the buttons.
- We changed the dimensions to 13.5
- Finished the labtop tray.
- Finished USB cutouts.
- Need to come up with a latch to keep controls closed.(https://goo.gl/v4L3BD) or magnets or (https://goo.gl/WQCsbg) or briefcase sytle when you push one of the buttons on the fornt the case is unlocked [suggest waiting until top and bottom mating surfaces are figured out]
- Ether port decided: Put on side where A/V plugs are.
- Find ether port part including datasheet; add cut-out
- Power cord decided: Put plug on side, where A/V plugs are (so not sticking out back and preventing controls from being tight against driver station wall). Roll up cord and put in the controls, maybe a clip to hold cord on outside of controls for quicker connection at start of match.
- Find power port part including datasheet; add cut-out
- Hinge decided: piano hinge for both lid and cartridge door
- Find and put on shoping list
- Finalize model (holes and studs for hinges, latches, USB ports, ether port, power port, PCBs, power led)
- Cut out fors: vents, lettering
- Create drawings for Harris
- Add detail into the metalwork and generate fab files.
- Top
- Add holes for paino hinge for door and clamshell
- Add holes for latch
- Bottom
- Resize to match the top.
- Fix bends, they almost look ok but it seems like there is a little too much relief in the corners.
- Add "lip" on top.
- Add power cord input
- Add RJ45 jack
- Add holes for laptop mount
- Add USB jack cutouts
- Laptop Mount
- Door
- Pretty much finished, lip is finally done, made room for piano hinge and decided how it will open, see Adrian/Tristan for details on hinge
- Top
- Make side panel Ethernet connector cable (make sure to route cable directly downward to avoid interference with the laptop)
- Add in a handle design (overall thought is handle on the back), need to add detail.(Handles on both sides or no handles or these on the bottom https://goo.gl/FNXMqh / https://goo.gl/Q3MRnj) [might be too heavy for no handles; doesn't appear there are 'natural' handles; handle on back might be awkward for placing them on the driver station shelf]
- Install latches
Useful Links
- Subteam Student/Mentor Photos
- Zero Delay USB Joystick Encoder
- http://exposantana.com/img/nes-measurements.jpg
- https://ibin.co/2pzZhDM2hmF8.png
- https://grabcad.com/library/nintendo-entertainment-system
- http://www.jetpress.com/Products.aspx/bwejaatthl/30Series-SpringClawLatch/
PSoC Install (for lights)
PSoC Creator IDE
Download latest "PSoC Creator" from Cypress (http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide) and install it (use Typical install; at end run Updater and maek sure you have the latest stuff)
For user name and password, you can use: mailme@mailinator.com mailme123
Toolkits and Board Driver Install
Get controls2018 from SVN
Run: vcredist_x86.exe
Run: USBSerialSDKSetup.exe (do Typical install; at end run Updater and maek sure you have the latest stuff)
Run: CY8CKIT04942xxSetupOnlyPackage_revSA.exe (do Typical install; at end run Updater and make sure you have the latest stuff)
While you press and hold the SW1 Prog button on the cypress board, plug in the USB cable to the PC (it will take a while for it to install 5 drivers).
Build/Program
Open PSoC Creator (Start -> Programs -> Cypress -> PSoC Creator -> PSoC Creator)
Open project: File -> Open -> Project/Workspace; then browse to Desktop/FRC2018/controls2018/SCB_Bootloader/SCB_Bootloader.cywrk)
Build project: Build -> Build All Projects
While you press and hold the SW1 Prog button on the cypress board, plug in the USB cable to the PC
Download Boot Loader:
- open programmer: Tools -> Bootloader Host
- set 'File' to C:\Users\Robotics\Desktop\FRC2018\controls2018\SCB_Bootloader\Bootloadable Blinking LED.cydsn\CortexM0\ARM_GCC_541\Debug\Bootloadable Blinking LED.cyacd
- select the com port for the cypress board
- set Baud to 115200; Data Bits 8; Stop Bits 1; Parity None
- download program: Actions -> Program
Meeting Minutes
1/10
Attendees: Zach, Kyle, Jameson, Parker, Eric, Byers
Work Completed: Brainstormed ideas for control sets.
1/11
Attendees: Kyle
Work Completed: An attempt was made, but overall nothing got done.
1/13
Attendees: Zach, Kyle, Adrian
Work Completed: CAD'd the NES to the dimensions above. Began gathering materials. Allocated shelf space in shop closet.
1/14
Attendees: Kyle and Aidan
Work Completed: Figured out the control box can fit the necessary parts such as the laptop and the broken switches; Found out the control box fits the driver station requirements (14in = 14in); began the final NES CAD
1/16
Attendees: Eric, Parker, Aidan, Adrian, Jameson
Work Completed: Researched some handle ideas, added button cutouts and started to add USB ports to base, found a nintendo font, decided which way the controls should open (to the left), determined that we should be able to store the joysticks either on the laptop or in the top half of the chassis.
1/17
Attendees: Zach, Byers
Work Completed: Look at lots of possibilities for handle, hindges and latchs. Made sure things would fit in controls, working towards final details of the holes.
1/18
Attendees: Aidan, Byers
Work Completed: Made descisions on hinges, power chord, started labtop tray drawing.
1/20
Attendees: Aidan, Jameson
Work Completed: Finished USB ports and re-drew labtop tray.
1/21
Attendees:
Work Completed:
1/23
Attendees: Aidan, Adrian, Jameson, Kyle, Eric, Parker,
Work Completed: Polished up CAD, looked at latch possibilities, added a few things to the shopping list.
1/24
Attendees: Adrian, Byers
Work Completed: Worked on "lip" for NES, worked on corners.
1/25
Attendees: Aidan, Adrian, Tristan, Zach
WorkCompleted: Corners fixed, door pretty much completed with gaps and decided how piano hinge will fit and work, buttons looked at, some small things fixed1/27
Attendees: Adrian, Tristan, Aidan, Jameson, Eric, Byers
Work Completed: CAD, CAD drawings, put drawings in the file
1/28
Attendees: Jameson, Parker, Byers
Work Completed: Basic supply list
1/30
Attendees: Eric, Jameson, Parker, Aidan, Adrian
Work Completed: Eric fixed the laptop tray drawing. Everyone else was helping to generate drawings for the robot.
1/31
Attendees: Adrian, Zach, Tristan, Byrers
Work Completed: Went down "to order" list; found practically everything, decieded on handle, started decal for door.
2/1
Attendees: Adrian, Aidan , Tristan, Byers
Work Completed: Worked on decal, Fonts are Nintender and NES2.
2/3
Attendees: Eric (as of noon), Byers, Adrian, Aidan, Jameson
Work Completed: Started 3D model concept for the front buttons and light pipe, the basic outline is there but it needs some detail. Was thinking that if this was printed with clear plastic it would work as the light pipe and the buttons could be painted to match the case.
Caded the front buttons, LAPTOP TRAY AND CARTRIDGE DOOR CAME IN! Determined font sizes: 42 point Nintender for top line, 28 point NES2 for bottom line. Add logo folder with fonts, doc and png
2/4
Attendees: Eric, Parker, Jameson
Work Completed: CAD a concept for the front panel LED holder. Pulled and orginized parts.
2/6
Attendees: Eric, Adrian, Aidan
Work Completed: Test fitted all components (USB, RJ45, Power, Laptop Tray, buttons, LED light pipe) in the metalwork. Countersunk holes for USB and Ethernet connectors. Installed paino hinges for flipply floppy door and main chassis.
2/7
Attendees: N/A
Work Completed: N/A, After-School Activities Cancelled
2/8
Attendees: Byers
Work Completed: Put USB cables on shopping list. Put vynil material on shopping list for lettering.
2/9
Attendees:
Work Completed:
2/10
Attendees: Byers, Eric, Adrian, Parker, Kyle, Zach
Work Completed: Came up with plan for making front buttons active. Created LED 'clear' insert. Working on CAD for 3D button and board holder.
Painted the laptop tray. Now have paint for top and bottom. Started wiring USB ports.
2/11
Attendees: Byers, Zach, Kyle, Jameson
Work Completed: Letters for front of controls, Finished bottons for controls and board holder. Top and base painted. More USB & Ether port wiring.
2/12
Attendees: Byers, Eric
Work Completed: 3D printed holder came in. Updated 3D model to make buttons & board fit better.
2/13
Attendees: Adrian, Aidan, Tristan, Jameson, Eric
Work Completed: Got working on electronics for controls, soldered ethernet port, other electrical things, etc. Wondering if we still need to order handle?
2/14
Attendees:
Work Completed:
2/15
Attendees: Byers, Adrian, Tristan, Cameron, Zach
Work Completed: Sanded and re-painted bottom. Smoothed out 3D buttons and improved the fit. Put spade connectors on the broken switch pigtails. Put shrink wrap on USB connectors. Re-arranged boards on the PCB, so we can use existing cables.
2/16
Attendees: Byers
Work Completed: Painted stripe and buttons
2/17
Attendees: Byers, Eric, Adrian, Cameron
Work Completed: added lettering; final assembly; wired power cord; wired PCB; put in lights; verified all wiring; labelled broken switches; copied lights code to 2018 SVN
2/18
Attendees: N/A
Work Completed: N/A - Rochester Rally!
2/19
Attendees: Byers, Adrian, Cameraon
Work Completed: Team switched to using the controls. XBox controllers were added and labeled. Put PSoC info on this page.
2/20
Attendees: Byers
Work Completed: put handle on shopping list
Controls Rules
8.10 OPERATOR CONSOLE
R97. The Driver Station software provided on the National Instruments website is the only application permitted to specify and communicate the operating mode (i.e. Autonomous/Teleoperated) and operating state (Enable/Disable) to the ROBOT. The Driver Station software must be revision 18.0 or newer. Teams are permitted to use a portable computing device of their choice (laptop computer, tablet, etc.) to host the DRIVER Station software while participating in competition MATCHES.
R98. The OPERATOR CONSOLE, the set of COMPONENTS and MECHANISMS used by the DRIVERS and/or HUMAN PLAYER to relay commands to the ROBOT, must include a graphic display to present the Driver Station diagnostic information. It must be positioned within the OPERATOR CONSOLE so that the screen display can be clearly seen during Inspection and in a MATCH.
R99. Devices hosting the Driver Station software must only interface with the Field Management System (FMS) via the Ethernet cable provided at the PLAYER STATION (e.g. not through a switch). Teams may connect the FMS Ethernet cable to their Driver Station device directly via an Ethernet pigtail, or with a single-port Ethernet converter (e.g. docking station, USB-Ethernet converter, Thunderbolt-Ethernet converter, etc.). The Ethernet port on the OPERATOR CONSOLE must be easily and quickly accessible. Teams are strongly encouraged to use pigtails on the Ethernet port used to connect to the FMS. Such pigtails will reduce wear and tear on the device’s port and, with proper strain relief employed, will protect the port from accidental damage.
R100. The OPERATOR CONSOLE must not Section 8 ROBOT Rules V2 96 of 127 A. be longer than 60 in. (~152 cm) B. be deeper than 14 in. (~35 cm) (excluding any items that are held or worn by the DRIVERS during the MATCH) C. extend more than 6 ft. 6 in. (~198 cm) above the floor D. attach to the FIELD (except as permitted by G19) There is a 54 in. (~137 cm) long by 2 in. (nominal) wide strip of hookand-loop tape (“loop” side) along the center of the PLAYER STATION support shelf that should be used to secure the OPERATOR CONSOLE to the shelf, per G19. See Section 3.6.1 PLAYER STATION for details. Please note that while there is no hard weight limit, OPERATOR CONSOLES that weigh more than 30 lbs. (~13 kg.) will invite extra scrutiny as they are likely to present unsafe circumstances.
R101. Other than the system provided by the ARCADE, no other form of wireless communications shall be used to communicate to, from, or within the OPERATOR CONSOLE. Examples of prohibited wireless systems include, but are not limited to, active wireless network cards and Bluetooth devices. For the case of the FIRST Robotics Competition, a motion sensing input device (e.g. Microsoft Kinect) is not considered wireless communication and is allowed.
R102. OPERATOR CONSOLES shall not be made using hazardous materials, be unsafe, cause an unsafe condition, or interfere with other DRIVE TEAMS or the operation of other ROBOTS.