Author Topic: 8-direction joystick!  (Read 13020 times)

James B

  • Global Moderator
  • MaKey MaKer
  • *****
  • Posts: 373
  • "best played LANs of gamer dens, gang aft MaKey!"
    • View Profile
    • Knox Makers
8-direction joystick!
« on: June 12, 2013, 02:46:50 PM »
Title:

8-direction joystick

Short Description:

This project can be used to create multiple 8-directional joysticks for individuals ready to use (one MK per controller), or for groups and individuals to follow a step-by-step assembly process.

Step-by-Step Guide:

1. First, take your cardboard tube and wrap the outside tightly with aluminum foil. You may want to give it a few wraps if your foil is very thin or low quality as it may tear during play.

2. Next, we need to secure the tube to the bottom of the inside of the box. It may be best to carefully dismantle and flatten the box first, taking care to leave it one piece. Also, note the position of the tube and how difficult or easy it will be to pull the top face of the box over the tube using the hole in the top face. You may need to make adjustments to compensate (or be prepared to wrestle with the final assembly).

Secure the support tabs to the inside of the bottom of the tube, facing out in four directions like cardinal rhumbs on a compass. This should be done in a way that can endure some wear and tear. A glue stick may not hold out too long, but staples probably will.

Seat the four tabs (now attached to tube bottom) to the bottom inside face of the box. Make sure the tab bottoms are flat against the inside bottom of the box, and make sure that all the tabs are pushed slightly towards the center of the tube (this is why each tab needs a flexible crease).

You may have to trim tabs to get them to push inward before affixing them to the inside bottom of the box. You may have to play around a little to achieve best results, but what we are looking for is a tube that pretty much stands up mostly straight but can bend with light pressure.

3. Now we need to reassemble the box and cut the hole in the top of the box.

This might be tricky, but be patient and don't be afraid to experiment. To figure out the best hole size for your box and tube, try an estimated hole size in a piece of paper first. Slip the paper over the tube and hold the paper at the approximate height of the box.

At rest, can the tube stay equal lengths from the edge of the hole?

Can the tube be pushed to touch the edge of the hole in 360 degrees with little effort and harm to the support tabs?

If not, try again.

Once you have your hole size, simply cut a more permanent one in the top of the box, and try fitting the box together with the tube going through the hole in the top of the box.

If it seems you've got it, congratulations! But hold off on sealing the box up.

4. Wire that puppy! Start by marking your four main directions (up/down/left/right). Now mark the four ordinal directions (up and right, up and left, etc).

You need enough of a contact on the lip and edge of the hole to make a good connection when the tube touches it, but there needs to be a good amount of space between each contact, too. Again, make sure the joystick will be free from touching ANY contact when it is left alone. Also, when the tube is touching the cardinal right, it needs to only be touching cardinal right and not its neighboring ordinal directions (up/right and down/right).

Now you need to decide what the contacts will be made. You can use conductive adhesive copper tape, thin small strips of foil, or whatever you fancy and can make do with. Thin strips may work best. Just keep in mind that you need to have space between each "rhumb," each rhumb needs to be bulky and smooth enough to make consistent and reliable contact with the foil tube, and ordinal rhumbs need to consistently actuate both of their cardinal parent rhumbs at the same time by the foil tube.

Make one for each cardinal direction and attach it to the lip and edge. After you get this far, go ahead and wire the directions to their respective connections on the MaKey MaKey, wire the ground to the MaKey, put the tube through the hole again, and test it out.

Assuming things are going well, try tackling the ordinal directions next. For up/right, simply put two contacts right next to each other. Make sure they are NOT touching for best results, but the space between them needs to be very small. Test this out to make sure you got it. You can do this by splicing into the cardinal controls. When it works, the tube will act as ground for both up and right at the same time when you touch the up/right position ordinal contacts with it.

Assuming you've gotten this far, finish the other three ordinal directions in the same way.

5. Assemble the box! Make sure you leave room for the USB cord to get out of the box and to a computer.

6. Test your homebrew 8-direction controller here:
http://bit.ly/11aexuJ
[ Guests cannot view attachments ]

7. Enjoy! Try seeking out free Flash games that use 8 direction controls.

Note: Once you get it working, decorations and covers can make the controller easier to enjoy and use.

Visuals:

