Braille Language Using Arduino

This article will help you in writing the code for your Arduino, using which you can apply the sequence of the alphabet that can be easily read by blind people. This language is called Braille language. Here, there will be six dots, which will be touched and felt by the blind. For all the 26 alphabet letters in English, we have 26 different pattern types. These patterns can be formed with the help of just six pins in Arduino. Before we get into this, let me explain a bit more about this language.

Braille language

As per Wiki "Braille is a tactile writing system used by people who are blind or visually impaired. It is traditionally written with embossed paper. Braille-users can read computer screens and other electronic supports thanks to refreshable braille displays. They can write braille with the original slate and stylus or type it on a braille writer, such as a portable braille note-taker, or on a computer that prints with a braille embosser. The pattern for each alphabet for this language is shown in the image below."

  1. Solenoid Actuator – X6 nos
  2. Jumping wires
  3. Relay – X6 nos
  4. Arduino

Writing code

We are going to use the pin numbers 2,3,4,7,12,13. Each pin will be connected to the positive end of the solenoid actuator. The code which we are going to write now is based on the conceptual pattern of Braille language. Here, we will be using six pins and one ground pin. For every different pattern, we will be using a different format of the coding. Have a look at the image below to learn about the patterns of the language. Look at the pattern of the letter A. To make the pattern work out, you need to make pin 2 high and the rest of the pins, namely 3,4,7,12, and 13, LOW. I have shown the image of the pattern, naming and pin numbers for the pattern.

Have a look at the code given below. Just copy and paste the code in Arduino IDE to get the same output for the Braille concept. In the code given below, I have written only for three alphabets. You just alter the code for the rest of the alphabets and numbers.
  1. char data;  
  2. void setup() {  
  3.     pinMode(2, OUTPUT);  
  4.     pinMode(3, OUTPUT);  
  5.     pinMode(4, OUTPUT);  
  6.     pinMode(7, OUTPUT);  
  7.     pinMode(12, OUTPUT);  
  8.     pinMode(13, OUTPUT);  
  9.     Serial.begin(9600);  
  10. }  
  11. void loop() {  
  12.     data =; {  
  13.         //for letter A  
  14.         digitalWrite(2, HIGH);  
  15.         analogWrite(3, -255);  
  16.         digitalWrite(4, LOW);  
  17.         digitalWrite(7, LOW);  
  18.         digitalWrite(12, LOW);  
  19.         digitalWrite(13, LOW);  
  20.         delay(1000);  
  21.         digitalWrite(2, LOW);  
  22.         analogWrite(3, -255);  
  23.         digitalWrite(4, LOW);  
  24.         digitalWrite(7, LOW);  
  25.         digitalWrite(12, LOW);  
  26.         digitalWrite(13, LOW);  
  27.         //for letter b  
  28.         digitalWrite(2, HIGH);  
  29.         analogWrite(3, 255);  
  30.         digitalWrite(4, LOW);  
  31.         digitalWrite(7, LOW);  
  32.         digitalWrite(12, LOW);  
  33.         digitalWrite(13, LOW);  
  34.         delay(1000);  
  35.         digitalWrite(2, LOW);  
  36.         analogWrite(3, -255);  
  37.         digitalWrite(4, LOW);  
  38.         digitalWrite(7, LOW);  
  39.         digitalWrite(12, LOW);  
  40.         digitalWrite(13, LOW);  
  41.         //for letter c  
  42.         digitalWrite(2, HIGH);  
  43.         analogWrite(3, -255);  
  44.         digitalWrite(4, LOW);  
  45.         digitalWrite(7, HIGH);  
  46.         digitalWrite(12, LOW);  
  47.         digitalWrite(13, LOW);  
  48.         delay(1000);  
  49.         digitalWrite(2, LOW);  
  50.         analogWrite(3, -255);  
  51.         digitalWrite(4, LOW);  
  52.         digitalWrite(7, LOW);  
  53.         digitalWrite(12, LOW);  
  54.         digitalWrite(13, LOW);  
  55.         //the same way use all the 26 patterns and control the pins to get braille patterns for all the 26 letters.  
  56.     }  
  57. }  

Connecting the Arduino

Now, it is time to connect your Arduino with the Solenoid Actuator with the help of the breadboard along with the relay. I will simply explain the concept of connecting Solenoid Actuator to Raspberry Pi without the relay. It is a must to connect the relay with Solenoid Actuator to get an efficient output. Connect the pins, as shown in the images given below.


Once you finish the connection, connect the device to the power supply and the program will start executing. Since we have written the code of the alphabets in the sequence with a small delay, the alphabets will be executed at an interval of 1 second until the letter Z. Hope this will help you in creating an IOT based Braille language app. Comment below, if you find any difficulties in executing this.

Thanks for reading.

Up Next
    Ebook Download
    View all
    View all