SlideShare a Scribd company logo
Re-programming the Simon Says
with Arduino
Linz Craig, Brian Huang
arduino Simon power point presentation.ppt
Agenda
• About us / Introductions
• Software Installation
• What can it do? Who cares?
• Blink Sketch  Disco Lights
• Using Variables
• If() statement  reading buttonPress
• Analog Sensors  Fading
• Making Sound
About Us
SparkFun Electronics is all about creation,
innovation and sharing information. We
want to get you excited about cutting
edge electronics technology with our
hands on educational kits.
Arduino Board
“Strong Friend” Created in Ivrea, Italy
in 2005 by Massimo Banzi & David Cuartielles
Open Source Hardware
Atmel Processor
Coding is accessible (C++, Processing, ModKit and MiniBloq)
Arduino Software Installation
Open Source
Free
Available on-line with resources at:
www.arduino.cc
What can it do?
•Great for prototyping
ideas
•Access to multiple I/O
•Drive motors, turn on
lights, trigger controls.
•Low Power requirements
•Flexible / Open-source
Who cares?
Hackers / Makers
Engineers
Artists
Musicians
Kids!
Teachers!!
You!!!
Setup Board Type
Tools → Board → Arduino Uno
Setup Serial COM Port
Tools → Serial Port →
Notes:
PC –
Highest COM #
Mac –
/dev/tty.usbserial-A####xxx
Analog and Digital
• All Arduino signals are either Analog or
Digital
• All computers including Arduino, only
understand Digital
• It is important to understand the
difference between Analog and Digital
signals since Analog signals require an
Analog to Digital conversion
Input vs. Output
Everything is referenced from the perspective of the
microcontroller.
Inputs is a signal going into the board.
Output is any signal exiting an electrical system
•Almost all systems that use physical computing will
have some form of output
•Often – Outputs include LEDs, a motor, a servo, a piezo
element, a relay and an RGB LED
Basic Program
Two required routines /
methods / functions:
void setup()
{
// runs once
}
void loop()
{
// repeats forever!!!
}
upload
Let’s get to hacking…
Project #1 – Blink
“Hello World” of Physical Computing
Psuedo-code – how should this work?
Three commands to know…
pinMode(pin, INPUT/OUTPUT);
ex: pinMode(13, OUTPUT);
digitalWrite(pin, HIGH/LOW);
ex: digitalWrite(13, HIGH);
delay(time_ms);
ex: delay(2500);
LED1 = ~3;
LED2 = ~5;
LED3 = ~10;
LED4 = 13;
Can you figure out which LED is tied to which
pin? Write down a few notes in your notebook!
3
5
13
LED Pin Configurations
10
Output is always Digital
To output a signal that pretends to be Analog use
this code:
analogWrite (pinNumber, value );
Where pin is one of the analog output pins: 3, 5,
6, 9, 10, 11
Where value is a number ranging from: 0 – 255.
Output is always Digital
(ON or OFF)
Using a Digital signal that pretends to be an Analog
signal is called Pulse Width Modulation (PWM)
By varying the duty cycle, we can “fake” an analog
signal output.
PWM is available on Arduino pins # 3, 5, 6, 9, 10, and
11
P.W.M. Signal @ 25% P.W.M. Signal @ 75% P.W.M. Signal rising
SIMON_2b_BLINK
Using Variables
To clean-up code, for read-ability, and flexibility – we can
create placeholders in code.
Example:
int ledPin = 3;
void setup(){
pinMode(ledPin, OUTPUT);
}
void loop(){
digitalWrite(ledPin, HIGH);
}
Digital Input
int button_state = digitalRead(ButtonPin);
Value will be either: HIGH or LOW
Reading a button press
Button Input is normally HIGH –
when you press it, you pull it
LOW.
The Code:
int buttonPress = digitalRead(2);
Activating the Internal Pull-up
Resistor
pinMode(pin, INPUT_PULLUP);
ex: pinMode(2, INPUT_PULLUP);
Notes:
BUTTON1 = 2;
BUTTON2 = 6;
BUTTON3 = 9;
BUTTON4 = 12;
BUTTON1 = 2;
BUTTON2 = 6;
BUTTON3 = 9;
BUTTON4 = 12;
Can you figure out which Button is tied to which
pin? Write down a few notes in your notebook!
2
6
12
Button Pin Configurations
9
Conditional Statements
If…
General Use
if(condition)
{
// do this
}
Example
if(button_State==HIGH)
{
digitalWrite(ledPin,
HIGH);
delay(300);
digitalWrite(ledPin,
LOW);
delay(300);
}
Digital Input
• To connect digital input to your Arduino use Digital
Pins # 0 – 13 (Although pins # 0 & 1 are also used
for serial)
• Digital Input needs a pinMode command:
pinMode ( pinNumber, INPUT );
Make sure to use caps for INPUT
• To get a digital reading: digitalRead ( pinNumber );
• Digital Input values are only HIGH (On) or LOW (Off)
Last bit… the buzzer
SIMON_3_BUZZER
Final command to know:
tone(pin, freq, duration);
pin – the OUTPUT pin the buzzer is
connected to.
freq – unsigned int (0 … 65,535)
duration – unsigned long (0 … 2^32 - 1)
Buzzer Pins
The Buzzer is connected between pins D4
and D7.
You must set both pins as OUTPUTs –
pinMode(4, OUTPUT);
pinMode(7, OUTPUT);
Use tone(4, 440); to generate a 440 Hz
sound.
Musical Notes / Frequencies
Note Frequency (Hz)
C4 261
C#
4/Db
4 277
D4 293
D#
4/Eb
4 311
E4 329
F4 349
F#
4/Gb
4 369
G4 392
G#
4/Ab
4 415
A4 440
A#
4/Bb
4 466
B4 493
Note Frequency (Hz)
C5 523
C#
5/Db
5 554
D5 587
D#
5/Eb
5 622
E5 659
F5 698
F#
5/Gb
5 739
G5 783
G#
5/Ab
5 830
A5 880
A#
5/Bb
5 932
B5 987
Simon DiscoMode
• Array variables
• custom functions
• buzz(tone_id);
• change_led();
Questions?
www.sparkfun.com
6175 Longbow Drive, Suite 200
Boulder, Colorado 80301
Ad

