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

More Related Content

PPT
arduinoSimon.ppt
PPT
arduinoSimon.ppt
PPT
arduinoSimon.ppt
PPT
arduino.ppt
PPTX
arduinoedit.pptx
PPTX
Arduino Slides With Neopixels
PPTX
IOT-UNIT 3.pptxaaaasasasasasasaasasasasas
PPTX
Arduino workshop
arduinoSimon.ppt
arduinoSimon.ppt
arduinoSimon.ppt
arduino.ppt
arduinoedit.pptx
Arduino Slides With Neopixels
IOT-UNIT 3.pptxaaaasasasasasasaasasasasas
Arduino workshop

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

PPTX
Arduino . .
PPTX
Lesson sample introduction to arduino
PDF
Intro to Arduino Revision #2
PPTX
Presentation of online Internship Program on Arduino completed at INTERNSHALA
PDF
Cassiopeia Ltd - standard Arduino workshop
PPTX
Powerful Electronics with Arduino
PPSX
Arduino اردوينو
PDF
Introduction to Arduino
PDF
Programming arduino makeymakey
PPTX
Aurdino presentation
PPTX
Introduction to Arduino Microcontroller
PDF
Arduino-workshop.computer engineering.pdf
PPTX
Arduino Workshop Slides
PPTX
Arduino slides
PPTX
Arduino intro.pptx
PPTX
Introduction to Arduino
PPTX
IoT applications With Arduino coding and real life examples
PPTX
Arduino course
PDF
arduinocourse-180308074529 (1).pdf
Arduino . .
Lesson sample introduction to arduino
Intro to Arduino Revision #2
Presentation of online Internship Program on Arduino completed at INTERNSHALA
Cassiopeia Ltd - standard Arduino workshop
Powerful Electronics with Arduino
Arduino اردوينو
Introduction to Arduino
Programming arduino makeymakey
Aurdino presentation
Introduction to Arduino Microcontroller
Arduino-workshop.computer engineering.pdf
Arduino Workshop Slides
Arduino slides
Arduino intro.pptx
Introduction to Arduino
IoT applications With Arduino coding and real life examples
Arduino course
arduinocourse-180308074529 (1).pdf
Ad

Recently uploaded (20)

PDF
BTCVPE506F_Module 1 History & Theories of Town Planning.pdf
PPTX
quantum theory on the next future in.pptx
PPT
Unit - I.lathemachnespct=ificationsand ppt
PPTX
Software-Development-Life-Cycle-SDLC.pptx
PDF
IAE-V2500 Engine for Airbus Family 319/320
PDF
CBCN cam bien cong nghiep bach khoa da năng
PDF
Module 1 part 1.pdf engineering notes s7
PDF
1.-fincantieri-investor-presentation2.pdf
PPTX
240409 Data Center Training Programs by Uptime Institute (Drafting).pptx
PDF
25AF1191PC303 MODULE-1 CHAIN SURVEYING SEMESTER III SURVEYING
PDF
B461227.pdf American Journal of Multidisciplinary Research and Review
PPTX
Design ,Art Across Digital Realities and eXtended Reality
PPTX
Hardware, SLAM tracking,Privacy and AR Cloud Data.
PPTX
22ME926Introduction to Business Intelligence and Analytics, Advanced Integrat...
PPTX
INTERNET OF THINGS - EMBEDDED SYSTEMS AND INTERNET OF THINGS
PPTX
Soft Skills Unit 2 Listening Speaking Reading Writing.pptx
PDF
ASPEN PLUS USER GUIDE - PROCESS SIMULATIONS
PDF
Software defined netwoks is useful to learn NFV and virtual Lans
PPTX
1. Effective HSEW Induction Training - EMCO 2024, O&M.pptx
PDF
BBC NW_Tech Facilities_30 Odd Yrs Ago [J].pdf
BTCVPE506F_Module 1 History & Theories of Town Planning.pdf
quantum theory on the next future in.pptx
Unit - I.lathemachnespct=ificationsand ppt
Software-Development-Life-Cycle-SDLC.pptx
IAE-V2500 Engine for Airbus Family 319/320
CBCN cam bien cong nghiep bach khoa da năng
Module 1 part 1.pdf engineering notes s7
1.-fincantieri-investor-presentation2.pdf
240409 Data Center Training Programs by Uptime Institute (Drafting).pptx
25AF1191PC303 MODULE-1 CHAIN SURVEYING SEMESTER III SURVEYING
B461227.pdf American Journal of Multidisciplinary Research and Review
Design ,Art Across Digital Realities and eXtended Reality
Hardware, SLAM tracking,Privacy and AR Cloud Data.
22ME926Introduction to Business Intelligence and Analytics, Advanced Integrat...
INTERNET OF THINGS - EMBEDDED SYSTEMS AND INTERNET OF THINGS
Soft Skills Unit 2 Listening Speaking Reading Writing.pptx
ASPEN PLUS USER GUIDE - PROCESS SIMULATIONS
Software defined netwoks is useful to learn NFV and virtual Lans
1. Effective HSEW Induction Training - EMCO 2024, O&M.pptx
BBC NW_Tech Facilities_30 Odd Yrs Ago [J].pdf
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