Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno...
Transcript of Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno...
![Page 1: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/1.jpg)
Programming Arduino leungsir
![Page 2: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/2.jpg)
What is Arduino?
• Arduino is a micro-controller which with pins to control LEDs, motors , sensors and other electronic components
• You can program the behavior of the pins using computer and then upload to the Arduino
• Once uploaded, the program stay in the Arduino board only power supply is required
![Page 3: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/3.jpg)
The Arduino family
• Arduino UNO
• Arduino Mega
• Arduino Leonardo
• Arduino Nano
• Arduino Micro
• Arduino LilyPad
• Arduino Yun
• …. etc
![Page 4: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/4.jpg)
The Arduino Uno R3
• Digital Pins (0-13) can be used for Input or Output
• Analog Pins (A0-A5) can be used for Input only
• Power provide voltage and GND for closing circuit
• USB connector for power supply / program upload / data communication
• Power socket for power supply
![Page 5: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/5.jpg)
The Breadboard
![Page 6: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/6.jpg)
Program structure
void setup() {
}
void loop() {
}
![Page 7: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/7.jpg)
Blink (digital output)
![Page 8: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/8.jpg)
Blink
void setup() {
pinMode(12, OUTPUT);
}
void loop() {
digitalWrite(12, HIGH);
delay(1000);
digitalWrite(12, LOW);
delay(1000);
}
![Page 9: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/9.jpg)
Knob (analog input) Dimmer (analog output)
![Page 10: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/10.jpg)
int brightness = 0;
int sensorValue = 0;
void setup() {
pinMode(11, OUTPUT);
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(A0);
Serial.println(sensorValue);
brightness = map(sensorValue,0,1024,0,255);
analogWrite(11, brightness);
}
![Page 11: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/11.jpg)
Push button (digital input)
![Page 12: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/12.jpg)
int buttonState = 0;
void setup() {
pinMode(11, OUTPUT);
pinMode(7, INPUT);
}
void loop(){
buttonState = digitalRead(7);
if (buttonState == 1) {
digitalWrite(11, HIGH);
}
else {
digitalWrite(11, LOW);
};
};
![Page 13: Programming Arduino - edb.gov.hk · •Arduino LilyPad •Arduino Yun •…. etc . The Arduino Uno R3 •Digital Pins (0-13) can be used for Input or Output •Analog Pins (A0-A5)](https://reader033.fdocuments.in/reader033/viewer/2022050701/5c65a96b09d3f2ad6e8cfe61/html5/thumbnails/13.jpg)
Using sensor modules
• The knob is a analog signal module
• The push button with a resistor is a digital signal module
• When using analog signal sensor modules , the A0 pin should be connected to analog pins
• When using digital signal sensor modules, the D0 pin should be connected to digital pins