0% found this document useful (0 votes)
3 views

Week 5 Lec2 Introduction to the Arduino and IDE

This document provides an introduction to microcontrollers, specifically focusing on Arduino, its types, and programming. It explains the differences between microcontrollers and microprocessors, the necessary hardware and software for Arduino projects, and basic electronic circuits. Additionally, it covers project ideas, programming in Arduino C, and the potential applications of sensors and inputs in projects.

Uploaded by

skillelevation
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Week 5 Lec2 Introduction to the Arduino and IDE

This document provides an introduction to microcontrollers, specifically focusing on Arduino, its types, and programming. It explains the differences between microcontrollers and microprocessors, the necessary hardware and software for Arduino projects, and basic electronic circuits. Additionally, it covers project ideas, programming in Arduino C, and the potential applications of sensors and inputs in projects.

Uploaded by

skillelevation
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 58

Introduction to

Microcontrollers
Week 5-Lec 2
Overview
 Background
 Microcontroller defined/Why Arduino's?
 Types of Arduino microcontrollers
 What To Get (Hardware and Software)
 Arduino C
 Electronic Circuits
 Projects
 Blinking light(s)
 Reading inputs (variable resistors)
Microcontrollers – One
Definition
 Programmers work in the virtual world.
 Machinery works in the physical world.
 How does one connect the virtual world to the
physical world?
 Enter the microcontroller.
 A microcontroller is basically a small-scale
computer with generalized (and programmable)
inputs and outputs.
 The inputs and outputs can be manipulated by
and can manipulate the physical world.
Microcontrollers vs
Microprocessors
 Microprocessor is an IC which has only the CPU
inside them i.e. only the processing powers such
as Intel's Pentium 1,2,3,4, core 2 duo, i3, i5 etc.
 Microcontroller has a CPU, in addition with a
fixed amount of RAM, ROM and other peripherals
all embedded on a single chip.
Arduino – Official Definition
 Taken from the official web site (arduino.cc):
 Arduino is an open-source electronics prototyping
platform based on flexible, easy-to-use hardware
and software. It's intended for artists, designers,
hobbyists, and anyone interested in creating
interactive objects or environments.
Why Arduino?
 For
whatever reason, Arduino microcontrollers
have become the de facto standard.
 Make Magazine features many projects using
Arduino microcontrollers.
 Strives
for the balance between ease of use and
usefulness.
 Programming languages seen as major obstacle.
 Arduino C is a greatly simplified version of C++.
 Inexpensive ($35 retail).
Arduino Types
 Many different versions
 Number of input/output channels
 Form factor
 Processor
 Leonardo
 Due
 Micro
 LilyPad
 Esplora
 Uno
Arduino Uno Close Up
 The pins are in three groups:
 Invented in 2010
 14 digital pins
 6 analog pins
 power
https://www.circuito.io/blog/arduino-
uno-pinout/
Leonardo
 Compared to the Uno, a slight upgrade.
 Built in USB compatibility

 Presents to
PC as a mouse
or keyboard
Due
 Much faster processor, many more pins
 Operates on 3.3 volts
 Similar to the Mega
Micro
 When size matters: Micro, Nano, Mini
 Includes all functionality of the Leonardo
 Easily usable on a breadboard
LilyPad
 LilyPad is popular for clothing-based projects.
Esplora
 Game controller
 Includes joystick, four buttons, linear
potentiometer (slider), microphone, light sensor,
temperature sensor, three-axis accelerometer.
 Not the standard set of IO pins.
Where to Start
 Get an Arduino (starter kit)
 Download the compiler
 Connect the controller
 Configure the compiler
 Connect the circuit
 Write the program
 Get frustrated/Debug/Get it to work
 Get excited and immediately start next project
Arduino Starter Kits
 Start with a combo pack (starter kit)
 Includes a microcontroller, wire, LED's, sensors, etc.
 www.adafruit.com
adafruit.com/products/68 ($65)
 www.sparkfun.com
https://www.sparkfun.com/products/11576 ($99.95)
 Radio Shack
Make Ultimate Microcontroller Pack w/ Arduino Kit
($119.99)
 www.makershed.com
http://www.makershed.com/
Ultimate_Arduino_Microcontroller_Pack_p/msump1.htm ($150)
What to Get – My
Recommendation
 Required:  Good Idea:
 Arduino (such as  Capacitors
Uno)  Transistors
 USB A-B (printer)  DC motor/servo
