Background and Motivation Our Proposed Solution Block Diagram Required Equipments System Implementation Algorithm Detailed Pin Diagram Problems Faced Group Members Information Course Teacher Project Video
Background and Motivation
Our Proposed Solution
Detailed Pin Diagram
Group Members Information
Signage display, which is used to convey messages and information to the people, has evolved from conventional to the digital signage. Conventional signage has been utilized using printed papers or handwritten, whereas digital signage normally used in industries such as food and beverage industries, shopping malls, universities, and also highways to show information and messages. Normally, all the displays are linked to a control system whereby update process can be done. In other words, displays update can only be done in one place only. Therefore, to ease the job for people, updates should be able to carry out anywhere not necessary at one place.
In order to display the information, we use LED Dot Matrix Displays due to the low energy consumption, low maintenance and high efficiency, compared to the other displays. However, the power hungriness of a dot matrix display is higher than any other components of an electronic device, which leads us to look for an way to make it energy efficient. We green it by varying duty cycle.
On the other hand, we use an ultra-low cost IoT system named as ESP8266 in order to update the display contents. This wifi module allow us to control our display from anywhere, even if we are on the other side of the globe. An authorized user can quickly access the system and update the information to the display through Internet using simple web browser without any client-side application software. Additionally, our system can work without Internet or router.
Figure 1: Block Diagram
USB to TTL converter
BiColor LED Dot Matrix Display (8x8)
Shift Register (74HC595)
Darlington Transistor Arrays (ULN 2803)
Resistor (330 ohm)
Capacitor (22 pF)
Jumper wires, etc.
Our system consists of three modules namely Display Module, Network Module, and Power Module. The function of the display module is to show any given message with the help of 8*8 Bi-color LED Dot Matrix Display comprised of total 8 LED Dot Matrices arranged in 2x4 (16x32 pixel) setup. The network module consists of ESP8266 Wifi Module. The message is given from the Remote Central Server situated anywhere. As soon as the message is changed from the central server, the display module shows the changed message instantly. We can also update the contents via WLAN created by router, or hotspot of this Wifi module. The power module supplies the required power to the system. Now, we briefly explain the operation of network and display modules individually and how they collaborate.
The ESP8266 is a low-cost Wi-Fi chip with full TCP/IP stack and MCU (Micro Controller Unit) capability. ESP8266 is capable of either hosting an application or offloading all Wi-Fi networking functions from another application processor. In the world of internet of things(IoT), 8266 is widely used device. The onboard microcontroller of ESP8266 supports the programming framework for arduino boards. Hence, we are able to write codes for the network module with the familiarity of arduino. This wifi module requires a 3.3 volt power supply. It uses the TX, RX to perform serial communication with other components. It has two general purpose pins, namely GPIO pins.
By programming the 8266, we can connect it to a wifi access point(for example, a router, or a wifi hotspot) , by doing this the 8266 module acquires a local IP of the LAN and it can be communicated with, using that IP.
USART was used to establish serial communication between ESP module and the ATMEGA32 associated with the display module, in this way, the remote data received in the ESP module is sent to the display module’s microcontroller. For serial communication, we used a baud rate of 9600 bits per second. When a message is received in the ESP module, an interrupt is given to the ATMEGA32 via the GPIO2 pin, upon receiving the interrupt, the associated ISR fires up and loads received data to an array byte by byte until a sentinel data byte is received.
Our display module has three ways of updating display. We can update the contents from central remote server, from inbuilt local server, and by creating hotspot.
In a dot matrix display, multiple LEDs are wired together in rows and columns. This is done to minimize the number of pins required to drive them. For example, a 8×8 matrix of LEDs (shown below) would need 64 I/O pins, one for each LED pixel. By wiring all the anodes together in rows (R1 through R8), and cathodes in columns (C1 through C8), the required number of I/O pins is reduced to 16. Each LED is addressed by its row and column number. In the figure below, if R4 is pulled high and C3 is pulled low, the LED in fourth row and third column will be turned on. Characters can be displayed by fast scanning of either rows or columns.
In order to display a character or shape on a matrix display, the character is fragmented into several frames such that, by playing/blending these frames sequentially at a speed, faster than that human brain can perceive, the character appears to be displayed continuously (Persistence Of Vision). This is similar to ‘GIF format’. Fragmentation can be done along the column or along the row. Consider a Column Anode/Row Cathode matrix display, to display a character alphabet 'A', this character can be fragmented into columns to get frames, as shown in the images below:
To make our displays robust and cheap, we use shift registers instead of traditional MUX and dot matrix driver circuit. To meet up power hungriness of dot matrices, we use external power module and darlington transistor arrays.
There are two different algorithms, one running on the display module microcontroller, and the second one running on the network module on chip microcontroller.
Figure 2: Pin Diagram
We had assumed that the DNS lookup is done automatically in the ESP8266 module, which was incorrect, and we spent quite a long time before we figured out that 8266, being a basic wifi based networking module, does not have DNS lookup feature, so we had to use static IP to reach our remote server.
When merging both the local server and the remote server, we observed that, a client was being added to the local server automatically, which was unexpected, it took us time to figure out how to fix that.
When sending messages from the local server, some special characters like space, %, etc breaks down into formats that are directly not interpreted by the ESP-module the way we want them to be, for these special characters, we had to adopt different parsing schemes.
We faced some problems while figuring out the best baud rate, system frequency combination, after a bit of analysis, we choose 19200 baud rate and 16MHZ system frequency for USART operations. The most diffiult problem we had to solve is to manage the data received through the GPS receiver. It receives a lot of data in a very short interval and it was difficult to sort out only the necessary attributes in a very short time.
We faced low illuminance problem in dot matrix displays. We solved it by supplying more current using power module
Section B2: Group 6
Tarik Reza Toha (1205082)
Md. Abdullah Al Alamin (1205084)
Amit Chakraborty (1205086)
Md. Abdullah Al Maruf (1205090)
Md. Hasanul Islam (1205096)
Salman Estyak (1105094)
Md. Abdus Sattar
Md. Aashikur Rahman Azim
Md. Iftekharul Islam Sakib
Back to top