I shared the details of my single-color 8X40 LED matrix display board project here a few months ago. Here is a nice instructable on making a 7 Bi-color 8×8 LED Matrix Scrolling Text Display with Bluetooth support; which means you can send messages and commands to the display via Bluetooth using a Smart Phone. The author illustrates using an Android-based phone, but any devices capable of sending text messages via Bluetooth would work.
Bi-color LED matrix with Bluetooth support
The project uses 7 Bi-color 8×8 LED matrices, each controlled by two MAX7219 chips. The beauty of using MAX7219 is they take a lot of work off the micro-controller and simplify the design. Moreover, they can be daisy chained and require only three output pins on the micro-controller for the required SPI-interface. The project is constructed using the Arduino embedded platform. In order to achieve faster speed and better scrolling effect, the author used the chipKit Uno32 board instead of the original Arduino Uno board. A HC-07 Bluetooth module is used for wireless serial communications between the display and the Android Smart Phone.
In Tutorial 3, we learnt how to use chiKIT ADC channels to read an external analog voltage and convert it into a digital number. We also discussed about interfacing a standard Hitachi 44780-based character LCD to the chipKIT Uno32 board in Tutorial 4. Now it’s time to implement the knowledge we have gained so far to make our first practical application using chipKIT, which is a digital thermometer. Since temperature is a non-electrical entity, the first thing we need is a transducer or sensor to convert it into an electrical signal. In this project, we will use the LM34 sensor to do that, which converts the surrounding temperature into an analog electrical voltage. The sensor’s analog output is fed to an ADC channel of the chipKIT Uno32, which then process the signal and displays the temperature on LCD, in both degree Celsius and Fahrenheit scales.
Digital thermometer project
We live in an analog world where most physical variables are analog signals. However, a microcontroller can only process data that is available in digital format. It is precisely for this reason that the analog-to-digital conversion (ADC) is so important in embedded systems that interact with an analog environment. In this tutorial, we will discuss about the ADC capabilities of chipKIT UNO32 board and illustrate how to read an analog input signal from its ADC channels.
The PIC32 processor on the chipKIT Uno32 board provides two hardware serial ports. One of these is used by the on-board FTDI chip to create an USB-UART interface that allows the MPIDE tool running on the PC to communicate with the Uno32 board through an USB port. In this tutorial, we will use the same USB-UART interface to demonstrate a two-way asynchronous serial communication between the Uno32 and the PC. The Uno32 board receives a serial command through the PC’s USB port to turn an external LED on and off. In return, the Uno32 board acknowledges to the PC by sending the new state of the LED.
Controlling an external LED with serial command from PC
The chipKIT Uno32 development board is based on the powerful PIC32MX320F128 microcontroller, which features a 32-bit MIPS processor core running at 80MHz, 128K of flash program memory, and 16K of SRAM data memory. The board can be powered via USB or an external power supply. The on-board USB-UART interface provides a communication path between the board and the MPIDE tool running on the PC. MPIDE stands for Multi-Platform Integrated Development Environment and is a complete tool for developing and downloading embedded applications into the chipKIT Uno32 board. Now let’s explore the chipKIT Uno32 board and its on-board features in more detail.
chipKIT Uno32 board