Vous êtes sur la page 1sur 14

DIGITAL SYSTEM

MINI PROJECT (REPORT)


DJM3063
LED ANNOUNCEMENT DISPLAY

NAME: ARWIND RAJ A/L


BALACHANTHAR
(15DEM14F1006)
VIVAINDRAN CHETTIAR A/L
KATHIRAVEL CHETTIAR
(15DEM14F1014)
NUR DIYANAH KHAIRUNNISA BT
RAZMAN
(15DEM14F1021)
NOOR ASLIN BT MOHD ZULKIFLI
(15DEM14F1033)
ABDUL NUR HADI BIN SARMAN
(15DEM14F1043)
CLASS: DEM 3A
LECTURER: PN NOR AFIFAH BINTI MOHD
RAMZI
CONTENTS

NO. GUIDELINE
1 INTRODUCTION
2 ABSTRACT
3 OBJECTIVE
4 HISTORY
5 COMPONENT USED
6 CIRCUIT DIAGRAM AND ANALYSIS
7 PROBLEM STATEMENT
8 DISCUSSION
9 SUGGESTION
10 CONCLUSION
INTRODUCTION

This mini project-1 of the Digital System is to understand the concept of


digital binary numbers function in a simple circuit. This project is all
about a LED Display Board which is used to put as announcement board
and so on.

The function of this display board is to display the commanded


wordings in a 7-segments.This makes the public to ease their burden
rather than just put an attention card to send the message. For an
example, in shops normally majority using a normal card to show the
shop is “OPEN” or “CLOSE”.

As this board is more effective and bright to observe from far.


Furthermore it attracts the public. More over compared to the card or
the reflector used in highways as a sign board, this Led Display board is
more effective because it won’t get spoilt very fast and long term usage.

As this type of board can be easily get from the market where it is done
by using Programmable board. But our project is done using Intergrated
Circuits (IC)-flip flop.

ABSTRACT

This mini project of Digital System is to understand the concept of


digital binary numbers function in a simple circuit. This project is all
about a LED Display which is used to put as announcement board. This
project operates by using Integrated Circuit(IC), Arduino, 7-segment.
This may help the users to know the basic need in making an LED
display.
OBJECTIVE
 The objective of this project is to display instruction using
7-segment.
 To study on how to make a circuit function using
programmable algorithms.
 To study on the data sheet of each components.
HISTORY OF PROJECT
The LED moving font is built up of separate modules consisting of 64 LEDs each
(8x8 matrix). The modules can be cascaded according to the desired size of the
font. Each module is controlled by the LED display driver MAX7219 (or
MAX7221) which can drive 64 LEDs. The display data is transferred serially to
this display driver via the pins DIN, CLK and LOAD. The pin DOUT can be
connected to the input DIN of the following display driver, all CLK and all LOAD
pins are connected together. The datasheet is available on Maxim's homepage.
The modules are controlled by an 8051-compatible microcontroller AT89C5 1
(LED moving font controller variant I) or AT89C205 1 (LED moving font
controller variant 2) from Atmel which provide 4 kB or 2kB flash memory on-
chip. The LED display driver MAX 7219 CNG is available from Reichelt or Segor,
a free sample can be ordered on the homepage of Maxim. The LED display
driver is mounted together with a LED module (8x8 matrixes) on the LED
module PCB. .he display text is stored in an EEPROM. The text can be
downloaded via a serial RS232 connection from a PC. From the PC a text file
containing the text is sent. The baud rate can also be set to 600 Baud (via
additional jumper), because some PCs have problems with hardware
handshaking, which would be necessary at 1200 or 9600 Baud download
speed. Dependent on the storage size of the EEPROM up to 2045 characters
can be stored. It is also possible to store the text in the flash ROM of the
microcontroller. But then it is necessary to reassemble the program code if the
text is changed and to reprogram the flash ROM. If an EEPROM is used,
changes of the text can be done easily via serial downloading. A maximum of
11 LED modules (each module consisting of 8x8 LEDs) can be used. The moving
font is already working with 1 module.
COMPONENT USED

 Arduino nano
 IC – SAA1064
 Resistor – 4.7kΩ
 Transistor – NPN (BC337)
 Capacitor – 2.2µf
 7-Segment
 Arduino jumper wire

