SlideShare a Scribd company logo
An Arduino
Workshop

By: Andrew Tuline
Overview
•
•
•
•
•
•

Introductions
Check out the kits
Do the drivers work?
Experiment time
Some reference material
Create your own project

If you like, you can go at your own pace
Introductions

Work on your own or work as a team, and help each other out.
Open ‘er Up
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.

1 pcs x for Arduino UNO board
1 pcs x Development expansion board
1 pcs x Breadboard
5 pcs x LED kit (red / blue / yellow)
1 pcs x 74hc595
2 pcs x Buzzers
1 pcs x Seven-segment display (1-digit)
1 pcs x Seven-segment display (4-digit)
~10 pcs x Push button switches
3 pcs x Light dependent resistors
5 pcs x 10K resistors
5 pcs x 1K resistors
~8 pcs x 220R resistors
1 pcs x Adjustable resistor
1 pcs x LM35 temperature sensor
1 pcs x 1602 LCD display
1pcs x PS2 joystick
1 pcs x Stepping motor
1 pcs x Stepping motor driver board
1 pcs x Steering engine (servo)
1 pcs x RGB LED module
~30 pcs x Breadboard cables
~10 pcs x Dupont lines
1 pcs x 2.54mm pin header
2 pcs x Mercury switches
1 pcs x Flame sensor
1 pcs x Infrared receiver
1 pcs x USB cable (80cm)
1 pcs x Remote control
1 pcs x Battery case

Err . . most of it should be there.
The Official Arduino Robot
> $300
Or you can build
your own for less

Do a Google search for ‘Sumobot’.
Installing Arduino DE
• On Windows 7
• Installs to C:Program Files (x86)Arduino
• Your programs are in C:UsersuseridDocumentsArduino
• ‘Tools | Board’ should say ‘Arduino UNO’
• In Device Manager, see ‘Ports (COM & LPT)’
• Device drivers in C:Program Files (x86)ArduinodriversFTDI
USB Drivers

You running 32 bit or 64 bit?
Touring the IDE
• ‘File | Examples’ includes lots of examples
• ‘File | Upload’ is how we compile and upload our program to
the Arduino
• ‘Help | Reference’ includes a local copy of the Language
Reference
A Breadboard
Simple Schematic
Simple Layout

1) Connect the power bus first.
2) Add the LED and resistor.
3) Connect them to the power bus.
Ohm’s Law
Current = Volts / Resistance
or

I=E/R
If we have a 5 volt battery and a 200 ohm resistor.
5 volts / 200 ohms = .025 amps

The higher the resistance, the lower the current.
Don’t Blow It Up
•
•
•
•

An LED needs about 1.4 volts to light up.
An LED should run at around .02 amps.
If you put 5V into an LED, it could burn out.
We’ll need a resistor to reduce the voltage and
ensure adequate current.

5V - 1.4V = 3.6V
I = E / R is the same as R = E / I
R = 3.6 / .02 = 180 ohms
Blinky LED Layout

Move the red wire from 5V to pin 13.
Blinky LED Code

What happens if you move the red wire to 5V and the black to pin 13.
Button Schematic

We’ll light up the internal LED when the switch is pushed.
Button Layout

Why the 10K resistor?
Button Code
/* Button
*/
const int buttonPin = 2;
const int ledPin = 13;

// the number of the pushbutton pin
// the number of the LED pin

int buttonState = 0;

// variable for reading the pushbutton status

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);

// read the state of the pushbutton value

if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}

You can make this code a lot shorter!
Analog vs. Digital

Analog outputs are expensive!
Analog vs. PWM Signals

PWM is cheap to implement!
Fade Schematic
Fade Layout
Fade Code
/* Fade
*/
int led = 9;
int brightness = 0;
int fadeAmount = 5;

// the pin that the LED is attached to
// how bright the LED is
// how many points to fade the LED by

void setup() {
pinMode(led, OUTPUT);
}

// declare pin 9 to be an output

void loop() {
analogWrite(led, brightness);

// set the brightness of pin 9 (it’s not really analog)

brightness = brightness + fadeAmount;
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}

// reverse the direction of the fading at the ends of the fade

delay(30);
}

// change the brightness for next time through the loop

// wait for 30 milliseconds to see the dimming effect
Analog Read Schematic

