Beruflich Dokumente
Kultur Dokumente
i
ii
Acknowledgement
First and foremost, we have to thank our research supervisor, Dr. Bassam Harb.
Without his assistance and dedicated involvement in every step throughout the
process, this paper would have never been accomplished. We would like to thank him
very much for his support and understanding during this project.
Most importantly, none of this could have happened without our families, who
offered their encouragement and have been kind and supportive to us. This paper
iii
Abstract
This project is a node MCU based standalone system that makes you control led
dot matrix display remotely over the internet using an android application, it helps the
user to display the text desired on the screen without the need to go physically to the
field and check it personally. This can particularly help if the field is far from where
Either for large areas or small ones, ordinary people or governments who like to
use the led dot matrix display as an advertisement screen saves effort to be fully
committed to the screen , this system is very suitable for all as it's easy to use, and
iv
Table of Contents
Acknowledgements …..………………………………...….…………………...
……..ii
Abstract ……………….…………………………….….....………………….………
iii
Table of Contents …………………………....................
……………………………..iv
Chapter1
Chapter1...........................................................................................................................1
...........................................................................................................................1
Introduction.....................................................................................................................
Introduction.....................................................................................................................1 1
1.1 Project Objective ……….......................................................................................1
…
.2 Project Advantages ………..................................................................................2
1.2 …
.3 Problem Statement ……….................................................................................2
1.3
1.4 Scope of The Work ………....................................................................................3
1.4.1 Hardwar Diagram Overview ………...........................................................3
1.4.2 Software Overview ……….............................................................................4
Chapter2
Chapter2...........................................................................................................................5
...........................................................................................................................5
Hardware Detailing .....................................................................................................5
.....................................................................................................5
2.1 Led Dot Matrix ………............................................................................................5
2.2 ESP8266 NODEMCU ………..................................................................................8
2.2.1 ESP8266 nodeMCU Features ………..........................................................9
2.2.2 ESP8266 nodeMCU pins ………...................................................................9
2.3 Breadboard ………................................................................................................10
Chapter3
Chapter3.........................................................................................................................11
.........................................................................................................................11
Project Design And Coding......................................................................................
Coding......................................................................................11 11
3.1 Project Design ………...........................................................................................11
3.1.1 The Led Dot Matrix Display connection ………...................................11
3.1.2 ESP8266 NodeMCU connection ………..................................................12
3.2 Software And Coding ……….............................................................................12
1 Android application ……….........................................................................12
3.2.1
3.2.2 Arduino Coding ……….......................................................................................13
Chapter4
Chapter4.........................................................................................................................14
.........................................................................................................................14
Conclusions...................................................................................................................
Conclusions...................................................................................................................14 14
4.1 Summary ………....................................................................................................14
4.2 Future Work ………...............................................................................................14
References.........................................................................................................................
References.........................................................................................................................15
15
Appendix...........................................................................................................................16
v
vi
Chapter
Introduction
1
In this chapter, there will be an explanation about the introduction of Wireless
LedDot Matrix Display, which is including the overview, problem statement, and
contact between the buyer and the seller; it’s the medium through which the customer
comes to know of the existence and the utility of the items available in the market. In
modern times, the business world has become very complex with keen competition.
more reliable and suitable for the users, and for a better performance we used the
nodeMCU module to make it work easier by using the a mobile application through
1
1.2 PROJECT ADVANTAGES
There is a reason why we chose the led dot matrix because it’s more effective than the
1) Low price.
2) The quality is average (because the market is super mature, a casual person can
using the internet. So the internet connection is required for the system to be
fully established, and the nodeMCU must be connected to the internet when
As for the dot led matrix it’s known to have a few disadvantages:
We hope that the realization of this project will actually make everyone
everywhere and at all times be able to send and receive orders at the lowest cost,
reasonable rate and more security with the use of the Internet.
2
1.4.1 HARDWHER DIAGRAM OVERVIEW
Figure 1.1 shows that text signals are controlled by data transmitted from the
android app through the Internet to an ESP located inside a memory ESP that reads the
incoming data and then calls to the led dot matrix display.
The system consist of 8 Led dot matrix (8x8), ESP8266 NodeMCU, Jumper
wires (Connecting wires), Breadboard, Micro USB Cable, power supply, android
ARDUINO 1.8.5
3
The open-source Arduino Software (IDE) makes it easy to write code and upload it
to the board. It runs on Windows, and this software can be used with the ESP8266
ANDROID STUDIO
Android Studio the Official IDE for Android provides the fastest tools for
4
Chapter
HARDWARE
DETAILING
2
2.1 LED DOT MATRIX
In our search to improve the versatility of our design, we began to look for
more simplistic ideas that would allow us to have more control over the system. Led
dot matrix with strictly LEDs spaced evenly in rows and columns seemed to be the
most organized, uniform way of presenting the lighting. Due to the low variety of such
products on the market, we decided to order four matrices of 64 dots in order to test a
rough design and learn more about the function and characteristics we will be working
with. The model that was purchased can be seen in the figure 2.1 below.
a desired configuration of LED’s. Wiring up a matrix is very simple – if you have the
8x8 Led Dot Matrix with the following schematic as shown in figure2.2.
5
Figure 2.2: Interfacing of 8x8 Led Dot Matrix
driver, it’s connected to the bar graph display or 64 separate LED. The MAX7219 can
allowing you to adjust the brightness of the LEDs either with hardware or software (or
both). It can refresh the LEDs at around 800 Hz, so no more flickering, uneven LED
displays. The figure2.3 below shows the pin out diagram for the MAX7219 [5].
eight your eyes don’t see the changes. Connect the MAX7219 pins labelled SEG DP,
A~F to the row pins respectively, and the MAX7219 pins labelled DIG 0~7 to the
column pins respectively. A total example circuit with the above matrix is as follows
Figure 2.4: the total circuit for the MAX7219 and the
The circuit is quite straight forward, except we have a resistor between 5V and
MAX7219 pin 18. The MAX7219 is a constant-current LED driver, and the value of
In our project we used kits that contain a MAX7219 and an 8x8 Led Dot
Matrix. These are great for the project and saved us a lot of work and time, and we can
connect multi kits together easily to form a display screen as needed for the project.
7
Figure 2.5: MAX7219 and the 8x8 Led Dot Matrix kit
ability to connect objects and communicate with each other through the Internet,
which means that they are all smart devices such as television, mobile, watches ,
Glasses, alarms, monitors, and other devices that can be connected to each other over
allowing it to either host the application or to offload all Wi-Fi networking functions
8
2.2.1 ESP8266 nodeMCU Features
(5 MAX)
used to send data between microcontrollers and small peripherals such as shift
9
2.3 BREADBOARD
We used 2 BREADBOARD MINI 400 to attach the nodeMCU in them because the
nodeMCU doesn’t fit in one breadboard so we connected 2 breadboards together, and
the figure2.8 shows the BREADBOARD MINI 400.
10
Chapter
ProjectCoding
Design and
3
The Led Dot Matrix Display is constructed by connecting multi 8x8 Led Dot
Matrix kits every single kit has 10 pines 5 on each side as follow: VCC as the supply
voltage, GND is the ground, DIN is the data in , CS is the load and CLK referred to
the clock. Connect the kits together by wires every pinto it’s similar one to the
11
The MAX7219 can make it easier to control the leds, for this project we used a
directly to the led dot matrix display kit pins by the wires and the table below shows
The application is built using the android studio, only one screen is needed we
added 2 plain text inputs, one to enter the text desired to be displayed on the screen
and another text to enter the ip address of the nodeMCU of the established connection
with the internet, and a bottom to send the command to the nodeMCU and figure3.2
12
Figure 3.2: Android application screen
This part was the most challenging part in this project, it took the majority of
programming was a lot familiar to the Arduino boards. First, we programmed the led
dot matrix display using the "MaxMatrix.h" library [10] and displayed the text
scrolled, also, used the ROGMEM function to store every single character data, then
established the connection to the internet and requested to Print the local IP address to
access the server that used to send the text from the application.
13
Chapter
Conclusions
4
4.1 Summary
At the end of this project we were able to send commands through The internet
using the nodeMCU to one display screen, This proves that in the future we will be
able to send and receive any type of data using the internet everywhere beside the led
dot matrix, this opportunity makes the internet of things more reliable and sufficient in
our lives.
In this project we can add more options to the android application, for example
we can add bottoms to control the brightness of the led dot matrix or the speed of the
scrolling text, for areas that require more than one display multi displays can be
connected to one nodeMCU and be controlled by the same android application. And
with more time and resources, this device can be further developed for practical use
14
References
[1] https://www.importantindia.com/15675/short-essay-on-advertisement/
[2] http://ask.okorder.com/questions/advantages-and-disadvantages-of-led-dot-matrix-
display-screen_270266.html
[3] https://www.arduino.cc/en/Main/Software
[4] https://developer.android.com/studio/index.html
[5] http://tronixstuff.com/2013/10/11/tutorial-arduino-max7219-led-display-driver-ic/
[6] https://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf
[7] https://lib.chipdip.ru/414/DOC001414363.pdf
[8] https://mikroelectron.com/Product/ESP8266-NodeMcu-V3
[9] https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi
[10] https://github.com/riyas-org/max7219/blob/master/MaxMatrix/MaxMatrix.h
15
Appendix
Project codes
Arduino code
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include "MaxMatrix.h"
16
4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B
4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C
4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D
4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E
4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F
4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G
4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H
3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I
4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J
4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K
4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L
5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M
5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N
4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O
4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P
4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q
4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R
4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S
5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T
4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U
5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V
5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W
5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X
5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y
4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z
2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [
4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \
backslash
2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ]
3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, //
hat
4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _
2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // `
4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a
4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, // b
4, 8, B00111000, B01000100, B01000100, B00101000, B00000000, // c
4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d
4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e
3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f
4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g
4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, // h
3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i
4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j
4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k
3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l
5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m
4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n
4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o
4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p
4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q
4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r
4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s
3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t
4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u
5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, // v
5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w
17
5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x
4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y
3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z
3, 8, B00001000, B00110110, B01000001, B00000000, B00000000, // {
1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // |
3, 8, B01000001, B00110110, B00001000, B00000000, B00000000, // }
4, 8, B00001000, B00000100, B00001000, B00000100, B00000000, // ~
};
byte buffer[10];
void setup() {
m.init(); // module MAX7219
m.setIntensity(5); // LED Intensity 0-15
Serial.begin(115200);
WiFi.begin("Umniah Mobile WiFi", "66823460"); //Connect to the
WiFi network
void loop() {
byte c;
delay(100);
m.shiftLeft(false, true);
printStringWithShift(S, 100); // Send scrolling Text
18
void handleGenericArgs() { //Handler
void handleSpecificArg() {
Serial.println(S);
byte c;
delay(100);
m.shiftLeft(false, true);
printStringWithShift(S, 100); // Send scrolling Text
19
m.setColumn(maxInUse * 8 + buffer[0], 0);
20