BRAILLE PRINTER

by Tezeusz in Circuits > Gadgets

5721 Views, 32 Favorites, 0 Comments

BRAILLE PRINTER

14800013_1855854004645583_1396908044_o.jpg

Braille printer or braille embosser (is the same thing), do the same thing as a regular printer, but it prints for blind people. Braille is named after its creator, Frenchman Louis Braille, who lost his eyesight due to a childhood accident.

A full Braille cell includes six raised dots arranged in two lateral rows each having three dots. The dot positions are identified by numbers from one through six. 64 solutions are possible from using one or more dots. A single cell can be used to represent an alphabet letter, number, punctuation mark, or even an entire word.

Documentation

Braille printer or braille embosser (is the same thing), do the same thing as a regular printer, but it prints for blind people. Braille is named after its creator, Frenchman Louis Braille, who lost his eyesight due to a childhood accident.

First thing I do was to study the alphabet, so I start to research

A full Braille cell includes six raised dots arranged in two lateral rows each having three dots. The dot positions are identified by numbers from one through six. 64 solutions are possible from using one or more dots. A single cell can be used to represent an alphabet letter, number, punctuation mark, or even an entire word.

Part List

14800013_1855854004645583_1396908044_o.jpg

Some parts is reused form old compuer and printer

  • 2x Driver
  • 1x Servo
  • 1x Arduino
  • 1x old cd reader
  • 1x wheel
  • 1x stepper from old pregular printer
  • some wires
  • glue and motivation, don't forget about motivation!

How It Works

14725199_1855853944645589_330610829_o.jpg
14799872_1855853954645588_1431295195_o.jpg
14800288_1855853977978919_896279632_o.jpg

The wheel is actioned by stepper motor (X axis) and it drag the paper in. The Y-Axis is made from old CD reader, on top is the servo which will empos the paper.

Arduino Software

#include

#include

int in1Pin = 12; int in2Pin = 11; int in3Pin = 10; int in4Pin = 9;

int in5Pin = 8; int in6Pin = 7; int in7Pin = 6; int in8Pin = 5;

#define STEPS 24 #define STEPS2 56 Servo myservo; Stepper motor(STEPS, in1Pin, in2Pin, in3Pin, in4Pin); Stepper mfoaie(STEPS2, in5Pin, in6Pin, in7Pin, in8Pin);

void m1 () { int steps = Serial.parseInt(); motor.step(steps); }

void m2 () { int steps2 = Serial.parseInt(); mfoaie.step(steps2); }

void servo() { myservo.write(1); delay(200); myservo.write(30); delay(200); }

void litera(char l){ if (l == ']'){mfoaie.step(2);} if (l == ';'){mfoaie.step(1);} if (l == 'A'){servo(); mfoaie.step(5);} if (l == 'B'){ servo(); motor.step(39); servo(); motor.step(-39); mfoaie.step(2);mfoaie.step(3); } if (l == 'C'){servo(); mfoaie.step(2);servo();mfoaie.step(3);} if (l == 'D'){servo(); mfoaie.step(2);servo();motor.step(39);servo();motor.step(-39);mfoaie.step(3);} if (l == 'E'){servo(); mfoaie.step(2);motor.step(39);servo();motor.step(-39);mfoaie.step(3);} if (l == 'F'){servo();motor.step(39);servo();motor.step(-39);mfoaie.step(2);servo();mfoaie.step(3);} if (l == 'G'){servo();motor.step(39);servo();mfoaie.step(2);servo();motor.step(-39);servo();mfoaie.step(3);} if (l == 'H'){servo();motor.step(39);servo();mfoaie.step(2);servo();motor.step(-39);mfoaie.step(3);} if (l == 'I'){ motor.step(39); servo(); motor.step(-39); mfoaie.step(2);servo();mfoaie.step(3);} if (l == 'J'){motor.step(39);servo();mfoaie.step(2);servo();motor.step(-39);servo();mfoaie.step(3);} if (l == 'K'){servo();motor.step(69);servo();motor.step(-69);mfoaie.step(5);} if (l == 'L'){servo();motor.step(39);servo();motor.step(30);servo();motor.step(-69);mfoaie.step(5);} if (l == 'M'){servo();motor.step(69);servo();motor.step(-69);servo();mfoaie.step(2);servo();mfoaie.step(3);} if (l == 'N'){servo();motor.step(69);servo();motor.step(-69);servo();mfoaie.step(2);servo();motor.step(39);servo();motor.step(-39);mfoaie.step(3);} if (l == 'O'){servo();motor.step(69);servo();motor.step(-69);servo();mfoaie.step(2);motor.step(39);servo();motor.step(-39);mfoaie.step(3);} if (l == 'P'){servo();motor.step(39);servo();motor.step(30);servo();motor.step(-69);mfoaie.step(2);servo();mfoaie.step(3);} if (l == 'Q'){servo();motor.step(39);servo();motor.step(30);servo();motor.step(-30);mfoaie.step(2);servo();motor.step(-39);servo();mfoaie.step(3);} if (l == 'R'){servo();motor.step(39);servo();motor.step(30);servo();motor.step(-30);mfoaie.step(2);servo();motor.step(-39);mfoaie.step(3);} if (l == 'S'){motor.step(39);servo();motor.step(30);servo();motor.step(-69);mfoaie.step(2);servo();mfoaie.step(3);} if (l == 'T'){motor.step(39);servo();motor.step(30);servo();motor.step(-30);mfoaie.step(2);servo();motor.step(-39);servo();mfoaie.step(3);} if (l == 'U'){servo();motor.step(69);servo();mfoaie.step(2);servo();motor.step(-69);mfoaie.step(3);} if (l == 'V'){servo();motor.step(39);servo();motor.step(30);servo();mfoaie.step(2);servo();motor.step(-69);mfoaie.step(3);} if (l == 'W'){motor.step(39);servo();motor.step(30);mfoaie.step(2);servo();motor.step(-30);servo();motor.step(-39);servo();mfoaie.step(3);} if (l == 'X'){servo();motor.step(69);servo();mfoaie.step(2);servo();motor.step(-69);mfoaie.step(3);} if (l == 'Y'){servo();motor.step(69);servo();mfoaie.step(2);servo();motor.step(-30);servo();motor.step(-39);servo();mfoaie.step(3);} if (l == 'Z'){servo();motor.step(69);servo();mfoaie.step(2);servo();motor.step(-30);servo();motor.step(-39);mfoaie.step(3);} }

//steps depend of what kind of stepper you use and the distance between holes. see pic.

void setup() { // initialize serial communication: Serial.begin(9600); pinMode(in1Pin, OUTPUT); pinMode(in2Pin, OUTPUT); pinMode(in3Pin, OUTPUT); pinMode(in4Pin, OUTPUT); pinMode(in5Pin, OUTPUT); pinMode(in6Pin, OUTPUT); pinMode(in7Pin, OUTPUT); pinMode(in8Pin, OUTPUT); Serial.begin(9600); myservo.attach(4); myservo.write(40); motor.setSpeed(100); mfoaie.setSpeed(50); // delay(10000); }

void loop() { // read the sensor: if (Serial.available() > 0) { char inByte = Serial.read(); litera(inByte);

}}

Attention

This project is for overview. I will try to make another one with detailed steps. This project was made in one day.]

THANKS! :)