Arduino Programming Part 1 - start [ME...
Transcript of Arduino Programming Part 1 - start [ME...
![Page 1: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/1.jpg)
ME 120: Arduino Programming
Arduino Programming Part 1
![Page 2: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/2.jpg)
ME 120: Arduino Programming
Overview
Arduino Environment
Basic code components
❖ Two required functions: setup() and loop()
❖ Variables
❖ Calling built-in functions
2
![Page 3: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/3.jpg)
ME 120: Arduino Programming
References
These notes borrow from
❖ Arduino web site
‣ http://arduino.cc/en/Guide/Environment
‣ http://arduino.cc/en/Tutorial/HomePage
❖ Adafruit tutorial #1 and 2
‣ http://www.ladyada.net/learn/arduino/lesson2.html
❖ Leah Buechley’s Introduction to Arduino
‣ http://web.media.mit.edu/~leah/LilyPad/03_arduino_intro.html
3
![Page 4: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/4.jpg)
ME 120: Arduino Programming
Arduino Web Site References
Overview of the development environment
❖ http://www.arduino.cc/en/Guide/Environment
❖ https://learn.sparkfun.com/tutorials/redboard-hookup-guide
Language reference
❖ http://arduino.cc/en/Reference/HomePage
Code tutorials
❖ http://arduino.cc/en/Tutorial/HomePage
4
![Page 5: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/5.jpg)
ME 120: Arduino Programming
Basic Process
Design the circuit:
❖ What are electrical requirements of the sensors or
actuators?
❖ Identify analog inputs (sensors)
❖ Identify digital inputs & outputs (buttons, LEDs, relays)
Write the code
❖ Build incrementally
‣ Get the simplest piece to work first
‣ Add complexity and test at each stage
‣ Save and Backup frequently
❖ Use variables, not constants
❖ Comment liberally
5
![Page 6: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/6.jpg)
ME 120: Arduino Programming
Writing and Downloading Code
6
Write sketch on PC
Download sketch on Arduino
![Page 7: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/7.jpg)
ME 120: Arduino Programming
Running Code While Tethered
7
Run sketch on Arduino and send data back to PC
Arduino interacts with
its environment
![Page 8: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/8.jpg)
ME 120: Arduino Programming
Running Code Stand-Alone
8
Arduino interacts with
its environment and
runs on battery power
Run Arduino in stand alone mode
![Page 9: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/9.jpg)
ME 120: Arduino Programming
When you open up the Arduino software
9
![Page 10: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/10.jpg)
ME 120: Arduino Programming
Open the example sketch,
blink.ino
10
![Page 11: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/11.jpg)
ME 120: Arduino Programming
Load “Blink” from the built-in examples
11
![Page 12: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/12.jpg)
ME 120: Arduino Programming
Arduino IDE
12
IDE = Integrated Development Environment
![Page 13: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/13.jpg)
ME 120: Arduino Programming
Common Code Structure
13
![Page 14: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/14.jpg)
ME 120: Arduino Programming
Code Structure: Header
14
Header provides information.
Can also contain code
![Page 15: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/15.jpg)
ME 120: Arduino Programming
Code Structure: setup function
15
setup function is executed
only once at the start
![Page 16: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/16.jpg)
ME 120: Arduino Programming
Code Structure: loop function
16
loop function is
repeated indefinitely
![Page 17: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/17.jpg)
ME 120: Arduino Programming
Details of the Blink Code
17
![Page 18: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/18.jpg)
ME 120: Arduino Programming
Code
18
pinMode(led, Output)
prepare pin number “led”
for outputs of voltage
“led” is a variable
int led = 13;
creates a variable named “led”
and stores 13 in that variable
![Page 19: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/19.jpg)
ME 120: Arduino Programming
Code
19
digitalWrite(led, HIGH)
Sets pin “led” to a value that
means the voltage is “on”
delay(1000);
tells microcontroller to do
nothing for 1000 ms = 1 s
![Page 20: Arduino Programming Part 1 - start [ME 120]me120.mme.pdx.edu/lib/exe/...media=lecture:arduino_programming_1.pdfME 120: Arduino Programming Overview Arduino Environment Basic code components](https://reader031.fdocuments.in/reader031/viewer/2022030509/5ab835057f8b9ad3038c8a6d/html5/thumbnails/20.jpg)
ME 120: Arduino Programming
Code
20
digitalWrite(led, LOW)
Sets pin “led” to a value that
means the voltage is “off”
delay(1000);
tells microcontroller to do
nothing for 1000 ms = 1 s