cable  Relay
 Breadboard
 Hookup wire
 Advanced:
 LED's
 Soldering iron &
 Resistors
solder
 Sensors
 Heat shrink tubing
 Switches
 9V battery adapter
 Bench power
Arduino Compiler
 Download current compiler from:
arduino.cc/en/Main/software
 Arrogantly refers to itself as an IDE (Ha!).
 Run the software installer.
 Written in Java, it is fairly slow.

Visit
playground.arduino.cc/Main/ Devel
opmentTools
for alternatives to the base
Configuring the Arduino Compiler
 Defaultsto COM1, will probably need to change
the COM port setting (my work PC uses 7).
 Appears in Device Manager (Win7) under Ports as
a Comm port.
Arduino Program Development
 Based on C++ without 80% of the instructions.
 A handful of new commands.
 Programs are called 'sketches'.
 Sketches need two functions:
 void setup( )
 void loop( )
 setup( ) runs first and once.
 loop( ) runs over and over, until power is lost or a
new sketch is loaded.
Arduino C
 Arduino sketches are centered around the pins on
an Arduino board.
 Arduino sketches always loop.
 void loop( ) {} is equivalent to while(1) { }
 The pins can be thought of as global variables.
Arduino C Specific Functions
 pinMode(pin, mode)
Designates the specified pin for input or output
 digitalWrite(pin, value)
Sends a voltage level to the designated pin
 digitalRead(pin)
Reads the current voltage level from the designated pin
 analog versions of above
 analogRead's range is 0 to 1023
 serial commands
 print, println, write
Compiler Features
 Numerous sample
sketches are
included in the
compiler
 Located under File,
Examples
 Once a sketch is
written, it is
uploaded by
clicking on File,
Upload, or by
pressing <Ctrl> U
Arduino C is Derived from C++
 These programs blink an LED on pin
13
 avr-libc  Arduino C
#include <avr/io.h> void setup( ) {
#include <util/delay.h> pinMode(13, OUTPUT);
}
int main(void) {
while (1) { void loop( ) {
PORTB = 0x20; digitalWrite(13, HIGH);
_delay_ms(1000); delay(1000);
PORTB = 0x00; digitalWrite(13, LOW);
_delay_ms(1000); delay(1000);
} }
return 1;
}
Basic Electric Circuit
 Every circuit (electric or electronic) must have at
least a power source and a load.
 The simplest circuit is a light.
 Plug in the light, and it lights up.
 Unplug it, the light goes out.
 Electricity flows from the power source, through
the load (the light) and then back to the power
source.
Basic LED Circuit
 Connect the positive (+) lead of a power
source to the long leg of an LED.
 Connect other leg of the LED to a resistor.
 High resistance means a darker light.
 Low resistance means brighter light.
 No resistance means a burned out LED.
 Connectother leg of the resistor to the
negative lead of the power source.
Let the Good Times Roll!
 At this point we have:
 Purchased a starter kit, including the Arduino
 Connected and configured the Arduino
 Connected a simple LED circuit
 Let's write some code!
