Saturday, December 29, 2018

Keyboard testing completed, waiting on 3D printed parts before final assembly



I needed to experiment with illumination. All I have on hand are the green LEDs, but I installed two of them into one keyswitch position as a way of testing the light delivered to the underside of the keycap.

I was suspicious of the amount of light that can shine through the keycaps I received as a gift, but given the 0603 size I allocated for the twin LEDs for each key, I can't increase the light much. The actual LEDs to be installed provide twice the illumination of these that I temporarily soldered on.

The amount of light reaching the outer edges of the plunger was adequate, but none makes it to the center of the plunger where the keycap text opening will be placed. I need to think about any way I can get some illumination at the target location or these keycaps will not light up.

I also determined that the keycaps I was given are far, far too thick to pass light through the text shaped opening. It is possible I will have to make my own instead. Another option is to simply abandon the objective of backlighting keycaps. Unless I have a flash of inspiration, the backlighting will be dropped from my project.

I proceeded to load the firmware on the Arduino Nano, power up the board and test it out. I pressed each of the 19 keys, verifying the state of the 8 output lines for each such press:

  • Five of the outputs encode the key value
  • A sixth output tells the AGC that a key has been pressed (thus triggering an interrupt to run the PINBALL routine that handles user interaction)
  • A seventh line is active at the same time as the RSET key code is active on the first five lines
  • An eighth line is active when the PRO key is pressed, although this key does not send a keycode on the first five or report a press through the sixth output line. 
PRO is used for two purposes. First, it is pressed as a confirmation to the computer that the astronaut has approved some action that the computer is poised to accomplish. Second, if held for a relatively long time it commands the AGC to go into standby mode. 

The board had a minor problem which I corrected with a small rework, adding wire jumpers, otherwise it worked exactly to spec. This board is just waiting on the additional plungers to arrive from the 3D fab before I assemble it completely and mount it in place inside the aluminum DSKY case.

Mounting details

For both the keyboard and display PCBs, I have to plan the length of the standoffs needed to position the board at an appropriate height under the faceplate and other cover parts. These will then be attached to the bottom of the aluminum case through drilled holes and nylon screws will go through the PCB to the top of the standoff.

The holes in the case will be a bit larger than the screws to allow for some side to side and top to bottom shifting of each PCB, allowing me to fine tune the alignment. The faceplate also has a tiny bit of give around the bolts holding it to the rest of the case.

I expect to use a mix of plastic glue and epoxy to glue various parts of the panels together and to lock the coil springs onto the plungers.

No comments:

Post a Comment