This tutorial series designed specifically for beginners. If you are a beginner looking to play with cool electronic stuff, then you are going to find this very useful. This AVR tutorial for beginners series is going to cover all the information about microcontrollers. I will also focus on projects and together, we will make various projects utilising the concepts. Also, I will try to explain about various types of problems encountered in general when you are a beginner. Just stick around and have fun.
Software required for AVR tutorial for Beginners
Although these components may not be needed for a while, I would recommend buying at-least these components as soon as possible. All the links direct to Amazon.in.
AVR Development Board
USB ASP Programmer
As most microcontrollers are programmed in C language I would suggest you have some basic knowledge of programming language C . If you have no idea about C language, please learn it till Loop and then come back. Also, I would recommend learning about the base transformation of numbers(From Hexadecimal-Decimal-Binary) for the better understanding of articles.
AVR Microcontroller-an Introduction
To give a basic idea of microcontroller, a microcontroller is considered to be as COMPUTER ON A CHIP. It means all the peripherals devices and microprocessor are integrated into a chip itself. These devices includes-memory, timer/counter, input-output ports, Analog to Digital converter. Microcontrollers are generally designed for a particular task only. The scope and application of microcontrollers are unimaginable. You can find them in microwave ovens, automobiles, televisions, etc. Like a computer, the microcontroller is able to execute a set of instructions in the form of a program. The programming language that I will be using is C.
Atmega 16-Pin Diagram
AVR Atmega 16 Microcontroller is low power consuming, high-performance microcontroller. Atmega 16 can work on the maximum frequency of 16Mhz. using external crystal oscillator. The maximum internal clock it has is 8 Mhz. It has 16Kb of flash memory and that’s the reason it is called Atmega 16. I wonder how much memory Atmega 32 should have? Atmega 16 is a 40 pin microcontroller. The 32 different input/output lines divided into 4 different ports namely Port A, Port B, Port C and Port D. Some pins are multiplexed and are capable to do more than one function. For example, PD2(pin-16) along with an input-output pin, is an interrupt pin as well. I will discuss the function of each pin in coming tutorial. For now, Pin 10 is for Vcc, Pin 11 is for Ground, Pin 12 and 13 is for external crystal oscillator and Pin 9 is used to reset the Atmega 16 microcontroller. Another little fact about AVR microcontroller is the position of Ground and Vcc. If anyone by mistake connects this IC opposite the way it is supposed to, the position of Vcc and Ground would still be the same and because of this, AVR microcontroller would not get damaged(I know-It’s awesome).
A difference between AVR and ATMEGA 16
AVR is a family of microcontroller developed by Atmel at the beginning of 1996 under which many microcontrollers come. They have a similar internal architecture and because of the similar architecture, they have similar programs as well. Atmega 16 is a microcontroller that comes in an AVR family. Some other microcontrollers include Atmega 32, Atmega 328, Atmega 8 etc.
Why is all of these important to know?
It is important because, in coming series – AVR tutorial for beginners, I am going to show you How to control and use each and every pin. All of these is important to know for interfacing of various sensors, input-output devices, serial devices etc. From next tutorial, I would recommend you guys to install software- Atmel Studio 6.0(the environment which we are going to program), Proteus(the simulator).