Try both the potentiometer
and the joystick for this
experiment.
Analog Read Layout
Analog Read Code
/* Analog Read
*/
void setup() {
Serial.begin(9600);
}

// initialize console output at 9600 bits per second
// Press ctrl-shift-m to bring up the console

void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(10);
}

// read the input on analog pin 0
// print out the value you read
// delay in between reads for stability

The potentiometer is logarithmic while the joystick is linear.
Potentiometer Fader
• The joystick provides values between 0 – 1023
• The LED takes values between 0 – 255
• We need to scale to fit

ledValue = map(joystickValue, 0, 1023, 0, 255);

Either divide the sensor value by 4
OR
Use the ‘map’ command
Potentiometer Fader Schematic
Potentiometer Fader Code
/* Potentiometer Fader
*/

const int analogInPin = A0;
const int analogOutPin = 9;

// Analog input pin that the potentiometer is attached to
// Analog output pin that the LED is attached to

int sensorValue = 0;
int outputValue = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023, 0, 255);
analogWrite(analogOutPin, outputValue);
Serial.println(outputValue);
delay(2);
}

You could also use the joystick to change the frequency of the fade!
Fader Variations
• Hook up the RGB LED (common cathode)
• Use the x/y of the joystick to control
brightness and fade speed
• Use the button to change colours
• Adjust the map ranges
• Create a colour cycling fader
Light and Sound Schematic
Light and Sound Code
/* Light and Sound
*/
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorReading = analogRead(A0);
Serial.println(sensorReading);
// map the analog input range (in this case, ~80 - 310 from the photo resistor)
// to the output pitch range (100 - 1000Hz)
int thisPitch = map(sensorReading, 80, 310, 100, 1000);

tone(9, thisPitch);
delay(1);

// play the pitch on pin 9
// delay in between reads for stability

}

Not quite the same value resistors as on the web site – so fudge it!
Additional Experiments
•
•
•
•
•
•
•

LCD display
Servo
Stepper motor
Temperature sensor
Tilt sensor
Shift register
IR sensor
There’s thousands online!
Now THIS Is A Breadboard
More Cool Parts and Kits
•
•
•
•
•
•
•
•

Ultrasonic Sensor
Motor driver board
Robot chassis
LED Strips
8x8 LED display
Color organ board
Electroluminescent wire
Ardupilot
You’ve still got to program it!
Tools
•
•
•
•
•
•
•
•

Needle nose pliers
Multi-meter
Wire strippers
Wire cutter
Soldering iron + solder + flux + wick
Vise
3rd hand
Oscilloscope (for those with $$$)
I need strong reading glasses and good light!
Arduino Tutorials
•
•
•
•
•

arduino.cc/tutorial
playground.arduino.cc
tronixstuff.com/tutorials
learn.sparkfun.com/tutorials
oomlout.com/a/products/ardx

Don’t forget the examples included with the Arduino software
Inspirational Web Sites
•
•
•
•

www.instructables.com
www.tindie.com
www.makershed.com
www.makezine.com
Sources for Parts
•
•
•
•
•
•
•

www.robotshop.ca
www.sparkfun.com
www.leeselectronics.com
www.adafruit.com
www.ebay.ca
www.amazon.com
www.dealextreme.com

A VISA card helps
Arduino Workshop
University
Hardware Hacker

https://diy.org/skills/hardwarehacker
Make Something

More Related Content

PPTX
Introduction to Arduino
PPTX
Arduino Microcontroller
PPTX
Introduction to the Arduino
PPTX
Introduction to Arduino
PPTX
Arduino
PPT
Arduino presentation by_warishusain
PDF
Arduino Lecture 1 - Introducing the Arduino
Introduction to Arduino
Arduino Microcontroller
Introduction to the Arduino
Introduction to Arduino
Arduino
Arduino presentation by_warishusain
Arduino Lecture 1 - Introducing the Arduino

What's hot (20)

