Microcontroller based braille keypad for blind persons

By | January 18, 2016

Abstract:

This project is embedded system that allows the blind person to write the contents. The text is entered based on the ASCII values of each character. This system uses a matrix keypad and the UART for serial communication with the PC.

 The Parts

This system makes use of a matrix keypad (4 X 4). The keys are numbered from 0 to 9 arranged in the form of rows and columns. The text is entered based on the ASCII values of each character. The ASCII values entered on the keypad are in the decimal format.

For example:

To enter a letter ‘A’, the keys 0, 6 and 5 are to be typed which corresponds to the decimal ASCII value of letter ‘A’.

Below gives the ASCII value chart for the characters.

ascii

Table: ASCII character- value chart

The characters typed on the keypad are transferred to PC through serial communication using RS232.

Hardware Block Diagram:

braille

Fig: Block diagram of Braille keypad

The keys on the keypad are scanned in the form of rows and columns. When no keys are pressed, all the keys will be in logic high.  When a key is pressed, the corresponding row and column becomes low.

For example:

When key 9 is pressed, columns 2 row 3 becomes low (logic 0).

This is shown in the table for each number pressed.

R1 = Row 1 and so on

C1 = Column 1 and so on

 

Column/Row C1 C2 C3 C4 R1 R2 R3
Number
0 0 1 1 1 0 1 1
1 1 0 1 1 0 1 1
2 1 1 0 1 0 1 1
3 1 1 1 0 0 1 1
4 0 1 1 1 1 0 1
5 1 0 1 1 1 0 1
6 1 1 0 1 1 0 1
7 1 1 1 0 1 0 1
8 0 1 1 1 1 1 0
9 1 0 1 1 1 1 0

 Table: Keypad logic when a key pressed

Components used:

8051 Microcontroller: AT89C51

(8-bit 80C51 5V low power 64 kB Flash microcontroller with 1 kB RAM)

8051 microcontroller is used to build this system.

The 8051 architecture provides many functions (CPU, RAM, ROM, I/O, interrupt logic, timer, etc.) in a single package

  • 4K Bytes of In-System Reprogrammable Flash Memory
  • Endurance: 1,000 Write/Erase Cycles
    • 5V Operating voltage, 40-pin DIP
  • Fully Static Operation: 0 Hz to 24 MHz
  • Three-Level Program Memory Lock
  • 128 x 8-Bit Internal RAM
  • 32 Programmable I/O Lines
  • Two 16-Bit Timer/Counters
  • Six Interrupt Sources
    • Programmable Serial Channel Using UART makes it simpler to interface for serial communication
    • 8 – bit ALU (Arithmetic Logic Unit)
    • Harvard Memory Architecture – It has 16 bit Address bus (each of RAM and ROM) and 8 bit Data Bus
    • Executes one million one-cycle instructions per second with a clock frequency of 12MHz
  • Low Power Idle and Power Down Modes

 

Programming Language: Embedded C, Keil µvision compiler

 

Leave a Reply