45
Welcome to Arduino Basics

Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

  • Upload
    others

  • View
    24

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Welcome to

Arduino Basics

Page 2: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Outline

• Overview of electronics

• Arduino as a microcontroller platform

• Basic electronic components

• How to Do Stuff™• Connecting

• Programming

• Troubleshooting

Page 3: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Let’s start

Page 4: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

What is a robot?

Environment

Sensors

Processing

Actuators

Page 5: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Why electronics?

Page 6: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

What’s Arduino?

• Microcontroller board

• Open source• Many, MANY variants!

• Arduino IDE (C++)

• Cheap!

Page 7: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

What’s Arduino?

Sparkfun Electronics Flickr

Page 8: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

What’s Arduino?

• https://www.youtube.com/watch?v=_hGpIt-hs6c

• https://www.youtube.com/watch?v=Ttm62RBdOu

• https://www.youtube.com/watch?v=dX37LFv8jWY

• https://www.youtube.com/watch?v=7L7oxoZEG-A

• https://www.youtube.com/watch?v=uVL9V1wNoVg

Page 9: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Arduino UNO tech specsMicrocontroller ATmega328P

Operating Voltage 5V

Input Voltage (recommended) 7-12V

Input Voltage (limit) 6-20V

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

PWM Digital I/O Pins 6

Analog Input Pins 6

DC Current per I/O Pin 20 mA

DC Current for 3.3V Pin 50 mA

Flash Memory32 KB (ATmega328P)of which 0.5 KB used by bootloader

SRAM 2 KB (ATmega328P)

EEPROM 1 KB (ATmega328P)

Clock Speed 16 MHz

Length 68.6 mm

Width 53.4 mm

Weight 25 g

https://www.arduino.cc/en/Main/ArduinoBoardUno

Page 10: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Electronics

Page 11: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Circuits Fundamentals

Σ𝑉 = 0 Σ𝐼 = 0 𝑉 = 𝐼𝑅

Page 12: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Let there be light!

Page 13: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

A polarizing discussion

+ –+ –+ –

https://learn.sparkfun.com/tutorials/light-emitting-diodes-leds

+ –

Page 14: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Let there be light!

+–

https://cdn.sparkfun.com/assets/b/9/b/8/5/51f1e90dce395fba20000002.gif

Page 15: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Making things smart

Page 16: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Connecting Arduino

Page 17: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Controlled light

Page 18: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Controlled light

<-- pin #3 is an output

<-- pin #3 is on

Page 19: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Controlled light

<-- pin #3 is off

<-- wait 1000 milliseconds

Page 20: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

It takes two to tango

Page 21: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Reading inputs

Page 22: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Pushbutton

Page 23: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Pull-down

Off On

Page 24: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Pushbutton

Page 25: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Ultrasonic sensor

Page 26: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Ultrasonic sensor

Page 27: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Ultrasonic sensor

Page 28: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Ultrasonic sensor

Speed of sound

In microseconds

Page 29: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Analog Sensor – LDR

Page 30: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Voltage division

𝑉𝐴0 = 5 ∙Rbal

𝑅𝐿𝐷𝑅 + Rbal∝

1

𝑅𝐿𝐷𝑅

𝑅𝐿𝐷𝑅 ∝1

Light level

∴ 𝑉𝐴0 ∝ Light level

Page 31: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Using an LDR

Page 32: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Side note: A/D conversion

0V

2.5V

5V

1.25V 3.75V

0

511

1023

255 767

Volts

analogRead

=210-1

More info: https://learn.sparkfun.com/tutorials/analog-to-digital-conversion

Page 33: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Using an LDR

Page 34: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Getting Serial

<-- prepare serial output

Page 35: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Getting Serial

Page 36: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

MOSFET circuits

G

D

S

G

DS

IRF3205N-Channel MOSFET

Page 37: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

BJT as a switch

MOSFET: Similar, but no current passes through gate

Page 38: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

PWM

Page 39: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

PWM

https://www.arduino.cc/en/Tutorial/PWM

Page 40: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

Half-half

Page 41: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

H Bridge

Page 42: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

H Bridge

Page 43: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Thank you!

Page 44: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage
Page 45: Welcome to Arduino Basics - AUB Roboticsstatic.aubrobotics.com/.../04/Arduino-Basics_2016.pdf · Arduino UNO tech specs Microcontroller ATmega328P Operating Voltage 5V Input Voltage

Copyright © AUB Robotics Club

License

This presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Circuit illustrations generated on Fritzing. http://fritzing.org