AVR COURSE
INTRODUCTION
AVR microcontroller series is one of the most widely used microcontroller families in hobbyist and beginners embedded electronics space currently. The high acceptance of AVR microcontrollers is mainly credited to Arduino hardware and software series. AVR chips are 8 bit microcontrollers based on RISC architecture. AVR chips were developed by Atmel.
CAPABILITIES
We will be using Atmega328 microcontroller during this course. This microcontroller is widely used by enthusiasts who are in the initial phase of their embedded electronics journey.
Some of the capabilities of Atmega328 microcontroller is listed here”-
Parameter | Value |
Program Memory Type | Flash |
Program Memory Size (KB) | 32 |
CPU Speed (MIPS/DMIPS) | 20 |
SRAM (B) | 2048 |
Data EEPROM/HEF (bytes) | 1024 |
Digital Communication Peripherals | 1-UART, 2-SPI, 1-I2C |
Capture/Compare/PWM Peripherals | 1 Input Capture, 1 CCP, 6PWM |
Timers | 2 x 8-bit, 1 x 16-bit |
Number of Comparators | 1 |
Operating Voltage Range (V) | 1.8 to 5.5 |
Pin Count | 32 |
WHAT YOU WILL NEED?
- Window/MAC based PC with Microchip Studio installed
2. AVR Motherboard (with USB Cable and jumpers)
3.Mini Voyager 1
4. Mini Voyager 2
LIST OF EXPERIMENTS
Below given experiments have been developed for maximum learning from the hardware and software side.
EXPERIMENT NUMBER | EXPERIMENT | BOARD REQUIRED |
1 | Flash LED at an observable rate. | MV1 |
2 | Hello LED – Flash LED at a rate such that the LED appears always on. Estimate the onset of the rate when the LED appears to stay on | MV1 |
3 | Controlling ON/OFF of an LED using switch | MV1 OR MV2 |
4 | Use LFSR based random number generator to generate a random number and display it | MV1 OR MV2 |
5 | Toggle the LED every second using Timer interrupt | MV1 |
6 | Use the potentiometer to change the red LED intensity from 0 to maximum in 256 steps | MV1 |
7 | Use the switch to select the LED (from RGB led) and then the potentiometer to set the intensity of that LED and thus create your own color from amongst 16million colors | MV1 |
8 | Read the ADC value of the voltage divider involving the LDR. Print the value on the serial monitor | MV1 |
9 | Use the LDR and estimate a threshold for the LDR value and use that to turn the RGB LED on, to simulate an ‘automatic porch light’ | MV1 |
10 | Use the thermistor to estimate the temperature and print the raw value on the serial monitor | MV1 |
11 | Connect the LCD I/O Board and print ‘Hello World’ on the LCD. Scroll display from left to right | MV2 |
12 | Use the on-board EEPROM to store the temperature min and max values together with a time stamp | MV2 |
13 | Speed control of D.C. motor | MV3 |
14 | Speed control of Stepper motor | MV3 |
GOING FURTHER
More than 50+ experiments and activities are possible using the above given hardware setup. Course learners have come up with various projects using these peripherals boards. All the pins of Arduino Nano board are exposed hence one can easily make appropriate connections with any type of electronics components.