week 4 arduino programmingee.ump.edu.my/hazlina/teaching_koq/week 4 - arduino programmin… ·...
TRANSCRIPT
![Page 1: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/1.jpg)
Arduino Programming - Nurul Hazlina
Week 4 – Arduino Programming
Nurul Hazlina Noordin
![Page 2: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/2.jpg)
Arduino Programming - Nurul Hazlina
Course Outcomes
Outcomes
1 Cultivate attitude towards team working and professional ethics through mentoring sessions.
2 Demonstrate competency in application of technical aspect of Science, Technology, Engineering and Mathematics (STEM) concepts.
3 Design, construct and innovate STEM based projects.
![Page 3: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/3.jpg)
Arduino Programming - Nurul Hazlina
Course Outline – UQB 2011
mBlock
• week 2 • Computational
Thinking
Design Thinking
• week 3
• STEM outreach
Arduino
• week 4
• Input outputs
Coaching Technique
• week 5
School Engagement
• week 6 - 13
CO 1
CO 2
CO 3
CO 3 CO 2
![Page 4: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/4.jpg)
Arduino Programming - Nurul Hazlina
Arduino & You
Please log into my padlet and answer these Qs:-
• What could an Arduino do?
• What would you like to know about Arduino?
https://padlet.com/nurulhazlina/ArduinoWeek4
![Page 5: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/5.jpg)
Arduino Programming - Nurul Hazlina
2. Electronic Components
W4 – Lesson Outline 1. Arduino programming structure
2. Basic Electronics
– Input / Output
– Digital / Analog signals
Digital Output
Analog Output
An
alo
g In
pu
t
Dig
ital
In
pu
t Exp 1
Blinking LED (out)
Exp 3 Push Button (in)
LED (out)
Exp 4 LDR (in)
LED (out)
Exp 2 Dimmer LED (out)
Exp 6 IR Sensor (in) Motor (out)
Autonomous
Exp 5 Bluetooth to
control Motor (out)
3. Experiments
• Language • Structure 1. Programming
![Page 6: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/6.jpg)
Arduino Programming - Nurul Hazlina
Lesson Outcomes
1. Able to identify, construct electronic circuit using using a number of different sensors, actuators and communication media (wireless, internet);
2. Able to write programs in the programming environment "Processing",
3. Able con conduct experiments and trouble-shoot them;
Learning Outcomes Take note
Presentation Reminders :-
![Page 7: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/7.jpg)
Arduino Programming - Nurul Hazlina
PRE-LEARNING PREPARATION
1
Please ensure that you have the following:
PERSONAL COMPUTER Running Windows, Linux or MacOS with a USB port
2 ARDUINO BOARD with USB Cable This guide uses UNO, but you can use any version of the ARDUINO board out there
3 ELECTRONIC COMPONENTS Contains all necessary components and parts for all exercises
4 mBlock and ARDUINO SOFTWARE • Referred to as an Integrated Developers Environment ( IDE ). • Download the latest version according to your operating system ( Windows, MacOS or
Linux ) at http://arduino.cc/en/main/software • Once downloaded, click the executable file and follow the instructions • A shortcut will be create on your desktop along with an Arduino folder in Mydocument
![Page 8: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/8.jpg)
Arduino Programming - Nurul Hazlina
Microcontrollers are dedicated to one task and run one specific program
Examples of tasks could be: i. Received from inputs via ports (read from external hardware) ii. Process the data, store in file registers, arithmetic operations (added,
subtracted, logic gates), etc. iii. Control outputs (control hardware)
Processor, Storage and RAM all in one tiny package
PROGRAM YOUR
INSTRUCTION
REAL WORLD
INPUTS
OUTPUTS
INTERACTION
![Page 9: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/9.jpg)
Arduino Programming - Nurul Hazlina
9
Signals
LO 1 – Electronic Components
M-Controlers
Digital Output
Digital Input
Analog Output
Analog Input
![Page 10: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/10.jpg)
Arduino Programming - Nurul Hazlina
10
LO 1 – Electronic Components
![Page 11: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/11.jpg)
Arduino Programming - Nurul Hazlina
Electronic Components
LO 3 – Conduct Experiments
LED
Resistors
Push-button
Jumpers
Breadboard
![Page 12: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/12.jpg)
Arduino Programming - Nurul Hazlina
Arduino IDE
Verify
Upload
New Open
Save Serial Monitor
Sketch Name
Sketch Area
Message Area
Verify Area Board & Serial Port
LO 2 – Write Codes
![Page 13: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/13.jpg)
Arduino Programming - Nurul Hazlina
Setup( ) function - initialize the variables, pin
modes, start using libraries, etc.
- run once, after each power up or reset of the Arduino board.
Loop( ) function - loops consecutively - use it to actively control the
Arduino board.
Programming Structure
LO 2 – Write Codes
* Case sensitive * Always save file
![Page 14: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/14.jpg)
Arduino Programming - Nurul Hazlina
1. DIGITAL OUTPUT
Objective:
to write a sequential Arduino instruction – LED ON, LED Blinks
![Page 15: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/15.jpg)
Arduino Programming - Nurul Hazlina
Circuit Diagram Resistor to Pin 13 Resistor +LED Negative LED GND Resistor 150 Ω (Brown- Green- Brown) LED = Flag refer to negative
LO 3 – Conduct Experiments
*LED polarity
![Page 16: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/16.jpg)
Arduino Programming - Nurul Hazlina
Programming 1 – LED ON
LO 2 – Write Codes
![Page 17: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/17.jpg)
Arduino Programming - Nurul Hazlina
Programming 2– LED Blinks
LO 2 – Write Codes
digitalWrite(pin, value);
delay(value);
![Page 18: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/18.jpg)
Arduino Programming - Nurul Hazlina
Programming 2 – LED Blinking
![Page 19: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/19.jpg)
Arduino Programming - Nurul Hazlina
Try It Out
19
Make the LED blink
faster or slower by
editing the delay
value.
Change to
different pin by
moving jumper
wire & edit the
sketch
Make the ON
time longer than
the OFF time
LO 3 – Conduct Experiments
![Page 20: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/20.jpg)
Arduino Programming - Nurul Hazlina
20
![Page 21: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/21.jpg)
Arduino Programming - Nurul Hazlina
Set pin as OUTPUT
Pin13 LED turns ON
Pin13 LED turns OFF
Wait for 1 second
Complete the code to blink the LED connected to pin 11 with 1 second interval in between
21 LO 2 – Write Codes
Programming 3 – Running Lights
![Page 22: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/22.jpg)
Arduino Programming - Nurul Hazlina
2. ANALOG OUTPUT
Objective:
• to implement PWM concept in electronic circuits
• to integrate analogWrite () for PWM signals
• to use for loops
![Page 23: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/23.jpg)
Arduino Programming - Nurul Hazlina
Analog Output - PWM
Analog Signal
Pulse Amplitude Modulation
Pulse Width Modulation
Analog Signal Representation
![Page 24: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/24.jpg)
Arduino Programming - Nurul Hazlina
Analog Output - PWM Pulse Width Modulation – PWM
![Page 25: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/25.jpg)
Arduino Programming - Nurul Hazlina
Analog Output PWM Arduino Uno Pin Assignment – Analog Output
analogWrite (pin, value); Pin = 3,5,6,9,10,11
Arduino UNO
ADC 8 bits
Vout Data
0V
To
5V
0
To
255
Different Arduino would have different ADC values
![Page 26: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/26.jpg)
Arduino Programming - Nurul Hazlina
Circuit Diagram Programming 4
Resistor to Pin 11 Resistor +LED Negative LED GND Resistor 150 Ω (Brown- Green- Brown) LED = Flag refer to negative
LO 3 – Conduct Experiments
Note that the pin changes –
WHY?
![Page 27: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/27.jpg)
Arduino Programming - Nurul Hazlina
Programming 4 – Fading Light
for (initialization; condition; increment) { //statement(s); }
void loop() { for (int i=0; i <= 255; i++){ analogWrite(PWMpin, i); delay(10); } }
Pseudo-code
START
1. Set LED Pin 11 as Output
2. Set value of pin 11 as 5
3. Hold the value
4. Set value of pin 11 as 10
.
. Repeat until max value 255
END
LO 2 – Write Codes
![Page 28: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/28.jpg)
Arduino Programming - Nurul Hazlina
Programming 4 – Fading Light
LO 2 – Write Codes
![Page 29: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/29.jpg)
Arduino Programming - Nurul Hazlina
3. DIGITAL INPUT DIGITAL OUTPUT
Objective:
• adopt conditional statement in Arduino programming
![Page 30: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/30.jpg)
Arduino Programming - Nurul Hazlina
Push Button – digitalRead
30 LO 1 – Electronic Components
![Page 31: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/31.jpg)
Arduino Programming - Nurul Hazlina
The LED will only light up if and when the switch is pressed as it will complete the circuit (closed loop)
31 LO 1 – Electronic Components
Voltage divider
![Page 32: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/32.jpg)
Arduino Programming - Nurul Hazlina
Circuit Diagram
LED = PIN13 LED resistor (150 Ω)
PIN13resistor(150 Ω) -ve LED+ve LEDGND
Voltage Divider at Switch
Resistor 1 kΩ 5V to PINswitch1
PINswitch2 to PIN8
Voltage divider – WHY?
LO 3 – Conduct Experiments
![Page 33: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/33.jpg)
Arduino Programming - Nurul Hazlina
33
![Page 34: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/34.jpg)
Arduino Programming - Nurul Hazlina
34 LO 2 – Write Codes
![Page 35: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/35.jpg)
Arduino Programming - Nurul Hazlina
Programming – Push Button
LO 2 – Write Codes
![Page 36: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/36.jpg)
Arduino Programming - Nurul Hazlina
EXERCISE: TRY IT OUT
Add a buzzer that will
be turned ON
whenever the
pushbutton is
pressed.
Change the digital
pins to connect
LED and
Pushbutton.
Modify sketch
when push release
ON, then push
release again will
OFF the LED.
Try It Out
LO 3 – Conduct Experiments
![Page 37: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/37.jpg)
Arduino Programming - Nurul Hazlina
Answers int inPin = 2; // the number of the input pin int outPin = 13; // the number of the output pin int state = HIGH; // the current state of the output pin int reading; // the current reading from the input pin int previous = LOW; // the previous reading from the input pin // the follow variables are long's because the time, measured in miliseconds, // will quickly become a bigger number than can be stored in an int. long time = 0; // the last time the output pin was toggled long debounce = 200; // the debounce time, increase if the output flickers void setup() { pinMode(inPin, INPUT); pinMode(outPin, OUTPUT); }
![Page 38: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/38.jpg)
Arduino Programming - Nurul Hazlina
void loop() { reading = digitalRead(inPin); // if the input just went from LOW and HIGH and we've waited long enough // to ignore any noise on the circuit, toggle the output pin and remember // the time if (reading == HIGH && previous == LOW && millis() - time > debounce) { if (state == HIGH) state = LOW; else state = HIGH; time = millis(); } digitalWrite(outPin, state); previous = reading; }
Answers
![Page 39: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/39.jpg)
Arduino Programming - Nurul Hazlina
DATA TYPES
![Page 40: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/40.jpg)
Arduino Programming - Nurul Hazlina
Arduino Data Types
40
![Page 41: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/41.jpg)
Arduino Programming - Nurul Hazlina
Comparison Operators
41
![Page 42: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/42.jpg)
Arduino Programming - Nurul Hazlina
Serial Communication
42
built in library (Serial)
USB port
serial data transmission – 1 bit at a time
![Page 43: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/43.jpg)
Arduino Programming - Nurul Hazlina
43 LO 2 – Write Codes
![Page 44: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/44.jpg)
Arduino Programming - Nurul Hazlina
When the button is
not press, print
“Release”
Using the push
button sketch, print
“Button Pressed”
whenever the
button is press
Print the status of
button directly on
Serial Monitor
44
EXERCISE: TRY IT OUT Try It Out
LO 3 – Conduct Experiments
![Page 45: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/45.jpg)
Arduino Programming - Nurul Hazlina
3. ANALOG INPUT AND DIGITAL OUTPUT
Objective
• To incorporate analogRead() in Arduino Programming
![Page 46: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/46.jpg)
Arduino Programming - Nurul Hazlina
46 LO 1 – Electronic Components
![Page 47: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/47.jpg)
Arduino Programming - Nurul Hazlina
Circuit Diagram
PIN3 to resistor 150 Ohm Resistor to +ve LED -ve LED to GND Light Detected Resistor (LDR) 5V to LDRPIN1 PINA0 to LDRPIN2 LDRPIN2 to Resistor 1kΩ Resistor 1kΩ to GND Resistor 1kΩ (brown,black,orange)
LO 3 – Conduct Experiments
![Page 48: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/48.jpg)
Arduino Programming - Nurul Hazlina
48
EXERCISE: TRY IT OUT Try It Out
LO 2 – Write Codes
![Page 49: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/49.jpg)
Arduino Programming - Nurul Hazlina
49
![Page 50: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/50.jpg)
Arduino Programming - Nurul Hazlina
Analogue Input • This is the difference
between an on/off sensor (which tells us whether something is there) and an analogue sensor, whose value continuously changes.
• By using the analogRead()
function, we can read the voltage applied to one of the pins. This function returns a number between 0 and 1023, which represents voltages between 0 and 5 volts
50
![Page 51: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/51.jpg)
Arduino Programming - Nurul Hazlina
Data Conversion
51
ADC Output (dout) = Vin = 3.3 = 676
Resolution 0.00488
ADC Arduino 10 bits
vin dout
÷
0.00488
x 0.00488
Vin = dout x Resolution = 676 x 0.00488 = 3.3
![Page 52: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/52.jpg)
Arduino Programming - Nurul Hazlina
52 LO 2 – Write Codes
![Page 53: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/53.jpg)
Arduino Programming - Nurul Hazlina
Example: Complete System (Smart Street Light system)
![Page 54: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/54.jpg)
Arduino Programming - Nurul Hazlina
Example: Complete System (Smart Street Light system)
![Page 55: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/55.jpg)
Arduino Programming - Nurul Hazlina
Result:
![Page 56: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/56.jpg)
Arduino Programming - Nurul Hazlina
Let’s Recap Today’s Session
Digital Output
Analog Output
An
alo
g In
pu
t
Dig
ital
In
pu
t
Exp 1 Blinking LED (out)
Exp 3 Push Button (in)
LED (out)
Exp 4 LDR (in)
LED (out)
Exp 2 Dimmer LED (out)
Exp 6 IR Sensor (in) Motor (out)
Autonomous
Exp 5 Bluetooth to
control Motor (out)
Choice 2
Choice 1
Decision
Start
Process 1
Next step
1. Arduino Microcontroller and its programming language
2. Electronic Components and its properties
3. PWM, Serial Monitor, ADC Conversion
4. Programming Concepts – conditional, for loops and
sequential
![Page 57: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/57.jpg)
Arduino Programming - Nurul Hazlina
Arduino & You
Please log into my padlet again :-
• What could an Arduino do?
• What would you do with an Arduino?
https://padlet.com/nurulhazlina/ArduinoWeek4
![Page 58: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/58.jpg)
Arduino Programming - Nurul Hazlina
Next..
mBlock
• week 2 • Computational
Thinking
Design Thinking
• week 3
• STEM outreach
Arduino
• week 4
• Input outputs
Coaching Technique
• week 5
School Engagement
• week 6 - 13
CO 1
CO 2
CO 3
CO 3 CO 2
![Page 59: Week 4 Arduino Programmingee.ump.edu.my/hazlina/teaching_KoQ/Week 4 - Arduino Programmin… · Basic Electronics –Input / Output –Digital / Analog signals Motor (out) Digital](https://reader034.vdocuments.mx/reader034/viewer/2022050512/5f9cc562516a7014d020e042/html5/thumbnails/59.jpg)
Arduino Programming - Nurul Hazlina
School Engagement Schedule 28 March
3 pm mBlock
29 March 3 pm
Arduino
11 April 3 pm
App Inv
12 April 3 pm
App Inv
3 April 2.30 pm mBlock
10 April 2.30 pm Arduino
17 April 2.30 pm App Inv
Time 7 May 3 pm
mBlock
8 May 3 pm
Arduino
9 May 3 pm
App Inv
10 May 3 pm
App Inv
AM
PM