SlideShare a Scribd company logo
Intro to the Arduino
Topics:
The Arduino
Digital IO
Analog IO
Serial Communication
Topic 1: Meet Arduino Uno
Getting Started
• Check out: http://arduino.cc/en/Guide/HomePage
1. Download & install the Arduino environment (IDE)
(not needed in lab)
2. Connect the board to your computer via the USB
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
Arduino IDE
See: http://arduino.cc/en/Guide/Environment for more information
Select Serial Port and Board
todbot.com/blog/bionicarduino
Input/Output
Image from Theory and Practice of Tangible User Interfaces at UC Berkley
Topic 2: Digital Input/Output
• Digital IO is binary
valued—it’s either on
or off, 1 or 0
• Internally, all
microprocessors are
digital, why?
1
0
Arduino 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
Our First Program
IO Pins
Image from Theory and Practice of Tangible User Interfaces at UC Berkley
In-class Exercise 1: Digital IO
• Use a push-button to turn ON/Off LED
Topic 3: Analog Input
• Think about music stored on a CD---an analog
signal captured on digital media
– Sample rate
– Word length
• Resolution: the number of different voltage levels (i.e.,
states) used to discretize an input signal
• Resolution values range from 256 states (8 bits) to
4,294,967,296 states (32 bits)
• The Arduino uses 1024 states (10 bits)
• Smallest measurable voltage change is 5V/1024 or 4.8 mV
• Maximum sample rate is 10,000 times a second
Arduino Analog Input
Image credit: Tod Kurt
How does ADC work?
• How does ADC work
• Excel Demonstration
• Can a digital devise produce analog
output?
Topic 3: Analog Output
• Analog output can be simulated using
pulse width modulation (PWM)
Image from Theory and Practice of Tangible User Interfaces at UC Berkley
Pulse Width Modulation
• Can’t use digital pins
to directly supply say
2.5V, but can pulse
the output on and off
really fast to produce
the same effect
• The on-off pulsing
happens so quickly,
the connected output
device “sees” the
result as a reduction
in the voltage
Image from Theory and Practice of Tangible User Interfaces at UC Berkley
PWM Duty Cycle
Fixed cycle length; constant
number of cycles/sec
Image credit: Tod Kurt
output voltage = (on_time / cycle_time) * 5V
PMW Pins
• Command:
analogWrite(pin,value
)
• value is duty cycle:
between 0 and 255
• Examples:
analogWrite(9, 128)
for a 50% duty cycle
analogWrite(11, 64)
for a 25% duty cycleImage from Theory and Practice of Tangible User Interfaces at UC Berkley
In-class Exercise 2: Analog IO
A light theremin
Part 1:
In-class Exercise 2: Analog IO
• Add a 330 ohm resistor and an LED to
pin 9
• Using the analogWrite() command,
set the intensity of the LED as a
function of the value of prReading
Part 2: Add an LED
Topic 4: Serial Communication
Image from http://www.ladyada.net/learn/arduino/lesson4.html
todbot.com/blog/bionicarduino
Serial Communication
• Compiling turns your program into
binary data (ones and zeros)
• Uploading sends the bits through
USB cable to the Arduino
• The two LEDs near the USB
connector blink when data is
transmitted
• RX blinks when the Arduino is
receiving data
• TX blinks when the Arduino is
transmitting data
todbot.com/blog/bionicarduino
Open the Serial Monitor and
Upload the Program
Some Commands
• Serial.begin()
- e.g., Serial.begin(9600)
• Serial.print() or Serial.println()
- e.g., Serial.print(value)
• Serial.read()
• Serial.available()
• Serial.write()
• Serial.parseInt()
• Example Program
Serial-to-USB chip---what does it do?
Image from Theory and Practice of Tangible User Interfaces at UC Berkley
The LilyPad and Fio Arduino require an external USB to
TTY connector, such as an FTDI “cable”.
In the Arduino Leonardo a single microcontroller runs the
Arduino programs and handles the USB connection.
Two different communication
protocols
Serial (TTL):
Image from http://www.fiz-ix.com/2013/02/introduction-to-arduino-serial-communication/
USB Protocol
• Much more complicated
Image from http://en.wikipedia.org/wiki/USB
In-class Exercise 3: Serial
Communication
Modify your program from in-class
exercise 2-part 2 to control the
intensity of the LED attached to pin 9
based on keyboard input.
Use the Serial.parseInt() method to
read numeric keyboard input as an
integer.
An input of 9 should produce full
intensity and an input of 0 should turn
the LED off.

More Related Content

