Be it the long stretched highways or your doctors front door, we have sign boards placed everywhere to provide us information. But these sign boards are often boring and cannot be configured as per our interest from time to time. So in this project we are going to build a Bluetooth controlled Sign board using an 8*8 Matrix display. A unique feature of this project is its android application which allows the user to control all the 64 LEDs individually from the mobile phone. This enables the user to create custom designs with ease and display it on the LED display, sounds interesting right?!! So let’s get started…
- Arduino Pro mini
- HC-05 Bluetooth Module
- 8*8 LED Matrix Display
- 20k Resistor
- DC Barrel Jack
The circuit Diagram this Bluetooth controlled LED board built using the EasyEDA application. We will use the same schematics to develop a PCB from it and fabricate it using EasyEDA.
The circuit is pretty straight forward. The whole project is powered by a 12V adapter, which is directly given to the Raw pin of the Arduino Board. This Raw voltage is then regulated to +5V which is supplied to the Bluetooth module and the MAX7219 IC. The Tx and Rx pins of the Bluetooth module is connected to D11 and D10 of the Arduino to enable serial connection.
The digital pins D5 to D7 is connected to the MAX7219 IC to send and receive data through SPI communication. The ISET pin of MAX7219 is pulled high through a 20k Resistor.
For this project I have fabricated a PCB, you can get the design file of the PCB and use the same or build the circuit on a breadboard. However due to the its complexity it is recommended to either buy a 8×8 Display module or use the PCB
8×8 matrix is very useful display module and can be used in many cool projects:
- Controlling 8×8 LED Matrix with Raspberry Pi
- Scrolling Text Display on 8×8 LED Matrix using Arduino
- 8×8 LED Matrix using Arduino
- 8×8 LED Matrix Interfacing with AVR Microcontroller
Creating the Android Application using Processing:
Before we can start programming our Arduino, we should know what type of data we will receive form the mobile phone to respond back to it. So let’s take a look at how the Android application is created and how you can use it on your smartphone to control the 8×8 LED matrix.
The Android application for this project was created using the Processing software. It is an Open-Source development application and can be easily downloaded and put to use for developing interesting projects using Arduino or other Microcontrollers since it can develop android application and system applications. We have already done few projects using Processing and you can check them out by clicking on the links below.
- DIY FM Radio Using Processing
- Virtual Reality/ Gesture control using Arduino
- Private Chat room using Arduino.
- Arduino Radar System using Processing APP and Ultrasonic Sensor
- Real Time Face Detection and Tracking using Arduino
- DIY Speedometer using Arduino and Processing
- Ping Pong Game using Arduino Accelerometer
- Biped Robot Using Arduino
- DIY Arduino Thermal Imaging Camera
Getting back to topic, it is impossible for me explain the complete code of the android application so you would have to learn processing by yourself and then look at the code to understand how it works. Hence for people who are willing to skip the process of learning Processing can download the android application from the below link
Below is the interface of our Android Application:
The APK file can be directly installed on any android application and launched like any other application. But make sure your HC-05 Bluetooth device is named as “HC-05”, because only then it will work.
Understanding the Processing Code:
People who are interested to know what happens behind the screen can read further, other can skip down to the next heading. Basically the Android application connects to a Bluetooth device called “HC-05” during start-up and display a set of 64 LEDs in form of circles. Then when the user presses the circle the circle turns red and the circle number is sent to Arduino through Bluetooth, on receiving the circle’s number the Arduino turns on the LED. Let’s look into the important lines of the Processing program to understand better. The complete code of the Android application can be downloaded from the below link.
We use classes and objects to display 64 LEDs so that we can address each one easily. As you can see in the below code, we use a for loop to iterate from 1 to 64 using an array. This was each LED will have its own value of X position, Y position and colour and we can change them easily.