[ Guests cannot view attachments ]

Materials:

To construct this controller or a variation you will need: a small cardboard box or cardboard suitable for building a small box; scrap cardboard to make four flexible support tabs (see image); a toilet paper roll, a halved paper towel roll, or a strip of cardboard rolled into a small tube; 13 small lengths of wire; aluminum foil; and a MaKey MaKey.

Price:

With MaKey MaKey(s) already supplied:

~$0.25 USD per controller to ~$2-3+ USD per controller
  • cardboard (free, to premium stock and higher quality enclosure materials)
  • foil (free but clean and repurposed, to premium)
  • wires (free and repurposed, to premium MK-compatible wire)
  • any add-ons (conductive adhesive copper tape, markers, crayons, staples, glue, LEDs, etc.)

Time:

Learners without technical or electronic experience:

This may take a very extended time for a solo learner, but a guided learner especially one in a group may have a much quicker time.

Learners with basic technical and/or electronic experience:

A guided class with ample preparation can take anywhere from 30 minutes to an hour and sometimes longer, more to cover sub-topics of the project in greater detail.


Learners with strong technical and/or electronic experience:

A guided class with ample preparation can take as little as 30 minutes or less, more to cover sub-topics of the project in greater detail.

Note:

Ahoy!

Did you know you can use this controller to teach about the ordinal and cardinal directions as well as the rhumbs of a compass? If this project is too advanced or involved for your group, try assembling one yourself and integrating the controller into an interactive lesson about directions. Try using decorations that identify controller directions by compass directions (such as the word "North" for cardinal up).

Software:

I created a set of DIY instructions with visuals and a signal tester for this project using Scratch. I made all the sprites myself, and coded the signal tester to indicate which cardinal or ordinal direction is actuated.

You can remix my signal tester to create your own interactive lesson for use with the controller here:

http://scratch.mit.edu/projects/10809793/

The programming concept is very simple. For the graphic arrow pointing up, I set it to show as red on default. I then set it to only change to yellow when up and only up is pressed (from a possible combination of up/down/left/right). For the graphic arrow pointing up and to the right, I set it to show as red on default and as yellow on when both up and right arrow keys are pressed. You can use my code and turn it into navigational code for a sprite or any number of things in Scratch. You can also see all the remixes of my project that have been published at the project page's tree view here: http://scratch.mit.edu/projects/10809793/remixtree/.

Extra Stuff:

  • Try using your controller with any educational video game that uses the arrow keys on the keyboard in 8 directions (such as up and left for up/left ordinal). Two examples are Simple Coin Math and Cylinder Volume Estimation Game.
  • Try decorating your controller!
  • Is it acting up? Make sure no contacts are touching each other.
  • Try adding components like LEDs, motors that turn cardboard parts, or anything else you can get to work!
  • Try threading a rubber band through the bottom of the box in the center of where the top of the tube should rest and attaching both ends to the top of the tube. With a taut rubber band that still has some flex room when pressure is applied, this should ensure the joystick stands straight up at rest and will preserve the spring-action that the four support tabs may provide at first.


Side note: This project is documented in a way that encourages people to try arriving at their own conclusions and solutions, which is why there are no exact measurements. Just using this guideline, some may find it difficult to get the mechanics to work out just right at first (joystick doesn't stay straight up, joystick doesn't close appropriate connections well, etc). This is part of the originally-intended fun! This project may work best in an environment where participants are made to feel comfortable to explore outside the box a little and creative solutions are common if not expected. Participants may very well come up with highly inventive and useful modifications. That's great and should be encouraged if it happens!

For groups that feel more comfortable with more structure, consider trying the project on your own first and then preparing with your own custom measurements and more precise instructions. To cut time when it is an issue, consider preparing a portion of the materials in advance such as lengths of wire that need to be stripped.

This project can be tailored to a wide range of age and experience groups for different purposes. Related topics of learning can include Scratch programming ("if," "else," "and," "not," transparency, costumes, sensing, data, and other topics), electronics (MaKey MaKey in general, wiring techniques, combining signals, ground sensitivity in the MaKey MaKey, splicing, and other topics), basic compass directions (cardinal and ordinal), engineering (techniques that work and techniques that don't work or need to be modified), math (estimation, measurements, other topics), arts and crafts, and anything else a resourceful preparation jumps into. Best results may occur with some planned lesson/discussion material and room for free topics to arise as brought up by the group.

I will track any derivatives and remixes in the original Scratch DIY instructions and signal tester, please feel free to share any modifications, tips, or other resources in the comments section there.

Photo credits:

http://www.morguefile.com/archive/display/26559 - aluminum foil photo
« Last Edit: June 16, 2013, 08:10:07 PM by James B »
-=-=-
"All life is an experiment, the more experiments you MaKey MaKey the better." - Ralph Waldo Emerson
-=-=-

interactive

  • MaKey MaKer
  • Posts: 2
    • View Profile
Re: 8-direction joystick!
« Reply #1 on: July 31, 2013, 11:56:12 PM »
how do you connect the wires to the makey makey so that the ordinal directions don't conflict with the normal directions? could you some more pictures perhaps?

the pic is what i tried
« Last Edit: August 01, 2013, 12:56:49 AM by interactive »

interactive

  • MaKey MaKer
  • Posts: 2
    • View Profile
Re: 8-direction joystick!
« Reply #2 on: August 01, 2013, 02:28:56 AM »
nm, i just realized what you were trying to do. ill take pictures and share it on a blog as that will make more sense

James B

  • Global Moderator
  • MaKey MaKer
  • *****
  • Posts: 373
  • "best played LANs of gamer dens, gang aft MaKey!"
    • View Profile
    • Knox Makers
Re: 8-direction joystick!
« Reply #3 on: August 02, 2013, 12:14:28 PM »
Da, the directions actually DO conflict in this set-up. Definitely not the only way to go about it, which is awesome about the MK. More than infinite ways to pet a cat. OK, that's both a hyberbole and a complete butchery of a perfectly gruesome axiom, but we like cats round these parts and don't take kindly to skinnin' em. Unless by skinning you mean giving them new graphics.

Yeah, it's meant to work as an 8-direction joystick (still here? I stopped being all tangent, sorry, I'm silly because I'm breathing library air again). If you press the "ordinal" direction representing up and left at the same time, you actually are crossing up, left and ground. It's not a fancy trick, just a simple bit of tomfoolery. Doesn't work with only my piddley amateur software compliments, either, it works with any game that responds to multiple arrow keys being pressed at the same time.

Feel free to snag the idea, that's what this whole thing is about. I just ask that you put some of you into it if you like my idea enough to roll with it, make it yours and put something unique into and we're golden, that's what this is all about. Just play and have fun while learning/teaching/sharing/whathaveyoudo.

Love and peace, won't be able to respond readily as my technology is no more unfortunately and I must rely on library science for e-mailery and the like until I remedy such.

Next stop, RaspPi.. 
-=-=-
"All life is an experiment, the more experiments you MaKey MaKey the better." - Ralph Waldo Emerson
-=-=-

lightnin

  • Administrator
  • MaKey MaKer
  • Posts: 84
    • View Profile
Re: 8-direction joystick!
« Reply #4 on: August 03, 2013, 11:08:51 AM »
Awesome! I was wondering about good strategies for 8 way joysticks. :)

James B

  • Global Moderator
  • MaKey MaKer
  • *****
  • Posts: 373
  • "best played LANs of gamer dens, gang aft MaKey!"
    • View Profile
    • Knox Makers
Re: 8-direction joystick!
« Reply #5 on: August 03, 2013, 11:51:52 AM »
how do you connect the wires to the makey makey so that the ordinal directions don't conflict with the normal directions? could you some more pictures perhaps?

the pic is what i tried

OK, confusion! Sometimes, confusion can be a good thing but confusion was not my intent.

I see what you did there! Haha :D That's a reasonable way of trying what you thought I meant. I can see how I mucked up my tute pretty good, but that's no fret. It's a learning exp! :D

I think I should have included my pics better. I wondered if obscuring how the MK is hooked up would have been too confusing, but I didn't intend the instructions to be taken that way. I really do apologize for the confusion, but this is exciting because even though it didn't work out, you were thinking in a completely different direction than me.