PDF
Arduino Workshop Day 1 - Basic Arduino
PPTX
Ardui no
PDF
Arduino Workshop Day 2 - Advance Arduino & DIY
PPTX
Basics of arduino uno
PPTX
Introduction to Arduino
PPT
Intro to Arduino
PPTX
Arduino course
PPS
What is Arduino ?
PPT
Arduino
PDF
Power electronics Introduction
PPTX
Arduino for beginners- Introduction to Arduino (presentation) - codewithgauri
PDF
Report on arduino
PPTX
Arduino uno
PPTX
Introduction to Node MCU
PPTX
Introduction to arduino
PPTX
8051 programming in c
PPTX
Function generator
PPTX
Function generator
PPTX
ANDROID BASED HOME APPLIANCE CONTROL USING APP IN MOBILE
PPTX
Introduction to arduino ppt main
Arduino Workshop Day 1 - Basic Arduino
Ardui no
Arduino Workshop Day 2 - Advance Arduino & DIY
Basics of arduino uno
Introduction to Arduino
Intro to Arduino
Arduino course
What is Arduino ?
Arduino
Power electronics Introduction
Arduino for beginners- Introduction to Arduino (presentation) - codewithgauri
Report on arduino
Arduino uno
Introduction to Node MCU
Introduction to arduino
8051 programming in c
Function generator
Function generator
ANDROID BASED HOME APPLIANCE CONTROL USING APP IN MOBILE
Introduction to arduino ppt main
Ad

Viewers also liked (8)

PDF
Catalogo unitronics 2012_intrave
PPTX
8x8 dot matrix(project)
PPTX
Introduction to Arduino
PPTX
Temperature Sensor with LED matrix Display BY ►iRFAN QADOOS◄ 9
PDF
5x7 matrix led display
PPTX
Temperature sensor with a led matrix display (arduino controlled)
DOC
Moving message display
PPTX
Role of easy vr in Arduino Speech Processing
Catalogo unitronics 2012_intrave
8x8 dot matrix(project)
Introduction to Arduino
Temperature Sensor with LED matrix Display BY ►iRFAN QADOOS◄ 9
5x7 matrix led display
Temperature sensor with a led matrix display (arduino controlled)
Moving message display
Role of easy vr in Arduino Speech Processing
Ad

Similar to Arduino Workshop (20)

PDF
publish manual
PPT
Physical prototyping lab2-analog_digital
PPT
Physical prototyping lab2-analog_digital
PDF
arduinoworkshop-160204051621.pdf
PPTX
Arduino Workshop (3).pptx
PDF
Arduino based applications part 1
PDF
Intro to-the-arduino
PDF
Hardware Hacking and Arduinos
PPTX
Arduino Robotics workshop Day1
PDF
Making things sense - Day 1 (May 2011)
PPTX
Arduino Intro Guide 2
PDF
Arduino learning
PDF
NSTA 2013 Denver - ArduBlock and Arduino
PDF
Presentation S4A
PDF
Presentation
PDF
Intro arduino English
PDF
L6 Visual Output LED_7SEGMEN_LEDMATRIX upate.pdf
PDF
L6 Visual Output LED_7SEGMEN_LEDMATRIX upate.pdf
PDF
Arduino - Learning.pdf
PPTX
arduino simulators OR microcontroller.pptx
publish manual
Physical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digital
arduinoworkshop-160204051621.pdf
Arduino Workshop (3).pptx
Arduino based applications part 1
Intro to-the-arduino
Hardware Hacking and Arduinos
Arduino Robotics workshop Day1
Making things sense - Day 1 (May 2011)
Arduino Intro Guide 2
Arduino learning
NSTA 2013 Denver - ArduBlock and Arduino
Presentation S4A
Presentation
Intro arduino English
L6 Visual Output LED_7SEGMEN_LEDMATRIX upate.pdf
L6 Visual Output LED_7SEGMEN_LEDMATRIX upate.pdf
Arduino - Learning.pdf
arduino simulators OR microcontroller.pptx

Recently uploaded (20)

PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation theory and applications.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Chapter 3 Spatial Domain Image Processing.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Machine Learning_overview_presentation.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
Encapsulation theory and applications.pdf
Programs and apps: productivity, graphics, security and other tools
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
MYSQL Presentation for SQL database connectivity
Chapter 3 Spatial Domain Image Processing.pdf
The AUB Centre for AI in Media Proposal.docx
sap open course for s4hana steps from ECC to s4
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Machine Learning_overview_presentation.pptx

Arduino Workshop

Editor's Notes

  • #2: I want to do that and more and I’m going to use the highly popular Arduino Microcontroller.
  • #4: Get programmers to team up with non-programmers. Helping out each other is critical to success.
  • #7: Let’s go through some menu items.
  • #20: An optional slide, depending on the audience.