Posts | Comments

Planet Arduino

Archive for the ‘Braille’ Category

If you have a serious visual impairment, using a computer isn’t easy. [Dhiraj] has a project that allows people fluent in Braille to use that language for input. In addition to having a set position for fingers, the device also reads the key pressed as you type. With some third party software it is possible to even create Word documents, according to [Dhiraj].

You can see the finished product in the video below. This is one of those projects where the idea is the hardest part. Reading six buttons and converting them into characters is fairly simple. Each Braille character uses a cell of six bumps and the buttons mimic those bumps (although laid out for your fingers).

Our thoughts are that it might be nice to have some tactile feedback on the first switch since the intended users probably can’t see the switches. Perhaps the audio sounds a little rough, but that could have been the speakers. Maybe also a dedicated spacebar and an easier way to select letters vs figures without moving your hands might be nice, too. None of that would be hard to fix.

The code was quite simple, though we can see that you might get some false keystrokes. Every 250 milliseconds the Arduino reads the seven input switches (the seventh switch is the letters/figures select). Then a giant if statement decodes the letter. Just stylistically, we would have probably built a number and used it to select from an array, as with 7 switches it would consume just 128 bytes. More importantly though we would probably wait for at least one on to off transition to start the decoding. The switches are active high, so we’d probably write something like this:

unsigned code,oldcode;
code=oldcode=0;
do {
   oldcode=code;
   code=read_button_code();  // get current code
   } while (oldcode<=code);
// process oldcode

If this looks confusing, try a few examples (you can do that online, too). At first, the oldcode is zero so code will never be less than that (note the integers are unsigned). As long as bits keep getting set, code will be greater than or equal to oldcode. However, if any bit goes from 1 to zero then the total magnitude of code must be less than oldcode. That triggers the processing. Of course, you might also want to debounce the switches in read_button_code to make sure you have a stable input, too.

Still, what a great and useful idea it is, and one easy enough to build on the original design. We’ve seen a Braille tablet before. If you have some spare space on your next PCB, you could always replace some community signs.

In 2024, the Braille system will have been around for 200 years. What better way to mark the occasion than with an open source project devoted to making embossing equipment affordable for the visually impaired? This long overdue cause became the plight of [ccampos7], who couldn’t find a DIY embosser kit and set out to build one himself.

While other embossers forcibly punch the letters in one go, OpenBraille takes a more gradual approach to ensure a clean impression with a rolling motion. Paper is placed between a mechanical encoder with moving pins and a dimpled roller that provides resistance and a place to land. The embossing head is driven by an Arduino Mega and a standard RAMPS board, as the rest of the system relies on Cartesian movement.

The encoder and roller.

The encoder mechanism itself is pretty interesting. A micro servo drives a 3D printed wheel with three distinct tracks around half of the edge. The peaks and valleys encoded in these plastic tracks actuate the embossing pins, which are made from nails embedded through the sides of hex nuts. There’s a quick demo of the encoder movement after the break, and another video of it in action on the OpenBraille Facebook page.

[ccampos7] has all the files up on Thingiverse and plans to post the software soon. You should also check out this compact embosser that was recognized in the first round of the 2017 Hackaday Prize which is a nice all-print Braille concept.


Filed under: 3d Printer hacks, Arduino Hacks
Jan
11
1I got an idea of building a smartphone for the blind that is completely Braille-based. With absolutely no hint of how to make it, I started working on it.

Read more on MAKE



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook