1 of 23

Arduino Part 1

Topics:

Microcontrollers

Programming Basics: structure and variables

Digital Output

Analog to Digital Conversion

2 of 23

What is a Microcontroller

  • A small computer on a single chip
    • containing a processor, memory, and input/output
  • Typically "embedded" inside some device that they control
  • A microcontroller is often small and low cost
  • Examples

www.mikroe.com/chapters/view/1

3 of 23

What is a Development Board

  • A printed circuit board designed to facilitate work with a particular microcontroller.
  • Typical components include:
    • power circuit
    • programming interface
    • basic input; usually buttons and LEDs
    • I/O pins

4 of 23

The Arduino Development Board

Making-robots-with-arduino.pdf

5 of 23

The Arduino Microcontroller: Atmel ARV Atmega 328

Making-robots-with-arduino.pdf

6 of 23

What is the Arduino

todbot.com/blog/bionicarduino

7 of 23

Getting Started

  • Check out: http://arduino.cc/en/Guide/HomePage
    1. Download & install the Arduino environment (IDE)
    2. Connect the board to your computer via the UBS cable
    3. If needed, install the drivers (not needed in lab)
    4. Launch the Arduino IDE
    5. Select your board
    6. Select your serial port
    7. Open the blink example
    8. Upload the program

8 of 23

Try It: Connect the USB Cable

todbot.com/blog/bionicarduino

9 of 23

Arduino IDE

See: http://arduino.cc/en/Guide/Environment for more information

10 of 23

Select Serial Port and Board

11 of 23

Status Messages

todbot.com/blog/bionicarduino

12 of 23

todbot.com/blog/bionicarduino

13 of 23

Add an External LED to pin 13

  • File > Examples > Digital > Blink
  • LED’s have polarity
    • Negative indicated by flat side of the housing and a short leg

www.instructables.com

14 of 23

A Little Bit About Programming

  • Code is case sensitive
  • Statements are commands and must end with a semi-colon
  • Comments follow a // or begin with /* and end with */
  • loop and setup

15 of 23

Our First Program

16 of 23

Terminology

17 of 23

Digital I/0

pinMode(pin, mode)

Sets pin to either INPUT or OUTPUT

digitalRead(pin)

Reads HIGH or LOW from a pin

digitalWrite(pin, value)

Writes HIGH or LOW to a pin

Electronic stuff

Output pins can provide 40 mA of current

Writing HIGH to an input pin installs a 20KΩ pullup

www.mikroe.com/chapters/view/1

18 of 23

Arduino Timing

  • delay(ms)
    • Pauses for a few milliseconds
  • delayMicroseconds(us)
    • Pauses for a few microseconds
  • More commands: arduino.cc/en/Reference/HomePage

19 of 23

Digital? Analog?

  • Digital has two values: on and off
  • Analog has many (infinite) values
  • Computers don’t really do analog, they quantize
  • Remember the 6 analog input pins---here’s how they work

todbot.com/blog/bionicarduino

20 of 23

Bits and Bytes

21 of 23

Variables

www3.ntu.edu.sg

22 of 23

Putting It Together

  • Complete the sketch (program) below.
  • What output will be generated by this program?
  • What if the schematic were changed? 🡺

www.ladyada.net/learn/arduino

23 of 23

Good References