source link follow link Design Challenge https://annmorrislighting.com/ihkcx2stCreate a game controller that uses HID output, controls w, s, a, d keyboard presses, and comes together to play Atari’s Lunar Landing.

 

The Controller

watch This game controller was designed both programmatically and physically to play the Lunar Landing game by Atari.  While designing this controller, I took several things into account:
1) What is the most natural interface one would want to interact with when landing a spacecraft on the moon (or anywhere that one might need to land, gravity pending)?
2) What details can I add to make the user know that the controller is responding? #surpriseanddelight
3) What is the most efficient housing I could make for the motions needed for the controller-user movements?

The Process

click Step 1: Programming the Buttons & Potentiometer

https://domainebregeon.com/byr1yz80 My initial inclination, taking the “most natural interface” was to use buttons for up and down and to use a potentiometer for right and left steering, like a car. Instead of a joystick, this prototype broke it down into two tangible experiences – that of left/right turning and that of up/down pressing.

https://restoreredspruce.org/2024/05/13/4sirzefux1

here Buy Diazepam Troubleshooting: After testing, reprogramming, adjusting the numbers for the potentiometer and more testing, the potentiometer proved to be undesired as an input device. The results were slow when interfacing with the game, and the landing craft took too long to turn in comparison to the actual button presses. Perhaps this was due to having too much resistance.

go While troubleshooting the up/down button presses, there were times when the button presses would work in every application except in the Lunar Lander game interface. I played around with the code and upon removing the delays, the buttons worked just fine in the game interface.  This makes me conclude that delays slow down the immediate response needed to make the landing module move efficiently.

https://grannysglasses.com/?p=alt4enxc Step 2:  Finalizing the Code

follow site I turned the potentiometer into 4 buttons – up(w), down(s), left(a), and right (d).

go here

source

see Responding to my second question, I added two more buttons – one to reload the page to restart the opening page of the game (command+r) and the other to press enter so the user can start the game (ASCII 176/enter key). Each time these two keys are pressed, an LED lights up to inform the user that their input has been accepted.

enter go More Troubleshooting: The controllers not responding to the game became a topic of conversation around the shop. I had been using the Keyboard.write(); for most of the buttons outside of the Reload button.

go <if (up == LOW) {
Keyboard.write('w');
Serial.println("UP");
}>

here However, even with the delays removed, the controller did not work as smoothly as the WASD and up/down/left/right keys. It was discussed that in an email, Tom Igoe suggested using Keyboard.press/release. So I decided to just switch all of the buttons for that code to that command, added a minor delay, and had better, smoother results with movement.

Code

follow site

Schematic

source link

https://restoreredspruce.org/2024/05/13/wah7fm387e  

Order Valium Next Day Delivery

https://yplocal.us/s5yky918n  

enter site Fabrication

source Materials:

Diazepam 2 Mg Order Online 24″ x 3″ Walnut wood
5 big red buttons
2 small buttons
wires
bread board
proto-board
acrylic
handle

Buy Valium And Xanax Step 1: Solder Board Together

Buy Valium Roche Online Uk

Testing the buttons along the way:

Step 2: Design and Fabricate the Housing

From the initial drawings came the Adobe Illustrator housing designs.

And for the acrylic lid:
Anyone Order Xanax Online Troubleshooting: It was at this step that I realized it would have been better to have put the buttons into the casing before soldering.  So in order to account for this error in post, I cut spacers with the engraved titles to put between the black top and the buttons.

Step 3: Put It All Together

References

Tom Igoe – https://www.arduino.cc/en/Tutorial/KeyboardAndMouseControl
https://learn.adafruit.com/adafruit-feather-m0-adalogger/setup
https://learn.adafruit.com/adafruit-feather-m0-adalogger/adapting-sketches-to-m0
https://itp.nyu.edu/physcomp/labs/labs-arduino-digital-and-analog/analog-in-with-an-arduino/
https://itp.nyu.edu/physcomp/labs/labs-arduino-digital-and-analog/digital-input-and-output-with-an-arduino/
https://www.arduino.cc/en/Reference/KeyboardPress
https://itp.nyu.edu/physcomp/wp-content/uploads/LabDigitalInOut_schem.png