More Related Content

Similar to arduino Simon power point presentation.ppt (20)

Lesson sample introduction to arduino
Lesson sample   introduction to arduinoLesson sample   introduction to arduino
Lesson sample introduction to arduino
Betsy Eng
 
Intro to Arduino Revision #2
Intro to Arduino Revision #2Intro to Arduino Revision #2
Intro to Arduino Revision #2
Qtechknow
 
Presentation of online Internship Program on Arduino completed at INTERNSHALA
Presentation of online Internship Program on Arduino completed at INTERNSHALAPresentation of online Internship Program on Arduino completed at INTERNSHALA
Presentation of online Internship Program on Arduino completed at INTERNSHALA
AviPatel16612
 
Cassiopeia Ltd - standard Arduino workshop
Cassiopeia Ltd - standard Arduino workshopCassiopeia Ltd - standard Arduino workshop
Cassiopeia Ltd - standard Arduino workshop
tomtobback
 
Powerful Electronics with Arduino
Powerful Electronics with ArduinoPowerful Electronics with Arduino
Powerful Electronics with Arduino
Abdallah Hodieb
 
Arduino اردوينو
Arduino اردوينوArduino اردوينو
Arduino اردوينو
salih mahmod
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
Luki B. Subekti
 
Programming arduino makeymakey
Programming arduino makeymakeyProgramming arduino makeymakey
Programming arduino makeymakey
Industrial Design Center
 
Aurdino presentation
Aurdino presentationAurdino presentation
Aurdino presentation
C.Vamsi Krishna
 
Introduction to Arduino Microcontroller
Introduction to Arduino MicrocontrollerIntroduction to Arduino Microcontroller
Introduction to Arduino Microcontroller
Mujahid Hussain
 
Arduino slides
Arduino slidesArduino slides
Arduino slides
sdcharle
 
Arduino Workshop Slides
Arduino Workshop SlidesArduino Workshop Slides
Arduino Workshop Slides
mkarlin14
 
Arduino intro.pptx
Arduino intro.pptxArduino intro.pptx
Arduino intro.pptx
SanthanaMari11
 
Arduino Programming Basic
Arduino Programming BasicArduino Programming Basic
Arduino Programming Basic
LITS IT Ltd,LASRC.SPACE,SAWDAGOR BD,FREELANCE BD,iREV,BD LAW ACADEMY,SMART AVI,HEA,HFSAC LTD.
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
Green Moon Solutions
 
