LED Matrix Scrolling using ATmega32 microcontroller

Similar documents
TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Figure 1.1: Some embedded device. In this course we shall learn microcontroller and FPGA based embedded system.

INDUSTRIAL TRAINING:6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

Microprocessors And Microcontrollers (Practical)

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab

AVR Microcontrollers Architecture

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

5x7 LED Matrix Display with Z8 Encore! XP

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

AVR Training Board-I. VLSI Design Lab., Konkuk Univ. LSI Design Lab

Lab 1 Introduction to Microcontroller

MICROPROCESSOR BASED SYSTEM DESIGN

2011 Pearson Higher Education, Mazidi, Naimi, and Naimi Pearson Higher Education, 2011 Pearson Higher Education,

ATmega128. Introduction

SECURE DIGITAL ACCESS SYSTEM USING IBUTTON

Automation Engineers AB Pvt Ltd, NOIDA Job-Oriented Course on Embedded Microcontrollers & Related Software Stack

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.

INTERFACING HARDWARE WITH MICROCONTROLLER

Keywords Digital IC tester, Microcontroller AT89S52

Lecture (02) PIC16F84 (I)

Robotics Training Module ABLab Solutions

PIC Microcontroller and

GSM MODULE BASED SMART NOTICE BOARD

Microprocessors And Microcontroller

Embedded Systems. Software Development & Education Center. (Design & Development with Various µc)

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director

Development Tools. 8-Bit Development Tools. Development Tools. AVR Development Tools

Arduino Uno R3 INTRODUCTION

ARDUINO MEGA INTRODUCTION

Atmel 8 Bit Avr Microcontroller With 2 4 8k Bytes In

Atmel AVR datasheet. Matrix Multimedia Atmel AVR Board EB Contents

Module 2: Introduction to AVR ATmega 32 Architecture

8051 Microcontroller

ELC4438: Embedded System Design Embedded Processor

acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers. Eng. Salma Hesham

Embedded programming, AVR intro

AVR Peripheral Board. Campus Component Pvt. Ltd.

Diploma in Embedded Systems

Mega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

The MAXQ TM Family of High Performance Microcontrollers

An Arduino Controlled 1 Hz to 60 MHz Signal Generator

Lecture 1. Course Overview and The 8051 Architecture

Microcontroller: CPU and Memory

Lecture 14. Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Clock and Fuses. Prof. Prabhat Ranjan Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar

Overview of Microcontroller and Embedded Systems

UNIT V MICRO CONTROLLER PROGRAMMING & APPLICATIONS TWO MARKS. 3.Give any two differences between microprocessor and micro controller.

AC : INFRARED COMMUNICATIONS FOR CONTROLLING A ROBOT

PART 1 : MR-162. PART 2 : CPU Board. PART 3 : Software Tools. PART 4 : Compile and Download. 1. Introduction 2. Features

CSE 466 Exam 1 Winter, 2010

Goal: We want to build an autonomous vehicle (robot)

INTELLIGENT APPLIANCE CONTROL SYSTEM USING ARM7 AND ZIGBEE

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,

PREPAID ENERGY METER

LAMPIRAN. Universitas Sumatera Utara

EE 308: Microcontrollers

ARM7 TDMI Microcontroller

Lab Course Microcontroller Programming

AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB

Course Introduction. Purpose: Objectives: Content: Learning Time:

MT2 Introduction Embedded Systems. MT2.1 Mechatronic systems

OPERATIONAL UP TO. 300 c. Microcontrollers Memories Logic

Claus Kuhnel BASCOM. Programming of Microcontrollers with Ease. An Introduction by Program Examples

Introduction to Arduino. Wilson Wingston Sharon

Chapter 2 Sections 1 8 Dr. Iyad Jafar

Approximately half the power consumption of earlier Renesas Technology products and multiple functions in a 14-pin package

Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s s core

EXL x240 Graphic LCD Smart Module 3,8 SHORT FORM TECHNICAL SPECIFICATIONS. Via di Corticella, Bologna, Italy

AVR- M16 development board Users Manual

Prefetch Cache Module

CN310 Microprocessor Systems Design