PDF
Arduino basics
PPTX
Arduino for beginners- Introduction to Arduino (presentation) - codewithgauri
PDF
Lecture 2 - Electronics for the Internet of Things
PPTX
Arduino course
PPTX
Fun with arduino
PDF
Embedded system introduction - Arduino Course
PPTX
Introduction to Arduino
PPTX
Arduino Model's
Arduino basics
Arduino for beginners- Introduction to Arduino (presentation) - codewithgauri
Lecture 2 - Electronics for the Internet of Things
Arduino course
Fun with arduino
Embedded system introduction - Arduino Course
Introduction to Arduino
Arduino Model's

What's hot (20)

PPTX
Arduino e-Course Syllabus for Beginners
PDF
Introducing the Arduino
PDF
Arduino tutorial
PPTX
ODP
Intro to Hardware Programming with the Arduino Uno
PPTX
Instructor background
PPT
Arduino and Internet of Thinks: ShareIT TM: march 2010, TM
KEY
Intro to Arduino
PPTX
Programming with arduino
PDF
Lecture6
PDF
Introduction to Arduino Programming
PPTX
Arduino tutorial #4
PPTX
Raspberry pi tutorial #2
PPTX
Arduino 123
PPTX
Arduino tutorial #3
PDF
Analog to Digital Conversion Using Microcontroller Education Boards
PDF
The IoT Academy IoT training Arduino Part 2 Arduino IDE
PPT
arduino-1
ODP
Embedded controls
PPTX
Tech Talk IOT
Arduino e-Course Syllabus for Beginners
Introducing the Arduino
Arduino tutorial
Intro to Hardware Programming with the Arduino Uno
Instructor background
Arduino and Internet of Thinks: ShareIT TM: march 2010, TM
Intro to Arduino
Programming with arduino
Lecture6
Introduction to Arduino Programming
Arduino tutorial #4
Raspberry pi tutorial #2
Arduino 123
Arduino tutorial #3
Analog to Digital Conversion Using Microcontroller Education Boards
The IoT Academy IoT training Arduino Part 2 Arduino IDE
arduino-1
Embedded controls
Tech Talk IOT
Ad

Similar to Arduino wk2 (20)

PDF
The IoT Academy IoT training Arduino Part 4 Arduino interfaces
PPT
introduction to arduino and digital input and output, Data representation and...
PPTX
Aurdidino1 anurag preetirajesh-sgsits
PPTX
arduinoedit.pptx
PPTX
Introduction To Arduino-converted for s.pptx
PPT
13223971.ppt
PPTX
PEQUEÑO CURSO DE ARDUINO DESDE SEÑALES HASTA PROGRAMACIÓN
PPTX
INTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNO
PPTX
Arduino . .
PDF
Arduino - Learning.pdf
PPTX
Arduino Programming Familiarization
PDF
Nsac l1-introduction pwm
PDF
introductiontoarduino-111120102058-phpapp02.pdf
PPTX
Arduino cic3
PPT
Arduino_CSE ece ppt for working and principal of arduino.ppt
PPTX
Introduction to Arduino with ArduBlock & SparkFun LilyPad
PPTX
Intro to Arduino.ppt
PPTX
Arduino intro.pptx
PPTX
Basic arduino components and more things about arduino
The IoT Academy IoT training Arduino Part 4 Arduino interfaces
introduction to arduino and digital input and output, Data representation and...
Aurdidino1 anurag preetirajesh-sgsits
arduinoedit.pptx
Introduction To Arduino-converted for s.pptx
13223971.ppt
PEQUEÑO CURSO DE ARDUINO DESDE SEÑALES HASTA PROGRAMACIÓN
INTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNO
Arduino . .
Arduino - Learning.pdf
Arduino Programming Familiarization
Nsac l1-introduction pwm
introductiontoarduino-111120102058-phpapp02.pdf
Arduino cic3
Arduino_CSE ece ppt for working and principal of arduino.ppt
Introduction to Arduino with ArduBlock & SparkFun LilyPad
Intro to Arduino.ppt
Arduino intro.pptx
Basic arduino components and more things about arduino
Ad

Recently uploaded (20)

PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Cell Structure & Organelles in detailed.
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Classroom Observation Tools for Teachers
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Insiders guide to clinical Medicine.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Cell Structure & Organelles in detailed.
Renaissance Architecture: A Journey from Faith to Humanism
O7-L3 Supply Chain Operations - ICLT Program
STATICS OF THE RIGID BODIES Hibbelers.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Classroom Observation Tools for Teachers
2.FourierTransform-ShortQuestionswithAnswers.pdf
Final Presentation General Medicine 03-08-2024.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Microbial disease of the cardiovascular and lymphatic systems
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
O5-L3 Freight Transport Ops (International) V1.pdf
Microbial diseases, their pathogenesis and prophylaxis
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Insiders guide to clinical Medicine.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx

Arduino wk2

  • 1. Intro to the Arduino Topics: The Arduino Digital IO Analog IO Serial Communication
  • 2. Topic 1: Meet Arduino Uno
  • 3. Getting Started • Check out: http://arduino.cc/en/Guide/HomePage 1. Download & install the Arduino environment (IDE) (not needed in lab) 2. Connect the board to your computer via the USB 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
  • 5. Select Serial Port and Board
  • 7. Input/Output Image from Theory and Practice of Tangible User Interfaces at UC Berkley
  • 8. Topic 2: Digital Input/Output • Digital IO is binary valued—it’s either on or off, 1 or 0 • Internally, all microprocessors are digital, why? 1 0
  • 9. Arduino 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
  • 11. IO Pins Image from Theory and Practice of Tangible User Interfaces at UC Berkley
  • 12. In-class Exercise 1: Digital IO • Use a push-button to turn ON/Off LED
  • 13. Topic 3: Analog Input • Think about music stored on a CD---an analog signal captured on digital media – Sample rate – Word length
  • 14. • Resolution: the number of different voltage levels (i.e., states) used to discretize an input signal • Resolution values range from 256 states (8 bits) to 4,294,967,296 states (32 bits) • The Arduino uses 1024 states (10 bits) • Smallest measurable voltage change is 5V/1024 or 4.8 mV • Maximum sample rate is 10,000 times a second Arduino Analog Input Image credit: Tod Kurt
  • 15. How does ADC work? • How does ADC work • Excel Demonstration
  • 16. • Can a digital devise produce analog output? Topic 3: Analog Output • Analog output can be simulated using pulse width modulation (PWM) Image from Theory and Practice of Tangible User Interfaces at UC Berkley
  • 17. Pulse Width Modulation • Can’t use digital pins to directly supply say 2.5V, but can pulse the output on and off really fast to produce the same effect • The on-off pulsing happens so quickly, the connected output device “sees” the result as a reduction in the voltage Image from Theory and Practice of Tangible User Interfaces at UC Berkley
  • 18. PWM Duty Cycle Fixed cycle length; constant number of cycles/sec Image credit: Tod Kurt output voltage = (on_time / cycle_time) * 5V
  • 19. PMW Pins • Command: analogWrite(pin,value ) • value is duty cycle: between 0 and 255 • Examples: analogWrite(9, 128) for a 50% duty cycle analogWrite(11, 64) for a 25% duty cycleImage from Theory and Practice of Tangible User Interfaces at UC Berkley
  • 20. In-class Exercise 2: Analog IO A light theremin Part 1:
  • 21. In-class Exercise 2: Analog IO • Add a 330 ohm resistor and an LED to pin 9 • Using the analogWrite() command, set the intensity of the LED as a function of the value of prReading Part 2: Add an LED
  • 22. Topic 4: Serial Communication Image from http://www.ladyada.net/learn/arduino/lesson4.html
  • 24. Serial Communication • Compiling turns your program into binary data (ones and zeros) • Uploading sends the bits through USB cable to the Arduino • The two LEDs near the USB connector blink when data is transmitted • RX blinks when the Arduino is receiving data • TX blinks when the Arduino is transmitting data todbot.com/blog/bionicarduino
  • 25. Open the Serial Monitor and Upload the Program
  • 26. Some Commands • Serial.begin() - e.g., Serial.begin(9600) • Serial.print() or Serial.println() - e.g., Serial.print(value) • Serial.read() • Serial.available() • Serial.write() • Serial.parseInt() • Example Program
  • 27. Serial-to-USB chip---what does it do? Image from Theory and Practice of Tangible User Interfaces at UC Berkley The LilyPad and Fio Arduino require an external USB to TTY connector, such as an FTDI “cable”. In the Arduino Leonardo a single microcontroller runs the Arduino programs and handles the USB connection.
  • 28. Two different communication protocols Serial (TTL): Image from http://www.fiz-ix.com/2013/02/introduction-to-arduino-serial-communication/
  • 29. USB Protocol • Much more complicated Image from http://en.wikipedia.org/wiki/USB
  • 30. In-class Exercise 3: Serial Communication Modify your program from in-class exercise 2-part 2 to control the intensity of the LED attached to pin 9 based on keyboard input. Use the Serial.parseInt() method to read numeric keyboard input as an integer. An input of 9 should produce full intensity and an input of 0 should turn the LED off.