Introduction: BlindCAD

The working prototype is here!

The device is inspired by the inspiring playful toys made by blind people with whom I work, at Blind Lead Initiative, Tamil Nadu, India. They are excellent at making stuff with their hand, so it would be so awesome if they could upload their designs online, and more importantly share design ideas with people. So, I have made an interface for a person to draw a 2D sketch into a computer using touch, and the person using a computer in another place can download the sketch and feel the drawing using this device, independent of sight.

Team: Abhinav Gupta, Sankalp Modi, Rashi Nigam, Bhaskar Mukherjee

Advisor: David Sexton, Ted Moallem

This is a great chance to explore visualization through touch and sound.

Starting from basics, although sighted children have a huge variety of media with which they can scribble and draw (e.g., pen/pencil on paper, chalk on pavement, crayon on walls, etc.), blind children do not have comparably cheap, simple means for drawing raised lines with simultaneous tactile feedback.

Arvind Gupta has made a very simple setup using which the blind can communicate their drawings easily, but using woolen thread on a velcro sheet http://www.arvindguptatoys.com/toys/touchingslate.... .

Step 1: Why Build This?

This device can help can help create interest among visually impaired persons to use the computer, especially for sharing designs, play games, and explore visualizations and more.

This interface aims to bridge the communication gap between people who aren't blind and who are, by making an inclusive platform which can be used by both parties primarily through sense of touch, added by audio feedback.

This device also plans to introduce a more user-friendly system of tactile drawings. For example, if I'm given a tactile drawing of map of India for the first time, I'll need to be guided to explore the drawing in a particular sequence and someone will need to help me distinguish the different states of India. Here, the wheel gives you the direction to move the pen on the velcro, so you are feeling the drawing in a sequential order. So, as you feel the different parts of the drawing, audio labels are played in an order.

Also, you can play car racing games using this, by feeling the race track. Assume your car is the pen, so you have to move the pen from point A to point B by avoiding all 'obstacles'. Remember that you have a wheel attached to your pen, which allows you to move the pen in one direction only. Otherwise, the wheel would skid. To give you a feedback of obstacles, the alignment of the wheel changes, thus making you feel a certain force making your car turn. If you move your pen too fast, you wheel will skid when the obstacle comes and you'll lose the game.

Step 2: What Is Haptic Feedback?

Consider yourself drilling into wood kept on a wooden table. Now, how do you make sure that the you have completely drilled through the wooden piece, but not drilled the table itself.

As you push the drill into the wood, you can feel a force, which increases with the hardness of wood, or the stickiness of wood. If you drill into, say concrete, you will feel a different force. It is not just that the force is increasing or decreasing, it's also about the vibration you feel, the sound you hear, the heat you feel.

So you can see if you don't have sense of touch and feel forces (kinesthetic), you wont be able to know when you drilled through the table.

You have also felt haptic feedback, when you switch gears in a car.With practice, you don't even need to look at the gear knob, right?

We want to do the same with drawings, so you won't need to see drawings, you can feel them using your hand.

Step 3: How to Build It: Materials Needed