Homework 5: Theory of Operation and Hardware Design Narrative

LBAT90USB162 Atmel. LBAT90USB162 Development Board User s Manual

Choosing a Micro for an Embedded System Application

ACU6. Technical Reference Manual. Specifications Interfacing Dimensions. Document topics. ANSARI Controller Unit Type 6 technical reference manual

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.

Robotic Systems ECE 401RB Fall 2006

ELCT 912: Advanced Embedded Systems

Department of Electronics and Instrumentation Engineering Question Bank

32 bit Micro Experimenter Board Description and Assembly manual

eip-10 Embedded TCP/IP 10-BaseT Network Module Features Description Applications

QUASAR PROJECT KIT # ATMEL AVR PROGRAMMER

Project design tutorial (I)

AUTOMOBILE APPLICATIONS USING CAN PROTOCOL

EE 308: Microcontrollers

ECE 353 Lab 4. General MIDI Explorer. Professor Daniel Holcomb Fall 2015

Control System Implementation

ELEG3923 Microprocessor Ch.0 & Ch.1 Introduction to Microcontroller

Secure Microcontrollers for Smart Cards. AT90SC Summary

EE4380 Microprocessor Design Project

Unlocking the Potential of Your Microcontroller

Bolt 18F2550 System Hardware Manual

3.3V regulator. JA H-bridge. Doc: page 1 of 7

Mechatronics and Measurement. Lecturer:Dung-An Wang Lecture 6

The Atmel ATmega328P Microcontroller

Introducing the 32 bit Micro Experimenter

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

Transcription:

LED Matrix Scrolling using ATmega32 microcontroller Deepti Rawat 1, Gunjan Aggarwal 2, Dinesh Kumar Yadav 3, S.K. Mahajan 4 Department of Electronics and Communication Engineering IIMT college of Engineering, Greater Noida ABSTRACT An LED dot matrix consists an array of LED' s which are interconnected such that the positive terminal (anode) of each LED in the same column are connected together and the negative terminal (cathode) of each LED in the same row are connected together. This display device is used to display information. An 8x8 dot matrix display is been presented in this paper which is driven by a microcontroller. To ensure that more information is displayed on a small screen, instead of displaying static characters, characters are scrolled with the help of ATmega32 microcontroller. Figure 1: Four dot matrix displays connecter together (displaying HELLO). I.INTRODUCTION Alight-emitting diode (LED) is a semiconductor device that emits light when a desired amount of electric current is passed through it. Light is produced when the particles that carry the current (known as electrons and holes) combine together within the semiconductor material. In a LED dot matrix display, dot refers to the circular lenses in front of the LEDs. The matrix used in this project has a Red LED behind each dot in the 8x8 grid. Figure 2 shows a schematic for a typical 8 x 8 matrix with single colour LEDs. An LED dot matrix display can also come with multiple LEDs of varying colours behind each dot in the matrix. A configuration with multiple LEDs behind each dot adds another control pin to every column (positive 184 P a g e

terminal) for each additional colour of LED, while the rows (negative terminals) are still all connected together. Therefore an RGB matrix has 32 control pins compared to the 16 pins seen in Figure 2. The desired character or graphics can be displayed by switching ON/OFF a desired configuration of LED s. Common display configurations available are 7 5, 8 8, 7 15, etc. LED dot matrix can be used in simple display applications where the resolution is not a big concern. The desired character or graphics can be displayed by switching ON/OFF a desired configuration of LED s. Common display configurations available are 7 5, 8 8, 7 15, etc. LED dot matrix can be used in simple display applications where the resolution is not a big concern. Since all of the individual LED s in a matrix share their negative and positive terminals in each row and column, it is not possible to control each individual LED at the same time. Figure 2: 8x8 LED matrix schematics The matrix is controlled by cycling through each row very quickly while triggering the correct column pins to light the desired LED s for that particular row. If the switching is done at a quick enough rate, there will be no visible flicker and the LED matrix display will appear to have each LED turned on at the same time. This works because of the principle known as Persistence of Vision, which is the theory that the retina of the human eye retains an image for about a tenth of a second. Thus an LED matrix must be very precisely controlled, with the Rows being scanned through sequentially at a rate greater than about 40Hz (to be safe) while sending out the column data at the exact same rate. This kind of control is most easily accomplished with the aid of a microcontroller, plus some additional components. LED dot matrices are very popular means of displaying information as it allows both 185 P a g e