What I intended was to just hook up the arrow keys like easy-peasey normal. The reason you noticed a conflict with the MK when wired like it was is because the holes on each arrow of the MK are "designed" only for that arrow. There's not really a reason for having two holes on each arrow other than the fact that they are comfortable for alligators to rest their teeth on. They both do the same thing separately as well as when combined, and touching one does the same as hooking to both. As long as you stay on the same intended arrow. There may be other neat hidden uses out there to experiment with regarding the alligator clip holes on the MK, but that's another tangent you didn't ask about. The main thing is, if you clip left to up on the MK itself, whenever anything conductive that is grounded to MK touches anything that is connected to that left or up arrow key on the MK, left and up will happen at the same time. Is that what you saw when you wired up your MK that way?

For this reason, my project was designed to handle 8-direction on the homebrew joystick end a la cardboard tube and foil.

When you said conflict, I didn't see the picture for some reason and I thought you meant that the signals were being combined like I intended.

The MK side should be standard as far as I intended. Don't let that stop you from veering as far as you want from what I intended, though.

The ordinal and cardinal direction shenanigans are on the actual joystick end, to clarify. When the grounded joystick touches the upper-most foil contact wired to up, it signals up. When the grounded joystick touches the left-most foil contact wired to left, it signals left. But there should also be two foil contacts positioned between up and left where up-left would make sense to be. They shouldn't touch, or you'll run into more unexpected results (try it anyway and see what happens if you are curious). But they should be close enough together that when the joystick hits the up-left position, it gets both of them at once pretty consistently. One of those two little foil guys at up-left should actually be wired to up and the other should actually be wired to left.

There's a few ways to get the same effect without my "intended" instructions. Really, there's some unnecessary steps in my tute. A lot of unnecessary steps. If you can get my way to work how I intended (as an 8-direction joystick), try spotting various ways to improve it and come up with your own design.

I hope this has helped. Sorry for any continued confusion that may be lurking :P Best of luck

Sorry for the long response, I didn't want to assume anything about your experience as I have already caused enough confusion. Trying to cover as many bases as I can think of since I am uncertain the next time I will be able to get online. Have fun, please let me know how it worked out for you :D And thanks for trying it
« Last Edit: August 03, 2013, 12:11:45 PM by James B »
-=-=-
"All life is an experiment, the more experiments you MaKey MaKey the better." - Ralph Waldo Emerson
-=-=-

James B

  • Global Moderator
  • MaKey MaKer
  • *****
  • Posts: 373
  • "best played LANs of gamer dens, gang aft MaKey!"
    • View Profile
    • Knox Makers
Re: 8-direction joystick!
« Reply #6 on: August 05, 2013, 12:01:20 PM »
Awesome! I was wondering about good strategies for 8 way joysticks. :)

My main intent here is a starting point so that people can explore good strategies. First and foremost, a paper towel tube will likely crumple, tear, and not withstand general videogamery long enough to be considered good design. There's a lot of improvement to be done to my design, and regarding a number of factors. But that's kind of my main goal here.

Really depends on who is exploring and what they are working with. This project is just one way to get started as a first step, to ~quickly get a physical controller in hand that works, and go from there. What works, what doesn't, what would the individual change, etc are main things I hope people enjoy considering and exploring with my project.

That being said, thanks :) post pics/vid if you tried it out, lemme know how it worked or didn't work for you, constructive crit and feedback about the experience, etc

:D
« Last Edit: August 09, 2013, 11:00:43 AM by James B »
-=-=-
"All life is an experiment, the more experiments you MaKey MaKey the better." - Ralph Waldo Emerson
-=-=-

James B

  • Global Moderator
  • MaKey MaKer
  • *****
  • Posts: 373
  • "best played LANs of gamer dens, gang aft MaKey!"
    • View Profile
    • Knox Makers
Re: 8-direction joystick!
« Reply #7 on: October 15, 2013, 01:58:36 AM »
Thanks to everyone that tried this out. This was a really fun contest, and I definitely walked away with value for myself. I feel like when I make Instructables and other tutes in the future, I'll be better prepared to make something cool, useful and easy-to-follow.

Next time I try something like this whether or not as a contest entry, I'll focus a little more on pics/videos. I'll also refine my text instructions towards both clarity and simplicity. I think i'd be happier using that style, and it would work to make my projects more relatable and less confusing.

Good stuff. If anyone ever tries this out, please do post pics.
-=-=-
"All life is an experiment, the more experiments you MaKey MaKey the better." - Ralph Waldo Emerson
-=-=-