Arduino Microcontroller

28
Shyam Mohan MCA College of Engineering, Trivandrum

Transcript of Arduino Microcontroller

Shyam Mohan MCA

College of Engineering, Trivandrum

OUTLINE• Difference between Microcontroller and Microprocessor• What Exactly Is an Arduino?• Arduino UNO – Block Diagram , I/O Pins• Microcontrollor –ATMEL MEGA 328• Software Programming• Code structure & Sample Programs• Addon Shields & Interfacing• Computer Applications _ Robotics , Defence, Home

Automation , Sensor Networks.• Global Scenario & Future• Different type of Arduinos’• Conclusion• Interaction

2/19

Difference between Microcontroller and Microprocessor

MEMORY

CPU CPU

MEMORY

3/19

What Exactly Is an Arduino ?Arduino is a Microcontroller board.

Developed by Massimo Banzi and Tom Igoe in 2005.

Arduino is an open source electronics platform based on easy-to-use Hardware and Software.

Useful for anyone making interactive projects using Electronics and Computer Science.

4/19

ARDUINO UNOMicrocontroller : ATMEL MEGA 328

Operating Voltage : 5V

Input Voltage : 7-12V

Digital I/O Pins : 14 (of which 6 provide PWM output)

Analog Input Pins : 6

Power : 3.3 , 5v , Ground

Flash Memory : 32 KB (ATmega328)

SRAM : 2 KB (ATmega328)

EEPROM : 1 KB (ATmega328)

Clock Speed : 16 MHz

5/19

ARDUINO UNOMicrocontroller : ATMEL MEGA 328

Operating Voltage : 5V

Input Voltage : 7-12V

Digital I/O Pins : 14 (of which 6 provide PWM output)

Analog Input Pins : 6

Power : 3.3 , 5v , Ground

Flash Memory : 32 KB (ATmega328)

SRAM : 2 KB (ATmega328)

EEPROM : 1 KB (ATmega328)

Clock Speed : 16 MHz

6/19

ARDUINO UNOOperating Voltage : 5V

Input Voltage : 7-12V

Digital I/O Pins : 14 (of which 6 provide PWM output)

Analog Input Pins : 6

Power : 3.3 , 5v , Ground

Flash Memory : 32 KB (ATmega328)

SRAM : 2 KB (ATmega328)

EEPROM : 1 KB (ATmega328)

Clock Speed : 16 MHz

6/19

ARDUINO UNOOperating Voltage : 5V

Input Voltage : 7-12V

Digital I/O Pins : 14 (of which 6 provide PWM output)

Analog Input Pins : 6

Power : 3.3 , 5v , Ground

Flash Memory : 32 KB (ATmega328)

SRAM : 2 KB (ATmega328)

EEPROM : 1 KB (ATmega328)

Clock Speed : 16 MHz

6/19

ARDUINO UNOOperating Voltage : 5V

Input Voltage : 7-12V

Digital I/O Pins : 14 (of which 6 provide PWM output)

Analog Input Pins : 6

Power : 3.3 , 5v , Ground

Flash Memory : 32 KB (ATmega328)

SRAM : 2 KB (ATmega328)

EEPROM : 1 KB (ATmega328)

Clock Speed : 16 MHz

6/19

ARDUINO UNOOperating Voltage : 5V

Input Voltage : 7-12V

Digital I/O Pins : 14 (of which 6 provide PWM output)

Analog Input Pins : 6

Power : 3.3 , 5v , Ground

Flash Memory : 32 KB (ATmega328)

SRAM : 2 KB (ATmega328)

EEPROM : 1 KB (ATmega328)

Clock Speed : 16 MHz

6/19

MICROPROCESSOR USED IN ARDUINO UNO

ATMEL MEGA 328 131 Instructions ( Most Single Clock Execution )

32 x 8-bit General Purpose Working Registers 23 Programmable I/O Lines

Operating Voltage : 1.8 - 5.5V

Flash Memory : 32 KB SRAM : 2 KB EEPROM : 1 KBClock Speed : 16 MHz

7/19

Bread board organising

8/19

Software Evolution• Software used is IDE ( Integrated

Development Environment )• Evolved from ‘Processing’- a Java based

open source language created by Massachusetts Institute of Technology (MIT).• All IDE programs are called sketches.• All C/C++ features are available.• Compiler used is avr - g++

9/19

Algorithm of Programming & Uploading

10/19

Functions in IDEBasic funtions of IDEVoid setup ()Void loop ()

Sub functionsDigital write ()Analog write ()Delay ()

Special functionsInterrupt functionsSerial output functions

Customised Libraries and their functions.Eg: #include<LED.h> #include<serial.h>General C/C++ features like Conditional statements,Branching statements,Arrays etc

11/19

Pulse Width Modulation ( PWM ) PWM is form of Analog output.

Digital +5V == PWM value of 255 Digital 0 == PWM of value 0 PWM can take values from 0 to 255

PWM is used for varying Control mechanism. Example:1) Create multiple colors using an RGB LED

2) To vary the speed of a motor.

PWM can be customised in the programming.

12/19

Innovations with existing Technologies

13/19

Add-on Shields

GLOBAL POSITIONING SYSTEM (GPS) SHIELD

Communicates location co-ordinates with

Arduino board.

14/19

A shield is another microcontroller board which does a specific function to help Arduino to increase it’s capabilities .

Add-on Shields

Wireless ShieldMakes Wi-Fi (data ) communication possible between Arduino board and other computers or devices.

14/19

Add-on Shields

GSM ShieldProvides GPRS ,Voice call, Text messaging between arduino and other cell phones or Internet

14/19

Add-on ShieldsETHERNET SHIELDMakes LAN connection possible and thereby Internet access and communication with arduino board.

Remote controlling.

14/19

Types of Arduinos’

15/19

ARDUINO ROBOT

Used in ROBOTICS

Types of Arduinos’

15/19

ARDUINO LILYPADA coin sized arduino

Types of Arduinos’

15/19

Arduino Nano

Applications & Innovations• Robotics : Kinetics,Servo motors.

• Defence : Quadrotor Drones, Aerial photography and videography.

• Sensor Networks : Home Automation using Ultrasonic Sensor , Infrared Sensors, Temperature sensor , Photosensitive sensor.

16/19

In a NutshellUsing Arduino we can create Intelligent Systems

by the collaboration of Computer Science and

Electronics at the application level.

17/19

Interaction , Discussion , Analysis

What… ? Why? How ?

Who ?Can We…?

why can't ?Why not ?

18/19

19/19

Especially Denin ,Jubin,Tibin & Ashaan

ALL