CIRCUIT DIAGRAM AND ANALYSIS


ARDUINO CODE:-
* The 'COOL SAA1064 LIB'.
*
* An arduino library driving the NXP SAA1064 IC in a comfortable way.
*
* SAA1064 saa1064;
* saa1064.scrollCooLSAA1064( );
*
* author: Christian Scheiblich
* email: cscheiblich@gmail.com
* license: MIT
* created: 15.02.2014
* edited: 01.01.2014
* version: 0.94
*/
#include <Wire.h> // for some strange reasons, Wire.h must be included
here
#include <cool_SAA1064.h> // enable I2C bus
SAA1064 saa1064;
void setup( ) {
saa1064.setTest( );

delay( 1000 );
saa1064.setDynamic( );

delay( 1000 );
saa1064.clear( );
delay( 1000 );

} // setup
void loop( ) {

saa1064.setDynamic( );

saa1064.setDark( ); // set output currents to 3 mA

for( int i = 0; i < 3; i++ ) {

saa1064.sayCooL( ); // say CooL


delay( 750 );
saa1064.say( -1, 5, 10, 10 ); // say _SAA
delay( 750 );
saa1064.say( 1064 ); // say 1064
delay( 750 );

saa1064.saySmiley( ); // say a smiley


delay( 750 );

if( i == 0 )
saa1064.setNormal( ); // set output currents to 12 mA

if( i == 1 )
saa1064.setBright( ); // set output currents to 21 mA

} // i

// scroll: 'Cool SAA1064 8-]' from right to left by 250 ms per step
saa1064.scrollCooLSAA1064( );

saa1064.sayOooh( );
delay( 1000 );

saa1064.sayUuuh( );
delay( 1000 );

saa1064.sayAAAh( );
delay( 1000 );

saa1064.sayHAhA( );
delay( 1000 );

saa1064.sayJAJA( );
delay( 1000 );
saa1064.sayFoo( );
delay( 1000 );

saa1064.saybAr( );
delay( 1000 );

saa1064.say( 815 );
delay( 1000 );
saa1064.clear( );
delay( 1000 );

saa1064.sayByZero( 815 );
delay( 1000 );
saa1064.clear( );
delay( 1000 );

saa1064.say( 0,8,1,5 );
delay( 1000 );
saa1064.clear( );
delay( 1000 );

saa1064.sayTime( 8, 5 );
delay( 1000 );

saa1064.sayTime( 8, 15 );
delay( 1000 );

saa1064.sayTime( 18, 15 );
delay( 1000 );

saa1064.sayDate( 24, 01 );
delay( 1000 );

saa1064.sayDateUS( 01, 24 );
delay( 1000 );

saa1064.sayYear( 14 );
delay( 1000 );
saa1064.sayYear( 2014 );
delay( 1000 );

saa1064.scrollTime( 18, 15, 00, 250 ); // right to left by 250 ms per step

saa1064.scrollDate( 24, 1, 2014, 250 ); // right to left by 250 ms per step

saa1064.say( 5 );
delay( 1000 );
saa1064.say( 15 );
delay( 1000 );
saa1064.say( 815 );
delay( 1000 );
saa1064.say( 2815 );
delay( 1000 );

saa1064.sayByZero( 5 );
delay( 1000 );
saa1064.sayByZero( 15 );
delay( 1000 );
saa1064.sayByZero( 815 );
delay( 1000 );
saa1064.sayByZero( 2815 );
delay( 1000 );

saa1064.clear( );
saa1064.say( 1, 0 ); // show 1 on 1st digit
delay( 1000 );
saa1064.clear( );
saa1064.say( 2, 1 ); // show 2 on 2nd digit
delay( 1000 );
saa1064.clear( );
saa1064.say( 3, 2 ); // show 3 on 3rd digit
delay( 1000 );
saa1064.clear( );
saa1064.say( 4, 3 ); // show 4 on 4th digit
delay( 1000 );

// use it as an amplitude in levels from 0 to 7


for( int i = 0; i < 8; i++ ) {
saa1064.amplitude( i );
delay( 125 );
}
for( int i = 7; i >= 3; i-- ) {
saa1064.amplitude( i );
delay( 125 );
}
for( int i = 3; i < 6; i++ ) {
saa1064.amplitude( i );
delay( 125 );
}
for( int i = 5; i >= 0; i-- ) {
saa1064.amplitude( i );
delay( 125 );
}

saa1064.say( 8888 );
for( int i = 1; i < 8; i++ ) {
saa1064.setIntensity( i );
delay( 250 );
} // i
for( int i = 7; i > 0; i-- ) {
saa1064.setIntensity( i );
delay( 250 );
} // i
saa1064.setBright( );

saa1064.sayArrDigits( ); // say all store digits


delay( 1000 );

saa1064.byteAll( );
delay( 1000 );

for( int i = 0; i < 10000; i++ ) {

saa1064.say( i );
delay( 10 );

} // i

saa1064.clear( );
delay( 1000 );

} // loop
PROBLEM STATEMENT
While doing this project there were some problem that we have
faced. Firstly, it was hard to decide the project that we were
going to do as it was to hard for us to plan. Then we decided
what we were going to do and didn’t know what were the
items that we had to use for the project.