static and animated text and images. Perhaps, you have encountered them at gas stations displaying the gas prices, or in the public places and alongside highways, displaying advertisements on large dot matrix panels. Figure 3: LED dot matrix of different sizes The microcontroller that we used to accomplish this task is ATmega32, which is a member of AVR microcontroller family. The Atmel AVR ATmega32 is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega32 achieve throughputs approaching 1 MIPS per MHz allowing the system designed to optimize power consumption versus processing speed. In order to maximize performance and parallelism, the AVR uses Harvard architecture with separate memories and buses for program and data. Instructions in the program memory are executed with a single level pipelining. While one instruction is being executed, the next instruction is pre-fetched from the program memory. This concept enables instructions to be executed in every clock cycle. The program memory is In-System Reprogrammable Flash memory. Figure 3: ATmega32 IC For the software simulation purpose, the Proteus simulator is used. Proteus is a Virtual System 186 P a g e

Modeling and circuit simulation application. The suite combines mixed mode SPICE circuit simulation, animated components and microprocessor models to facilitate co-simulation of complete microcontroller based designs. Proteus also has the ability to simulate the interaction between software running on a microcontroller and any analog or digital electronics connected to it. It simulates Input / Output ports, interrupts, timers, USARTs and all other peripherals present on each supported processor. In Proteus simulator, there are various virtual components available including dot matrices, microcontrollers, power supply, wires, etc. The tool that we used to write the embedded C program is, ATMEL STUDIO 6. Atmel Studio 6 is the integrated development platform (IDP) for developing and debugging Atmel SMART ARM-based and Atmel AVR microcontroller (MCU) applications. Studio 6 supports all AVR and Atmel SMART MCUs. The Atmel Studio IDP gives you a seamless and easy-to-use environment to write, build and debug your applications written in C/C++ or assembly code. It also connects seamlessly to Atmel debuggers and development kits. The C program is compiled in ATMEL STUDIO and once there s no error in the program, it is loaded into the virtual microcontroller in proteus and the simulation can be started and result is thus determined. II.EXPERIMENTAL SECTION Materials & Methods Measurements and Data analysis Materials and Methods The requirements include ATMEGA32, Power supply (5v), an 8x8 LED matrix, AVR ISP Programmer, ATMEL STUDIO. The method to display characters on a LED dot matrix is described below. Now talking about displaying images that we can light any LED we choose it's time to move on to displaying a (small) image. To do this we will use a scan pattern. Here, we define a bitmap image (an array of 8 bytes, each bit representing one LED). Next we scan through this array one byte at a time, displaying one column then the next. If we do this fast enough (about 1000 times a second) it appears as an image. Any individual LED or a group of LEDs in the matrix can be activated by switching the required number of rows and columns. For example, in the following figure 4, if Row1 is made high and Column1 is made low, the top left LED (address R1C1) will glow. As a demonstration, let s see how we can display letter A using the display. The tables given below shows the logic levels at each pin 187 P a g e

for displaying A.The figure below shows which LEDs are to be turned on to display the English alphabet A. The 7 rows and 5 columns are controlled through the microcontroller pins. Now, let s see in detail how it works. Suppose, we want to display the alphabet A. We will first select the column C1 (which means C1 is pulled low in this case), and deselect other columns by blocking their ground paths (one way of doing that is by pulling C2 through C5 pins to logic high). Now, the first column is active, and you need to turn on the LEDs in the rows R2 through R7 of this column, which can be done by applying forward bias voltages to these rows. Next, select the column C2 (and deselect all other columns), and apply forward bias to R1 and R5, and so on. Therefore, by scanning across the column quickly (> 100 times per second), and turning on the respective LEDs in each row of that column, the persistence of vision comes in to play, and we perceive the display as still. The table below, gives the logic levels to be applied to R1 through R7 for each of the columns in order to display the alphabet A. Figure 4 (a): A standard 5x7 LED dot matrix display structure The table below gives the logic levels to be applied to R1 through R7 for each of the columns in order to display the alphabet A. 188 P a g e

