Electronic – Show numbers on LEDs

digital-logicled

I'm a beginner in EE, so maybe the following question seems obvious to you. I have to design a circuit that gets a number from 0 to 9 via a decimal keyboard, and then show the corresponding number on a 5×5 grid of LEDs. But it's not an ordinary one because it should show the numbers in Farsi (Persian). (I've attached the figures)

Now my question is how to start to design such circuit?
I really appreciate any help you can provide.

Farsi numbers on our grid:

Farsi numbers

Best Answer

I won't give you the finished design, because we don't usually do that here, but I'll give you a few ideas for further research.

If I was to design such circuit, it would have three main components:

  1. a microcontroller
  2. the keypad
  3. a LED matrix

Microcontroller

There may be ways to make what you want without a microcontroller (with LEDs and signal diodes, for example), but using one makes a few things easier. The microcontroller (or MCU - the acronym for Micro Controller Unit) is the brain of your circuit: it will read the key pressed in the keypad and light up the corresponding LEDs. There are a lot of MCUs to choose from, for example: AVR, PIC.

To make things simpler, you can use what we call a development board that brings an MCU ready for use in various projects. These boards makes the MCU input and output pins conveniently available for use as well. Common ones are: the Arduino and MSP430 Launchpad.

Keypad

I'm assuming you'll get a keypad like the one below, or even make your own.

Example of keypad

You'll have to also use your microcontroller to read the keypad. See this answer for more information on how to do it.

LED Matrix

One way to display what you want is to use what is called a LED matrix or array. Below is an schematic diagram I found as an example (from this Instructable).

LED matrix schematic
(source: tinkerlog.com)

Once you read the keypad, you'll know what number to display. Then you have to light up the corresponding LEDs in the matrix. Since we don't usually have enough output pins to light up each LED individually, we usually resort to a technique called multiplexing. The idea is to have the microcontroller light up one row of LEDs at a time.

That's what my solution would look like. There are a few more details to sort out, such as LED power consumption and the power supply. I know it's a lot to digest if you're new to all this. So, why don't you start slow, maybe picking one topic at a time and researching more about it.