After finding out all the items, it was hard for us to find n buy
the item, especially the ‘IC’. Components have been fixed to the
circuit, and it work, but there is abit error in the circuit. It has
taken us a lot of energy and time to do this project
DISCUSSION

 ARDUINO
-As its name, arduino nano is a compact and breadboard-
friendly version board based on ATmega328 processor. It
is more or less same functionality as the arduino UNO but
in different package. Instead of using the standard USB to
connect the computer, it usesthe mini USB but without the
power plug for external power source that built on
arduino UNO.

 IC(SAA1064)
-The LED-driver is a bipolar integrated circuit made in an
I2L compatible 18 volts process. The circuit is especially
designed to drive four 7-segment LED displays with
decimal point by means of multiplexing between two
pairsof digits. It features an I2C-Bus slave transceiver
interfacewith the possibility to program four different
SLAVE, ADDRESSES, a POWER RESET flag, 16 current
sink, OUTPUTS, controllable by software up to 21 mA,
two multiplex drive outputs for common anode segments,
an on-chip multiplex oscillator, control bits to select static,
dynamic and blank mode, and one bit for segment test.

 7-SEGMENT
-To see whether our 5-3-2-1 counter is working
correctly we connect it to a 7-segment display. This
display is composed of an array of 7 LEDs (Light
Emitting Diodes). Now we should design a
controller that connects the outputs of the counter
to the 7-segment display in such a way that the
actual numbers are displayed. A segment is on
when it is triggered with a logical 0. An
unrecognized input (a signal representing none of
the numbers from 0 to 9) should cause the
controller to turn all segments on.

SUGGESTION
We suggest that this project should be done in a good way, and
we have to do more practice in making a complete circuit
without doing many errors. A complete circuit can make us
know more about the components and will be easier when we
start to work, as at the working place we already know what
we have to do and not stand there blank without knowing
anything.

CONCLUSION
Hardware development is very important towards the success
of integrating both software and hardware. There many types
of LED display that can be found on the market. Therefore, the
application program is debugged and modified to ensure that it
runs accordingly to the program algorithm.

Vous aimerez peut-être aussi