[Project] Braille Input Device

inomanoms

Eye of Cthulhu
After my foray into Terraria engineering with the 3 by 5 matrix display, I contemplated what follow up project would give me the opportunity to practice implementing some of the many mechanisms showcased on this forum in a meaningful way, and have come up with the idea for a Braille Input Device which I will outline below. I have considered simple and progressively more involved variations of the project, of which I will start by describing the simplest and then move on to the "more complex".


1_ many switches.PNG

A player operates an interface as depicted above, by inputting the Braille via the switches to the left of the platform and then pulling the large lever to activate computing the matrix display equivalent on the right. Half-height blocks above the switches in the Braille input section of the interface serve as better indicators of which braille dots are selected prior to computation. Input, execution, result. Pretty straight forward stuff.


Instead of using a single switch for each dot of Braille however, I thought I could try, as an advancement, using only one input switch.

2_single switch.PNG

The large lever is pulled once to start the braille inputting process. The machine then automatically advances through the dots of the braille as indicated by the half height blocks, allowing time for the player to choose to activate the currently active dot with the single switch above the platform, or not. Once the machine has progressed through all the dots of the braille, it automatically retreives the matrix display equivalent. Reactivating the large lever restarts the process even if the player is currently in the process of inputting to the device, and so also operates as a clear function.


While thinking about the relevance of this device, I thought it might be very useful, but not very interesting or intuitive to use. Not many people who play Terraria (and therefore likely have their sight) know Braille. And so I thought a Braille Input Device could achieve at least passing interest as a game.

3_game version.PNG

If instead of the player inputting for a result, a player would be required enter the Braille to match a character chosen at random by the machine, you would have a sort of "Mavis Beacon teaches Braille". If the automatically dot-for-dot progressing method of inputting is used, you could regulate the amount of time the player has to complete the task, decreasing it with time for increased difficulty (as in Tetris). Coupled with an ALU, you could even count score.


Ultimately, I would like to be able to use the Braille Input Device to be able to save a string to memory. While this really doesn't have much to do with the function of the input device itself, it probably would require an extra lever in the device to distinguish between "save to string" and "clear character" functions.


That's about it. Tell me what you think. Do you think such a device would be useful? If there was a Braille Game, would you give it a go? Regardless of interest, I plan on doing this project for the engineering experience it might provide me with. I would like to post my progress regularly for feedback and, more importantly, suggestions from the more experienced members of this forum on how to break down this project into smaller, achievable objectives.

I aim to finish this project by October 8th. Not because I believe it will take me that long, but because that date is World Sight Day this year. Perhaps even some of the more visible members of this forum could help me out by drawing attention to the project at that time, giving both World Sight Day and T-MEC some well deserved publicity?

-inomanoms
 
Last edited:
That's about it. Tell me what you think. Do you think such a device would be useful? If there was a Braille Game, would you give it a go? Regardless of interest, I plan on doing this project for the engineering experience it might provide me with. I would like to post my progress regularly for feedback and, more importantly, suggestions from the more experienced members of this forum on how to break down this project into smaller, achievable objectives.

Creating a braille game would be an ambitious project, but also a fun exercise in achieving certain objectives such as creating a "checker" to see if the right answer has been given. I wouldn't worry about how fun or popular the game itself would be, since these contraptions are more about the actual engineering then what the contraptions are engineered to accomplish.

So from what you described, your game would consist of three major components:

1) a randomizer which lights up a combination of 6 lights that represent some letter in braille
2) a checker which checks whether the player input matches the initial letter in braille
3) an accumulator register which keeps track of the score (maybe even a combination forward/reverse counter to be able to deduct points if wrong answers are given)

You also wanted to be able to save the letters to a string, although I'm not sure how that would be part of a game - a side project perhaps?

No. 1 should be interesting challenge since not all combinations of dots can be permitted to light up, unless you want to add to the challenge by allowing combinations that don't represent any letters (or numbers/punctuation) and then the player would have to correctly identify what lights up as a "null". No. 2 also wouldn't be easy if you wanted a compact checker (instead of many look-up tables). Like I said, it would make for an ambitious project, and pretty rewarding if you can pull it off effectively!


I aim to finish this project by October 8th. Not because I believe it will take me that long, but because that date is World Sight Day this year. Perhaps even some of the more visible members of this forum could help me out by drawing attention to the project at that time, giving both World Sight Day and T-MEC some well deserved publicity?

-inomanoms

Sure, we can definitely call attention to the project on Oct. 8th!
 
So from what you described, your game would consist of three major components:

1) a randomizer which lights up a combination of 6 lights that represent some letter in braille
2) a checker which checks whether the player input matches the initial letter in braille
3) an accumulator register which keeps track of the score (maybe even a combination forward/reverse counter to be able to deduct points if wrong answers are given)

Almost. From the way you describe the randomizer I sense that you are misunderstanding that in the game I would like to have a random "real" number or letter (so, to take the 3rd image in the post as an example you would first see the "M" in the matrix display to the right and the half-height Braille dots in the display to the left would all be inactive). But otherwise, yes:

1) a randomizer for picking a "real" character for the 3 by 5 matrix display.
2) a checker which evaluates the user inputted Braille against the chosen "real" character.

I'd leave point 3) of your list for later. For starters, I would just like to check a mapping for true/false.


You also wanted to be able to save the letters to a string, although I'm not sure how that would be part of a game - a side project perhaps?

Yeah, that wouldn't be part of the game. It's more the ulterior motive for which the game is a starter project.


No. 1 should be interesting challenge since not all combinations of dots can be permitted to light up

Yup. There are also ligatures in Braille, i.e. Braille character codes which represent common consonant combinations such as "sh", "ch" or "st" which I wouldn't plan on using. There are many different versions of Braille. I plan on using standard American Braille.