Blink Sketch
void setup( ) {
Connected to
pinMode(13, OUTPUT); one end of
Connected to
other end of
} the circuit the circuit
void loop( ) {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
4 LED Blink Sketch
void setup( ) { void loop( ) {
pinMode(1, OUTPUT); digitalWrite(1, HIGH);
pinMode(3, OUTPUT); delay (200);
pinMode(5, OUTPUT); digitalWrite(1, LOW);
pinMode(7, OUTPUT);
} digitalWrite(3, HIGH);
delay (200);
digitalWrite(3, LOW);

digitalWrite(5, HIGH);
delay (200);
digitalWrite(5, LOW);

digitalWrite(7, HIGH);
delay (200);
digitalWrite(7, LOW);
}
So What?
 Great. Blinking lights. Not impressed.
 Only covered output thus far.
 Can use analog inputs to detect a physical
phenomena.
Inputs
 Digital
inputs will come to the Arduino as either
on or off (HIGH or LOW, respectively).
 HIGH is 5VDC.
 LOW is 0VDC.
 Analoginputs will come to the Arduino as a range
of numbers, based upon the electrical
characteristics of the circuit.
 0 to 1023
 .0049 V per digit (4.9 mV)
 Read time is 100 microseconds (10,000 a second)
Analog Input
A potentiometer (variable
resistor) is connected to
analog pin 0 to an Arduino.
 Values presented to pin 0 will
vary depending upon the
resistance of the
potentiometer.
Analog Input-Application
 The variable resistor can be replaced with a
sensor.
 For example, a photo resistor.
 Depending upon the light level at the photo resistor:
 Turn on a light
 Increase or decrease the brightness of an LED (or an
LED array)
 Mostsensors are simply variable resistors, but
vary their resistance based on some physical
characteristic.
Sensors
 Sensors can be both binary or a range.
 Usually, sensors that measure a range of values
vary their resistance to reflect their detection.
 Arduinos can only sense voltages, not
resistances.
 Sensors that only vary their resistances require a
circuit called a voltage divider to provide the
Arduino a voltage.
Common Sensors
 Dials on a radio are  Infrared sensor &
simply light
potentiometers  Hall effect sensor
 Temperature
and magnet
 Light
 Ball tilt sensor (for
 Angle
measuring
 Switches
orientation)
 did the user throw a
 Force
switch or push a
button?
 Accelerometer
(measures motion
“Competitors”to the Arduino
 PIC controller
 Microcontroller programmed with C or assembler
 Alternatives to the Arduino line
 Pinguino – PIC controller
 MSP430 – Texas Instruments; $4.30
 Others: customs, Teensy, etc.
 Netduino
 Computers
 Raspberry Pi
 BeagleBones – TI; has computer and controller
Netduino
 Microcontrollerand development tools
created by Microsoft to work with the .NET
Micro Framework.
 VASTLY better development environment.
 visualmicro.com
 Other alternatives
 Differences
 Pinson a Netduino are 3.3V (not 5).
 Netduinos have a much faster processor.
 60K of RAM (versus an Uno's 2K).
 Largely compatible with the Arduino, but it
is not a drop-in replacement (can fry it).
Raspberry Pi
 Low end computer, not a controller
 Uses Debian Linux
 Arch Linux ARM, Fedora, FreeBSD, Slackware…
 Programmed with Python
 BBC BASIC, C, Perl
 As it is a computer and not a controller, its role in
these projects is different.
 Hierarchy: computers control controllers,
controllers control hardware.
Shields
 Shieldsare circuit boards that plug into the top of
an Arduino.
 They extend the capabilities of an Arduino.
 Examples:
 Ethernet
 GPS
 Motor
 Prototype
 shieldlist.org
Conclusion
 The Arduino microcontroller is a low cost way to
enter into the hobby of robotics.
 The Arduino has two plusses over any other:
 The user community
 Extensive online library of code and projects
 Viewed as the "base" system, upon which all
other microcontrollers are built. Compatibility.
 So get a kit, and start ushering in the inevitable
takeover of our robotic overlords!
Raspbery Pi
IoT
 “The Internet of Things (IoT) is a system of interrelated computing devices,
mechanical and digital machines, objects, animals or people that are
provided with unique identifiers and the ability to transfer data over a
network without requiring human-to-human or human-to-computer
interaction.”
Processor Vs
Controller
Microprocessor
 IC which has only the CPU inside them
 Microprocessors don’t have RAM, ROM, and
other peripheral on the chip
Microcontroller
 CPU, in addition with a fixed amount of RAM,
ROM and other peripherals all embedded on a
single chip
SoC
 SOC is the full system, often the computer on
a chip
Computer Architecture
Microcontroller
Raspberry Pi
History
 The Raspberry Pi is the work of the
Raspberry Pi Foundation, a charitable
organisation
 UK registered charity (No. 1129409),
May 2009
 It's supported by the University of
Cambridge Computer Laboratory and
tech firm Broadcomm
What is Raspberry Pi
 University of Cambridge’s Computer Laboratory
Declinein skill level
Designed for education
A credit card sized PC
 Plugs into a TV or monitor
 Inexpensive(ish) ~$35 each
 Capability:
Programming
Electronic Projects
Office
Play HD Videos
A low cost, credit-card sized
computer
40 Pins GPIO

USB Ports
LCD Display

RJ 45

Power HDMI 3.5mm Audio


Pi Camera
Pi Models
 Generations - 1, 2,3
 Models - Zero, A, A+, B, B+
Model Zero
Model A, A+
Model B, B+
Models Comparison
GPIO
Pinouts
Broadcom vs
Board
Pinout Convention
Operating Systems
 NOOBS (New Out Of Box Software)
 Raspbian
 Raspberry Pi Desktop (for PC and
Mac)
 Third Party
 Windows 10 IoT Core
 PINet
 LibreELEC

You might also like