Figure 4 (b): Row values of each column for displaying the alphabet A Figure 4 (c): Scanning across the columns and feeding the appropriate row values There are 7 rows and 5 columns and across each row, one pin is sourcing the current for only one LED at a time, but from above, we can see that, a column pin may have to sink the currents from 189 P a g e

more than one LED. For example, the column C1 should be able to sink the currents from 6 LEDs while displaying the alphabet A. As we know that microcontroller faces a limitation i.e. a microcontroller s I/O pin cannot sink this much of current, therefore, we need to use internal transistor arrays. Therefore, to solve this problem, we are using ULN2003A IC, which consists of seven built-in Darlington transistor arrays (as shown below in the diagram). As shown below, the inputs of ULN2003A are in an active high state. This means that the input pins must be supplied with a logic high, in order to bring the corresponding output pins to the ground state. The schematic of the Darlington transistor array inside the ULN2003A chip is shown below. 190 P a g e

Figure 5: ULN2003A driver IC The purpose of ULN2003A here is to drive the column lines of the display. ULN2003A is a high voltage (50V), high current (500mA per channel) darlington transistor array. Each IC has 7 channels with individual output clamp diodes. ULN2003A an active high device, which means a logic high must be applied to the input to make the corresponding output high. The input pins are designated as 1B, 2B, 3B, 4B, 5B, 6B, 7B while corresponding output pins are designated as 1C, 2C, 3C, 4C, 5C, 6C, 7C. The pin configuration and simplified internal logic of ULN2003A is shown in the figure below. 191 P a g e

To program the LED dot matrix, we have used AVR (ATmega32) microcontroller. AVR microcontrollers are quite versatile and have various features compared to other well known microcontrollers. AVR family is having inbuilt EEPROM, ADC, specific function pins, More ROM and RAM,RISC architecture, while 8051 doesn't have a inbuilt EEPROM, require external ADC IC, doesn't have specific functions such as AVR, less RAM and ROM compared to AVR,CISC architecture. Also, it uses modified Harvard architecture. Here are certain reasons, why we preferred AVR Studio over other platforms: ATMEL AVR studio is a free IDE developed by ATMEL Corporation (Now Microchip) for their AVR and ARM series of microcontrollers like ATmega32. It supports only ATMEL manufactured Microcontrollers. It also has support for open source debugging and programming tools like USBtinyISP. It is widely used by both amateurs and industry professionals. We used Proteus Design Suite, which is a proprietary software tool suite used primarily for electronic design automation. The software is used mainly by electronic design engineers and electronic technicians to create electronic schematics and electronic prints for manufacturing printed circuit boards. Proteus is a Virtual System Modelling and circuit simulation application. The suite combines mixed mode SPICE circuit simulation, animated components and microprocessor models to facilitate co-simulation of complete microcontroller based designs.proteus also has the ability to simulate the interaction between software running on a microcontroller and any analog or digital electronics connected to it. It simulates Input / Output ports, interrupts, timers, USARTs andall other peripherals present on each supported processor. Measurements and Data analysis Snapshots of Proteus Simulation: 192 P a g e

Snapshot of Hardware Simulation: 193 P a g e

194 P a g e

III.CONCLUSION In the paper, it is evident that both software simulation and hardware simulation of the project of displaying characters on a LED dot matrix using ATMEGA32 microcontroller has been accomplished successfully. REFERENCE [1.] LED Scrolling Display using Android Phone,Deshmukh V. R.1 Karande N. D.2 Patil S. S.3 Tamboli A. S.4 [2.] Scrolling Led Display, AnuradhaMujumdar, 2Vaishali Niranjane, 3DeepikaSagne [3.] LED SCROLLING DISPLAY,Hardik Gupta, Puja Shukla, AnkitaNagwekar [4.] A Survey of Light Emitting Diode (LED) Scrolling Matrix, GowrishankarKasilingam*,MrithaRamalingam and Chandra Sekar. 195 P a g e