No. 2 also wouldn't be easy... and pretty rewarding if you can pull it off effectively!

But... I thought this would be easy! ;(


Where should I start, Joe? I thought I'd just begin by making hoiked skeleton tracks that light up the 3 by 5 matrix display for every character in the Braille character set appropriately...
 
Almost. From the way you describe the randomizer I sense that you are misunderstanding that in the game I would like to have a random "real" number or letter (so, to take the 3rd image in the post as an example you would first see the "M" in the matrix display to the right and the half-height Braille dots in the display to the left would all be inactive).

Fair enough, but do note that a randomizer for the 6 spots is way easier ;). With 26 different outcomes (or 36 with digits) you'll need a lot more randomizer units. You can use the previous bird randomizers, or use the new hoik randomizer I used in the slot machine (much faster and more compact) or build your own player-based randomizer if you have an idea how to do that.

But... I thought this would be easy! ;(

Did you have some checker mechanism in mind already? I can make a suggestion by pointing to the checker I used in the slot machine, but that checker used skeleton hoik tracks for every correct combination so if it was used in your game it would tranlate into 26-36 tracks. That's the "easy" way of doing it, but you might want to work on finding a more efficient checker that uses far fewer tracks.

Where should I start, Joe? I thought I'd just begin by making hoiked skeleton tracks that light up the 3 by 5 matrix display for every character in the Braille character set appropriately...

Doesn't really matter what you start with, but when I work on new contraptions I usually tackle the novel mechanisms first, trying to work out how they will be executed. I rarely begin with what I already know how to do, because it might need to be tweaked or adapated anyways when I combine mechanisms.

You'll need to figure out how you want to build your randomizer and your checker. Once you settle on the mechanisms, it'll be a matter of putting them together.
 
Fair enough, but do note that a randomizer for the 6 spots is way easier ;)

Yes. You are correct. So I was thinking about it, and I thought maybe the following:

Create a randomizer for a 6 cell Braille character, as you suggested.
This Braille character is "hidden".
Use the hidden Braille character for a) display via look up table in matrix display format
and b) comparison against user inputted Braille.


Did you have some checker mechanism in mind already?

No. I will take a look at your checker mechanism in the slot machine as you suggest.
Won't the approach I describe above help, since you would then be checking dot against dot, of which there are only 6?


Doesn't really matter what you start with, but when I work on new contraptions I usually tackle the novel mechanisms first, trying to work out how they will be executed. I rarely begin with what I already know how to do, because it might need to be tweaked or adapated anyways when I combine mechanisms.

You'll need to figure out how you want to build your randomizer and your checker. Once you settle on the mechanisms, it'll be a matter of putting them together.

THANK YOU! This is very solid advice. I will start with the randomizer first then!
 
Yes. You are correct. So I was thinking about it, and I thought maybe the following:

Create a randomizer for a 6 cell Braille character, as you suggested.
This Braille character is "hidden".
Use the hidden Braille character for a) display via look up table in matrix display format
and b) comparison against user inputted Braille.

...

No. I will take a look at your checker mechanism in the slot machine as you suggest.
Won't the approach I describe above help, since you would then be checking dot against dot, of which there are only 6?

Yes, that sounds like a good idea actually, and will make the checker a lot easier to construct!

By the way, for reference, here are the two mechanisms of interest from the slot machine thread.


Hoik-based randomizer:

fII7v24.jpg
5yyIZ0W.jpg


The individual units can of course be chained together. The video in this thread explains what's going on in the randomizer (starting at the six-minute mark):

http://forums.terraria.org/index.ph...slot-machine-video-tutorial-schematics.13276/


Checker (explained around the 19:45 mark in the video):

yLRiCBl.jpg
kJHKDbk.jpg


I didn't put too much thought into the checker for the slot game, so there are likely better ways of constructing it. The basic idea is that a skeleton will only make it to the end of the track if it avoids getting killed by the spear traps along the way. Each track corresponds to one of three matching symbol combinations, and if three matching symbols come up in the slots, then the one of the three skeletons will reach the end of the track and a reward will be triggered.
 
I see this project like this, quite simple:

1. Generate random symbol: sceleton cycles through a loop of multiple positions through a table of symbols/braille characters;
2. Player triggers a lever, random position is selected, sceleton continues to cycle;
3. For this position a symbol and a braille character is drown;
4. Player inputs his braille character variant, presses the check lever;
5. 6 points are checked for a match.

I don't have time to buitd it but here is a draft to make my explanation easier to understand:
1ed059d46fa346dda3fe1f6b459e3439.jpg
 
I see this project like this, quite simple:

1. Generate random symbol: sceleton cycles through a loop of multiple positions through a table of symbols/braille characters;
2. Player triggers a lever, random position is selected, sceleton continues to cycle;
3. For this position a symbol and a braille character is drown;
4. Player inputs his braille character variant, presses the check lever;
5. 6 points are checked for a match.

I don't have time to buitd it but here is a draft to make my explanation easier to understand:

Thank very much you for your input. +1 for drawing out a draft onto of your ideas onto paper and scanning them into the computer. I thought I was the only person left now a days who uses pencil and paper to capture and formulate what he is thinking!

I see many parallels between what you have drawn here and what I plan to do. Some things are unclear, as the details of how they would be done are glossed over (kept abstract). I like the idea of a simple +1/-1 for keeping score.

So far, the project has been in development under the close tutelage of Joe in PM. I have a functional randomizer complete, but would like to complement this with a sequencer. The randomizer also still requires a memory writing/clearing device. When these things are done, I will be posting them to this thread.
 
Back
Top Bottom