(x1) Arduino Uno (http://arduino.cc/en/main/arduinoBoardUno)

(x1) Micro Servo ( https://www.sparkfun.com/products/9065 )

(x1) Mouse ( http://www.flipkart.com/toshiba-u10-optical-wired-... )

(x3) Jumper wires ( https://www.adafruit.com/products/759 )

(x1) External 5-6 V DC power adapter (optional) ( https://www.sparkfun.com/products/12889 )

Laser cut / 3D printed parts

(x5) Super Glue ( http://www.amazon.com/b?node=256243011 outside India) ( I bought Fevikwik ). If you can use Chloroform, it yields the best results for sticking acrylic sheet. You need to use Syringe to apply chloroform as an adhesive.

(>5m) Woolen thread

(30cm x 20cm) hook and loop velcro mat ( http://www.amazon.com/VELCRO-Brand-Industrial-Strength-White/dp/B00006IC2U )

I have attached a pdf containing all the parts to be lasercut

Step 4: Methodology

Make Velcro Slate:

To make the Slate, stick velcro strips on Cardboard using School glue.

Else, if you want to make it as a finished product, just laser cut the slate according to the size you wish and then glue the velcro strips on it.

See the awesome arvindguptatoys website to know more about it!

Make the Device:

Assemble and join all lasercut pieces

Do the connections:

Plug your mouse USB cable into the computer and check if it's working.

If you want to make a drawing, you can use this device without the arduino.

If you want to feel a drawing, the servo motor is attached to the pen. This servo motor is controlled by arduino uno. The arduino should be connected to the computer while feeling a drawing.

The output:

As you draw using the device, the path travelled by the pen's tip gets recorded on the computer. Attaching Wool and Velcro here, would let you to feel what you've drawn. When you feel a drawing which is in a computer, you use the pen with a wheel tip, the wheel rolls along the contours of the virtual line drawing as you push the pen. Once it's done, you can feel the drawing by following the woolen thread stuck onto the velcro board.

Step 5: Lasercut the Pen

If you have a 3D printer, print a hollow tube, with a spool attached at it's top. I have lasercut rectangular pieces and made a tube structure for the pen. The spool structure has been laser cut and fit on top of the pen.

The pen: A cheap optical mouse is fit to the pen's tip. The pen is hollow and woolen thread passes through it, this allows drawing to be recorded simultaneously both on Velcro and your computer screen. Saving this as a file allows the drawing to be shared with people elsewhere. The woolen thread is stored in the spool attached to the top of the pen.

Step 6: Roller Wheel Assembly

You can see the assembly video here.

I have laser cut a wheel has small teeth, which helps to have a good grip on the velcro strips. Remember, we want to avoid slipping of wheel.

There is a U-Bracket which couples the servo motor to the axle of the wheel.

The servo motor controls the direction of this wheel. This assembly is attached to the pen. When you wish to feel a drawing which is in a computer, you start moving the pen and the wheel aligns itself along the contours of the line drawing. Now if someone has a drawing and wants to share it with a blind person online, then the blind person moves the pen over a velcro board and the wheel changes it's direction and guides her to draw the complete contour of the object. So you actually 'make' the drawing in order to feel it. And once it's done, your drawing is the woolen thread stuck onto the velcro board allowing the user to read the drawing.

In this video, I am testing the wheel assembly on the velcro slate.

Step 7: Attach the Servo Motor to the Pen

Cut a rectangular piece which holds the servo motor and stick this piece to the hollow pen using superglue.

Make sure the wheel is properly leveled with the mouse housing, so that it touches velcro slate.

You may laser cut the rectangular structure using the image shown.

Step 8: Hack a Mouse and Make the Mouse Cover

I have used the Toshiba U10 mouse to make this prototype.

Open the casing of the mouse, and remove the scroll roller.

Now, you should have space to place the pen like in the picture.

We need to prepare a case for your mouse circuit to be housed. Take dimensions of your mouse circuit and lasercut the pieces accordingly.

Now, there should be a plastic lens with a small prism, apply hot glue to it and stick it to the mouse board at it's initial position.

To make the housing, I had designed the cover as shown in the images, and laser cut it.

To make the USB cord connections to the mouse circuit stronger, I have applied hot glue to the wires.

Additional:

You can play with the mouse like this:

Go to this amazing instructable by neelandan:

https://www.instructables.com/id/Mouse-Cam/

Or see how the lens works, it magnifies the surface image for the small camera inside. This camera calculates the speed at which the surface moves. You can know how to hack the camera of the mouse here:

http://frenki.net/2013/12/convert-optical-mouse-in...

Step 9: Start Making Drawings on the Processing

First lets create a code on Processing, which lets you draw using the computer.

Download Processing from https://www.processing.org/download/ .

Here is the processing code:

________________________________________________________________________________________

int prevX=mouseX, prevY=mouseY; //to record previous position of mouse pointer

void setup() { size(800, 800);

}

void draw()

{

if ( mousePressed )

{

stroke(0); //gives black color to the line

strokeWeight(20); //thickness of the stroke

smooth(); // smoothens the stroke

line(prevX, prevY, mouseX, mouseY); // a line joining previous mouse coordinates with current mouse coordinates

prevX=mouseX; // we store the mouse x-coordinate so that we can compare with the next mouse coordinate

prevY=mouseY; // we store the mouse y-coordinate so that we can compare with the next mouse coordinate

}

}

__________________________________________________________________________________________

Congrats! you have started drawing using your own software!

Step 10: Processing - Arduino Communication

Download VSync Library for Processing and Arduino. This library helps to send integers across from Processing to Arduino and vice versa.

I have attached the processing code as drawschool.pde

You'll also find the arduino code in drawarduino.ino

Step 11: Power the Servo Motor

We need to supply 5V to the servo motor continuously.

We have two options:

Servo motor has 3 wires: Connect Brown wire to GND pin. Yellow wire to digital pin 4. Red wire to 5V pin. Here, you can connect the servo motor ( attach a small fan to the motor ) to Arduino Uno.

Or

As powering a servo motor through Arduino isn't always a good idea, as the servo motor sucks up a lot of voltage from arduino. As shown in the picture, we can supply 5 Volts to the servo, through external 5V DC Adapter.

Step 12: Ready to Use!

The new lasercut prototype video is here .

To see my previous prototype, see below:

A prototype I made. (This one is without hacking a mouse).

Here, you have the user draw on the laptop with one hand and feel the slope of the drawing by holding an arduino controlled servo motor on the other hand. You can try to draw a circle using this interface, keeping your eyes closed. Check if you can draw closed loops with this interface.

I found this DIY interface not being much helpful making drawing without sight, easy. But, this definitely makes drawing on computer an interesting experience for blind people.

Step 13: Designing 3D Models by Touch?

Imagine if you could make a physical interface which helps you play minecraft ! Or an interface which helps you sculpt 3D models on computer. Do you think we can make a display like that?

I'm trying to hack into CubeCube to make a 3D CAD interface! It's like making 3D objects in computer by using building blocks.

Arduino Contest

Participated in the
Arduino Contest

Full Spectrum Laser Contest

Participated in the
Full Spectrum Laser Contest

Scientific Method Contest

Participated in the
Scientific Method Contest