Atmel AVR microcontroller programming using Atmel Studio 7
ATmega16/32 has four General Purpose Input Output ports for their I/O operations.
AVR ATmega16/ATmega32 has an inbuilt 10-bit ADC (Analog to Digital Converter) to convert Analog voltage to a digital value.
AVR ATmega16/ATmega32 has three timers which are generally used for generating delay and waveform.
AVR Atmega16/ATmega32 has a feature of Input Capture Mode through which it can capture signal rising or falling edge events on its pin.
AVR ATmega16/ATmega32 has features of Clear Timer value whenever it matches with compare register value.
USART (Universal Synchronous Asynchronous Receiver Transmitter) which transfers the data bits serially. Using USART, we can communicate with the PC and serial UART devices like GSM module, GPS, etc.
AVR-based ATmega16/32 has inbuilt Pulse Width Modulation (PWM) unit through which the width of a pulse is varied while keeping the frequency constant.
AVR ATmega16/ATmega32 External Interrupts feature provides a way to get noticed by external events.
ATmega16 has 512 bytes of EEPROM, which is used to store user-defined contents which will remain even power is off, due to non-volatile type memory.
AVR-based ATmega16/ATmega32 has an on-chip Analog Comparator which compares two input Analog voltage signals and gives which is higher in between them.
AVR based ATmega16/32 Watchdog Timer (WDT) is a hardware timer which automatically resets the system when its timeout occurs. It is mostly used in Real-Time Applications.
ATmega16/ATmega32 based on AVR has inbuilt SPI which is used to communicate with SPI enabled devices such as seven-segment displays, EEPROM, MMC, and SDC memory cards, etc.
AVR-based ATmega16/ATmega32 supports I2C protocol, it also called as Two Wire Interface (TWI) protocol which is used to communicate with I2C enabled devices like Magnetometer, Accelerometer, RTC, EEPROM, etc.
XBee is a radio module developed by Digi International. It is a popular wireless transceiver used to send or receive data.
Hypertext Transfer Protocol (HTTP) is a standard application layer protocol between server and client. Using the SIM900A GPRS module, we can implement HTTP server/client over GPRS for IoT applications.
Transmission Control Protocol (TCP) is a standard transport layer internet protocol in between server and client. Using the SIM900A GPRS module, we can implement TCP server/client over GPRS for IoT applications.
MQTT (Message Queue Telemetry Transport) is a lightweight messaging protocol that is built on TCP protocol. Using the SIM900A GPRS module, we can implement MQTT server/client over GPRS for IoT applications.
SIM900A GSM module is a communication device which is used to make or receive calls, send or receive SMS, connecting to the internet over GPRS.
Bluetooth is a wireless communication protocol used to communicate over short distances. Here we design a smartphone-controlled LED using the HC-05 Bluetooth module.
ESP8266 is Wi-Fi enabled system on chip (SoC) module developed by Espressif system. It is mostly used for the development of IoT (Internet of Things) embedded applications.
LCD16x2 has two lines with 16 characters in each line. LCD16x2 generally used for printing values and string in an embedded applications.
GLCD 128x64 is a graphical LCD with pixel resolution 128x64. GLCD 128x64 generally used for displaying text in different fonts, displaying Images, animation, and symbols.
Nokia5110 is a 48x84 dot LCD display with Serial Peripheral Interface (SPI) Connectivity. It was designed for cell phones, also used in embedded applications.
LCD16x2 can be interfaced by using 4 data lines, which saves GPIO pins.
LCD16x2 can display user-defined custom characters. This can be used for displaying symbols and different patterns.
7-Segment LED displays are basically used to display numerical values from 0 to 9 and few characters like A, b, C, d, e, F, H, L, O, P, U, etc. 7-segment displays are widely used in a digital clock.
PIR motion sensor senses the Infrared signal radiated from moving human or animal body. It is generally used to detect the motions of humans or animals.
Accelerometer ADXL335 sensor measures the acceleration of gravity. It is used to measure the angle of tilt or inclination in application systems such as in mobile devices, gaming applications, laptops, digital cameras, airplanes, etc.
Interface single wire DHT11 sensor with ATmega16/ATmega32 and read the value of Temperature and Humidity from DHT11. Display these Temperature and Humidity values on a 16x2 LCD.
Triple axis Magnetometer HMC5883L is developed by Honeywell which gives heading directions. A magnetometer is used as a digital compass in Mobiles Phones, Navigation systems in vehicles to indicate directions.
The soil moisture sensor is used to measure the water content (moisture) in soil. It is used in agriculture applications, irrigation and gardening systems, etc.
A thermistor is a type of resistor whose resistance changes in accordance with the change in temperature. It is used to measure the temperature over a small range typically -100 °C to 300 °C.
MT8870 is a DTMF (Dual Tone Multiple Frequency) receiver, which decodes the dial tone generated from the telephone (mobile) when any key is pressed and provides corresponding binary output.
MPU6050 (Gyroscope + Accelerometer + Temperature) is a combination of 3-axis Gyroscope, 3-axis Accelerometer and Temperature sensor with onboard Digital Motion Processor (DMP). It is used in mobile devices, motion enabled games, 3D mice, Gesture (motion command) technology, etc.
The IR (infrared) communication is wireless communication technology, used for short-distance data/control transmission. For example, it is used in the TV remote, mobile phones, computers, and PDAs, etc.
A thermocouple is a device consisting of two dissimilar metals connected together creating a junction that is used for measuring the temperature.
LM35 is a sensor that is used to measure temperature. It provides an electrical output proportional to the temperature (in Celsius).
Analog joystick is the input device used to control the pointer movement in the 2-dimension axis. Generally, a joystick is used for getting angular movements.
DS1307 is a two-wire (I2C) serial interface RTC (Real Time Clock) with 56 bytes of nonvolatile RAM. This provides clock and calendar with a second, minute, hour, day, date, month and year.
EM18 RFID reader module used to read 125 kHz RFID card wirelessly for a very short distance. It is generally used in applications like attendance system, access management, tracking of goods, etc.
DC Motor is a device that converts electrical energy into mechanical energy. It is used in the robotics field, toys, quadcopters, etc.
Interfaced GPS receiver module with ATmega16/ATmega32 and display the Time, Latitude, Longitude, and Altitude on LCD20x4 display. ATmega controller read the data serially from the GPS receiver using USART communication with 9600 Baud rate.
The keypad is an input device which generally used in applications such as calculator, ATM machines, computers, etc.
The ultrasonic module HC-SR04 is generally used for finding the distance to an object and obstacle detection. It can operate in the range of 2-400cm.
Servo motor is an electromechanical device that consists of Motor, Gear assembly, and feedback circuitry. It is used in Robotics applications, airplanes, rudders, quadcopters, etc.
Interface stepper motor with ATmega32 microcontroller to rotate it 360° clockwise by half step sequence and 360° anticlockwise by full step sequence. Here, the ULN2003 driver is used to driving a stepper motor.