Arduino course
Arduino courseArduino course
Arduino course
Ahmed Shelbaya
 
arduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdfarduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdf
ssusere5db05
 
NSTA 2013 Denver - ArduBlock and Arduino
NSTA 2013 Denver - ArduBlock and ArduinoNSTA 2013 Denver - ArduBlock and Arduino
NSTA 2013 Denver - ArduBlock and Arduino
Brian Huang
 
IOTC08 The Arduino Platform
IOTC08 The Arduino PlatformIOTC08 The Arduino Platform
IOTC08 The Arduino Platform
Eoin Brazil
 
Arduino Introduction PPT for school students
Arduino Introduction PPT for school studentsArduino Introduction PPT for school students
Arduino Introduction PPT for school students
stusanthosh5195
 
Lesson sample introduction to arduino
Lesson sample   introduction to arduinoLesson sample   introduction to arduino
Lesson sample introduction to arduino
Betsy Eng
 
Intro to Arduino Revision #2
Intro to Arduino Revision #2Intro to Arduino Revision #2
Intro to Arduino Revision #2
Qtechknow
 
Presentation of online Internship Program on Arduino completed at INTERNSHALA
Presentation of online Internship Program on Arduino completed at INTERNSHALAPresentation of online Internship Program on Arduino completed at INTERNSHALA
Presentation of online Internship Program on Arduino completed at INTERNSHALA
AviPatel16612
 
Cassiopeia Ltd - standard Arduino workshop
Cassiopeia Ltd - standard Arduino workshopCassiopeia Ltd - standard Arduino workshop
Cassiopeia Ltd - standard Arduino workshop
tomtobback
 
Powerful Electronics with Arduino
Powerful Electronics with ArduinoPowerful Electronics with Arduino
Powerful Electronics with Arduino
Abdallah Hodieb
 
Arduino اردوينو
Arduino اردوينوArduino اردوينو
Arduino اردوينو
salih mahmod
 
Introduction to Arduino Microcontroller
Introduction to Arduino MicrocontrollerIntroduction to Arduino Microcontroller
Introduction to Arduino Microcontroller
Mujahid Hussain
 
Arduino slides
Arduino slidesArduino slides
Arduino slides
sdcharle
 
Arduino Workshop Slides
Arduino Workshop SlidesArduino Workshop Slides
Arduino Workshop Slides
mkarlin14
 
arduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdfarduinocourse-180308074529 (1).pdf
arduinocourse-180308074529 (1).pdf
ssusere5db05
 
NSTA 2013 Denver - ArduBlock and Arduino
NSTA 2013 Denver - ArduBlock and ArduinoNSTA 2013 Denver - ArduBlock and Arduino
NSTA 2013 Denver - ArduBlock and Arduino
Brian Huang
 
IOTC08 The Arduino Platform
IOTC08 The Arduino PlatformIOTC08 The Arduino Platform
IOTC08 The Arduino Platform
Eoin Brazil
 
Arduino Introduction PPT for school students
Arduino Introduction PPT for school studentsArduino Introduction PPT for school students
Arduino Introduction PPT for school students
stusanthosh5195
 

Recently uploaded (20)

Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
Dynamics of Structures with Uncertain Properties.pptx
Dynamics of Structures with Uncertain Properties.pptxDynamics of Structures with Uncertain Properties.pptx
Dynamics of Structures with Uncertain Properties.pptx
University of Glasgow
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
最新版加拿大魁北克大学蒙特利尔分校毕业证(UQAM毕业证书)原版定制
最新版加拿大魁北克大学蒙特利尔分校毕业证(UQAM毕业证书)原版定制最新版加拿大魁北克大学蒙特利尔分校毕业证(UQAM毕业证书)原版定制
最新版加拿大魁北克大学蒙特利尔分校毕业证(UQAM毕业证书)原版定制
Taqyea
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
PRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Academy - Functional Modeling In Action with PRIZ.pdfPRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Guru
 
Novel Plug Flow Reactor with Recycle For Growth Control
Novel Plug Flow Reactor with Recycle For Growth ControlNovel Plug Flow Reactor with Recycle For Growth Control
Novel Plug Flow Reactor with Recycle For Growth Control
Chris Harding
 
ISO 9001 quality management systemPPT.pptx
ISO 9001 quality management systemPPT.pptxISO 9001 quality management systemPPT.pptx
ISO 9001 quality management systemPPT.pptx
mesfin608
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
Smart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineeringSmart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineering
rushikeshnavghare94
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Journal of Soft Computing in Civil Engineering
 
MODULE 03 - CLOUD COMPUTING- [BIS 613D] 2022 scheme.pptx
MODULE 03 - CLOUD COMPUTING-  [BIS 613D] 2022 scheme.pptxMODULE 03 - CLOUD COMPUTING-  [BIS 613D] 2022 scheme.pptx
MODULE 03 - CLOUD COMPUTING- [BIS 613D] 2022 scheme.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
Dynamics of Structures with Uncertain Properties.pptx
Dynamics of Structures with Uncertain Properties.pptxDynamics of Structures with Uncertain Properties.pptx
Dynamics of Structures with Uncertain Properties.pptx
University of Glasgow
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
最新版加拿大魁北克大学蒙特利尔分校毕业证(UQAM毕业证书)原版定制
最新版加拿大魁北克大学蒙特利尔分校毕业证(UQAM毕业证书)原版定制最新版加拿大魁北克大学蒙特利尔分校毕业证(UQAM毕业证书)原版定制
最新版加拿大魁北克大学蒙特利尔分校毕业证(UQAM毕业证书)原版定制
Taqyea
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
PRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Academy - Functional Modeling In Action with PRIZ.pdfPRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Academy - Functional Modeling In Action with PRIZ.pdf
PRIZ Guru
 
Novel Plug Flow Reactor with Recycle For Growth Control
Novel Plug Flow Reactor with Recycle For Growth ControlNovel Plug Flow Reactor with Recycle For Growth Control
Novel Plug Flow Reactor with Recycle For Growth Control
Chris Harding
 
ISO 9001 quality management systemPPT.pptx
ISO 9001 quality management systemPPT.pptxISO 9001 quality management systemPPT.pptx
ISO 9001 quality management systemPPT.pptx
mesfin608
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
Smart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineeringSmart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineering
rushikeshnavghare94
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
Ad

arduino Simon power point presentation.ppt

  • 1. Re-programming the Simon Says with Arduino Linz Craig, Brian Huang
  • 3. Agenda • About us / Introductions • Software Installation • What can it do? Who cares? • Blink Sketch  Disco Lights • Using Variables • If() statement  reading buttonPress • Analog Sensors  Fading • Making Sound
  • 4. About Us SparkFun Electronics is all about creation, innovation and sharing information. We want to get you excited about cutting edge electronics technology with our hands on educational kits.
  • 5. Arduino Board “Strong Friend” Created in Ivrea, Italy in 2005 by Massimo Banzi & David Cuartielles Open Source Hardware Atmel Processor Coding is accessible (C++, Processing, ModKit and MiniBloq)
  • 6. Arduino Software Installation Open Source Free Available on-line with resources at: www.arduino.cc
  • 7. What can it do? •Great for prototyping ideas •Access to multiple I/O •Drive motors, turn on lights, trigger controls. •Low Power requirements •Flexible / Open-source
  • 8. Who cares? Hackers / Makers Engineers Artists Musicians Kids! Teachers!! You!!!
  • 9. Setup Board Type Tools → Board → Arduino Uno
  • 10. Setup Serial COM Port Tools → Serial Port → Notes: PC – Highest COM # Mac – /dev/tty.usbserial-A####xxx
  • 11. Analog and Digital • All Arduino signals are either Analog or Digital • All computers including Arduino, only understand Digital • It is important to understand the difference between Analog and Digital signals since Analog signals require an Analog to Digital conversion
  • 12. Input vs. Output Everything is referenced from the perspective of the microcontroller. Inputs is a signal going into the board. Output is any signal exiting an electrical system •Almost all systems that use physical computing will have some form of output •Often – Outputs include LEDs, a motor, a servo, a piezo element, a relay and an RGB LED
  • 13. Basic Program Two required routines / methods / functions: void setup() { // runs once } void loop() { // repeats forever!!! } upload
  • 14. Let’s get to hacking… Project #1 – Blink “Hello World” of Physical Computing Psuedo-code – how should this work?
  • 15. Three commands to know… pinMode(pin, INPUT/OUTPUT); ex: pinMode(13, OUTPUT); digitalWrite(pin, HIGH/LOW); ex: digitalWrite(13, HIGH); delay(time_ms); ex: delay(2500);
  • 16. LED1 = ~3; LED2 = ~5; LED3 = ~10; LED4 = 13; Can you figure out which LED is tied to which pin? Write down a few notes in your notebook! 3 5 13 LED Pin Configurations 10
  • 17. Output is always Digital To output a signal that pretends to be Analog use this code: analogWrite (pinNumber, value ); Where pin is one of the analog output pins: 3, 5, 6, 9, 10, 11 Where value is a number ranging from: 0 – 255.
  • 18. Output is always Digital (ON or OFF) Using a Digital signal that pretends to be an Analog signal is called Pulse Width Modulation (PWM) By varying the duty cycle, we can “fake” an analog signal output. PWM is available on Arduino pins # 3, 5, 6, 9, 10, and 11 P.W.M. Signal @ 25% P.W.M. Signal @ 75% P.W.M. Signal rising SIMON_2b_BLINK
  • 19. Using Variables To clean-up code, for read-ability, and flexibility – we can create placeholders in code. Example: int ledPin = 3; void setup(){ pinMode(ledPin, OUTPUT); } void loop(){ digitalWrite(ledPin, HIGH); }
  • 20. Digital Input int button_state = digitalRead(ButtonPin); Value will be either: HIGH or LOW
  • 21. Reading a button press Button Input is normally HIGH – when you press it, you pull it LOW. The Code: int buttonPress = digitalRead(2);
  • 22. Activating the Internal Pull-up Resistor pinMode(pin, INPUT_PULLUP); ex: pinMode(2, INPUT_PULLUP); Notes: BUTTON1 = 2; BUTTON2 = 6; BUTTON3 = 9; BUTTON4 = 12;
  • 23. BUTTON1 = 2; BUTTON2 = 6; BUTTON3 = 9; BUTTON4 = 12; Can you figure out which Button is tied to which pin? Write down a few notes in your notebook! 2 6 12 Button Pin Configurations 9
  • 24. Conditional Statements If… General Use if(condition) { // do this } Example if(button_State==HIGH) { digitalWrite(ledPin, HIGH); delay(300); digitalWrite(ledPin, LOW); delay(300); }
  • 25. Digital Input • To connect digital input to your Arduino use Digital Pins # 0 – 13 (Although pins # 0 & 1 are also used for serial) • Digital Input needs a pinMode command: pinMode ( pinNumber, INPUT ); Make sure to use caps for INPUT • To get a digital reading: digitalRead ( pinNumber ); • Digital Input values are only HIGH (On) or LOW (Off)
  • 26. Last bit… the buzzer SIMON_3_BUZZER Final command to know: tone(pin, freq, duration); pin – the OUTPUT pin the buzzer is connected to. freq – unsigned int (0 … 65,535) duration – unsigned long (0 … 2^32 - 1)
  • 27. Buzzer Pins The Buzzer is connected between pins D4 and D7. You must set both pins as OUTPUTs – pinMode(4, OUTPUT); pinMode(7, OUTPUT); Use tone(4, 440); to generate a 440 Hz sound.
  • 28. Musical Notes / Frequencies Note Frequency (Hz) C4 261 C# 4/Db 4 277 D4 293 D# 4/Eb 4 311 E4 329 F4 349 F# 4/Gb 4 369 G4 392 G# 4/Ab 4 415 A4 440 A# 4/Bb 4 466 B4 493 Note Frequency (Hz) C5 523 C# 5/Db 5 554 D5 587 D# 5/Eb 5 622 E5 659 F5 698 F# 5/Gb 5 739 G5 783 G# 5/Ab 5 830 A5 880 A# 5/Bb 5 932 B5 987
  • 29. Simon DiscoMode • Array variables • custom functions • buzz(tone_id); • change_led();
  • 31. www.sparkfun.com 6175 Longbow Drive, Suite 200 Boulder, Colorado 80301

Editor's Notes

  • #5: ----- Meeting Notes (9/22/12 08:41) ----- bar torino, Italy Arduino: board, language, IDE, community standardized
  • #17: Tell them to put together circuit 1 File examples basic blink Open arduino Encourage delay change Change blink to analog write (will have to change the pin)
  • #25: Put together circuit # 5 and leave in