際際滷

際際滷Share a Scribd company logo
The Arduino
Workshop
Vol 2: Back to Analog!
IEEE NTUA Student Branch
IEEE NTUA Student Branch
 僚略侶侶 analogRead()
 裡僚留両侶: analogRead(Analog In)
 竜旅凌粒溜留: 旅劉竜旅 亮溜留 留虜劉留旅留 旅亮流 留
凌 0 劉 1023 凌 留僚旅凌竜竜旅 侶僚
隆旅留凌略 隆僚留亮旅虜凌 侶僚 慮留 凌 劉凌亮竜
竜旅了劉両竜旅. (1023 = 5V)
IEEE NTUA Student Branch
IEEE NTUA Student Branch
+5V
GND
A0
IEEE NTUA Student Branch
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(1);
}
隆 隆旅留硫略龍凌亮竜 侶僚 旅亮流 侶僚
慮留 A0. 留 侶 sensorValue
虜亮留溜僚竜留旅 留 0 劉 1023!
留慮劉侶侶 1ms
虜虜溜僚侶侶 竜旅旅留虜流 竜旅虜凌旅僚僚溜留
亮竜 凌僚 凌了凌粒旅流.
IEEE NTUA Student Branch
 留旅慮亮凌 竜 Volt
竜 留了流 亮劉慮凌隆凌 僚 旅ホ:
留僚 侶 僚略侶侶 analogRead() 隆溜僚竜旅 1023, 隆溜僚凌亮竜 侶僚 慮留 5.0 Volt.
留僚 侶 僚略侶侶 analogRead() 隆溜僚竜旅 留, 隆溜僚凌亮竜 侶僚 慮留 x (?) Volt.
留 虜留留了流粒凌亮竜 凌僚 凌 (竜 粒了マ留 C):
x = (5.0/1023)*留
IEEE NTUA Student Branch
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0/1023);
Serial.println(voltage);
delay(1);
}
里凌 留凌劉了竜亮留 侶 凌侶粒凌亮竜僚侶 留略留侶 亮, 竜溜僚留旅 隆竜虜留隆旅虜 留旅慮亮.
留 慮留 侶旅亮凌凌旅流凌亮竜 凌僚 凌 亮竜留硫了侶流 float.
IEEE NTUA Student Branch
 僚略侶侶 map()
 裡僚留両侶:
map(value, fromLow, fromHigh, toLow, toHigh)
 竜旅凌粒溜留: 劉竜留旅 凌 竜隆溜凌 value 亮旅留 亮竜留硫了侶流, 凌
竜隆溜凌 fromLow 凌 虜略 略虜凌 僚 旅亮ホ 侶, 凌
fromHigh 凌 略僚 略虜凌 僚 旅亮ホ 侶 虜留旅 侶僚
亮竜留劉竜旅 マ竜 僚留 竜旅凌溜龍竜留旅 亮竜留両 隆凌 僚劉僚 略僚
虜留旅 虜略 略虜僚 凌 隆溜僚凌僚留旅 留 竜隆溜留 toLow 虜留旅
toHigh 留僚溜凌旅留. 旅 竜僚隆旅略亮竜竜 旅亮劉 侶, 略僚竜
留僚留了凌粒旅虜略.
IEEE NTUA Student Branch
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
int newValue = map(sensorValue, 0, 1023, 0, 255);
Serial.println(newValue);
delay(1);
}
留略隆竜旅粒亮留 - 留亮凌粒流
IEEE NTUA Student Branch
Fade A Led: vol. 2
GND
LED (pin 10)
IEEE NTUA Student Branch
void setup() {
pinMode(10, OUTPUT);
}
void loop() {
int sensorValue = analogRead(A0);
int ledValue = map(sensorValue, 0, 1023, 0, 255);
analogWrite(10, ledValue);
delay(1);
}
留 侶旅亮凌凌旅流凌亮竜 侶僚 僚略侶侶 analogWrite 粒旅留 僚留 留僚略硫凌亮竜 凌 LED 竜
隆旅留凌竜旅虜劉 竜僚略竜旅. 亮 隆竜僚 亮凌凌亮竜 僚留 硫略了凌亮竜 虜留竜慮竜溜留僚 侶僚 旅亮流 凌
了留亮硫略僚凌亮竜 留 凌 凌竜僚旅亮竜凌 侶僚 僚略侶侶 analogWrite 隆旅旅 竜僚 侶 竜了竜留溜留
隆劉竜留旅 旅亮劉 留 0 劉 255, 侶 僚略侶侶 analogRead 隆溜僚竜旅 留 0 劉 1023.
隆 竜旅留龍亮留竜 侶僚 僚略侶侶 map().
略凌亮竜 凌 LED
侶僚 旅亮流 凌 亮留 隆溜僚竜旅
侶 ledValue.
IEEE NTUA Student Branch
溜粒留 了粒旅留 粒旅留 旅 隆旅留隆旅虜留溜竜...
void newMethod(int a; float b; ...) {
...
}
void setup() {
..
newMethod(j, b);
}
void loop() {
..
}
僚凌亮留 旅留隆旅虜留溜留
侶了マ竜旅 留留亮劉僚
了流侶 旅留隆旅虜留溜留
流
IEEE NTUA Student Branch
link A Led: vol. 2
留 慮亮溜凌亮竜 凌僚 慮亮 凌 留僚留硫凌硫流僚竜旅 凌 LED 亮竜 凌 凌竜僚旅亮竜凌, 慮亮溜龍凌僚留 侶僚
虜留慮劉侶侶 留僚略亮竜留 凌 留僚留硫硫侶亮留 留 留 50ms 劉 留 2000ms (2s).
void blink(int time) {
digitalWrite(10, HIGH);
delay(time);
digitalWrite(10, LOW);
delay(time);
}
旅留隆旅虜留溜留 粒旅留 凌
留僚留硫硫侶亮留
IEEE NTUA Student Branch
link A Led: vol. 2
溜 粒留亮亮留
void setup() {
pinMode(10, OUTPUT);
}
void loop() {
int sensorValue = analogRead(A0);
int timeValue = map(sensorValue, 0, 1023, 50, 2000);
blink(timeValue);
delay(1);
}
律流侶 侶
僚略侶侶 map()
粒旅留 侶僚 亮竜留凌流
侶 旅亮流 侶
sensorValue 留 0
- 1023 竜 50 - 2000
IEEE NTUA Student Branch
Big Challenge
劉了凌亮竜 僚留 亮竜流凌亮竜 侶僚 隆旅留凌略 隆僚留亮旅虜凌 留 略虜留 凌
凌竜僚旅凌亮劉凌 (Volt) 亮竜 留虜溜硫竜旅留 竜僚 隆竜虜留隆旅虜凌 侶溜凌.
亮, 慮劉了凌亮竜 僚留 虜略僚凌亮竜 侶僚 虜竜流 亮劉侶流 亮留, 凌侶流.
侶了留隆流, 僚留 亮侶僚 竜旅略龍竜留旅 凌了凌粒旅流 粒旅留 僚留 凌硫略了凌亮竜 留
留凌竜了劉亮留留. 旅留 凌僚 虜凌 留, 竜竜旅隆流 粒僚溜龍凌亮竜 マ 僚留
僚隆劉凌亮竜 虜留旅 僚留 竜了劉粒凌亮竜 了僚溜竜 LED, 慮留 竜虜ホ塾刃亮竜 留
留凌竜了劉亮留留 僚 亮竜流竜ホ 亮留 亮竜 侶僚 流侶 2 LED  竜両流:
 里凌 マ凌 LED 慮留 留凌旅略龍竜旅 旅 亮凌僚略隆竜.
 里凌 隆竜竜凌 LED 慮留 留凌旅略龍竜旅 旅 隆竜虜略隆竜.
 略慮竜 LED 慮留 留僚留硫凌硫流僚竜旅 竜 凌劉 凌 虜留旅 凌
留旅慮亮 凌 劉竜旅 僚留 隆竜溜両竜旅.
 マ留 慮留 隆竜溜僚竜旅 凌僚 留旅慮亮 凌 凌 マ凌 LED 虜留旅 亮竜
虜留慮劉侶侶 3 隆竜竜凌了劉僚 慮留 隆竜溜僚竜旅 凌僚 留旅慮亮 凌 凌
隆竜竜凌 LED.
 留凌溜留侶 凌 留凌竜了劉亮留凌 侶 亮劉侶侶 慮留 粒溜僚竜留旅 亮了旅
留侶慮竜溜 凌 隆旅留虜侶.
溜僚凌僚留旅 留 竜両流: 2 LED, 1 凌竜僚旅亮竜凌, 1 隆旅留虜侶, 1 留僚溜留侶 (10k立)
IEEE NTUA Student Branch
離隆竜旅両侶 1
裡僚略侶侶 竜両留粒粒流 亮凌僚略隆僚
int monades(float volt;) {
int mon = (int) volt;
return mon;
}
硫竜旅 凌
隆竜虜留隆旅虜
亮劉凌 亮旅留
float
亮竜留硫了侶流.
int dekata(float volt;) {
float dec = volt - monades(volt);
dec = dec * 10;
int decimal = (int) dec;
return decimal;
}
裡僚略侶侶 竜両留粒粒流 隆劉虜留僚
IEEE NTUA Student Branch
離隆竜旅両侶 2
旅留隆旅虜留溜留 僚留硫凌硫流亮留凌
void blink(int times; int pin;) {
for(int i = 1; i <= times; i++;) {
digitalWrite(pin, HIGH);
delay(500);
digitalWrite(pin, LOW);
delay(500);
}
}
凌亮流 竜留僚略了侶侶 粒旅留 僚留
留僚留硫凌硫流竜旅 凌 LED 竜
凌劉 龍侶流留亮竜.
竜 凌劉 慮留
留僚留硫凌硫流竜旅
 侶旅留虜流 慮留 凌
虜略慮竜 LED
IEEE NTUA Student Branch 離隆竜旅両侶 3
int led1 = 13;
int led2 = 12;
int switch = 2;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(switch, INPUT);
}
void loop() {
int switchState = digitalRead(switch);
if (switchState == HIGH) {
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0/1023);
int a = monades(voltage);
int b = dekata(voltage);
blink(a, led1);
delay(3000);
blink(b, led2);
}
delay(1);
}
凌竜溜竜 僚留 硫略了竜竜 旅 pins 慮劉了竜竜
留虜竜溜 凌 粒留亮亮留 僚留
留僚旅凌旅凌僚 留虜旅硫マ 亮竜 留 隆旅略凌留
了旅虜略.
僚 留侶慮竜溜 凌 隆旅留虜侶 竜虜劉了竜竜
凌僚 留留虜略 虜ホ肝肯採.
竜 留 Volt.
両留粒粒流 亮凌僚略隆僚
両留粒粒流 隆劉虜留僚
マ凌 LED
留慮劉侶侶 3s
竜竜凌 LED

More Related Content

IEEE NTUA SB - Arduino Workshop vol 2

  • 1. The Arduino Workshop Vol 2: Back to Analog! IEEE NTUA Student Branch
  • 2. IEEE NTUA Student Branch 僚略侶侶 analogRead() 裡僚留両侶: analogRead(Analog In) 竜旅凌粒溜留: 旅劉竜旅 亮溜留 留虜劉留旅留 旅亮流 留 凌 0 劉 1023 凌 留僚旅凌竜竜旅 侶僚 隆旅留凌略 隆僚留亮旅虜凌 侶僚 慮留 凌 劉凌亮竜 竜旅了劉両竜旅. (1023 = 5V)
  • 4. IEEE NTUA Student Branch +5V GND A0
  • 5. IEEE NTUA Student Branch void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(A0); Serial.println(sensorValue); delay(1); } 隆 隆旅留硫略龍凌亮竜 侶僚 旅亮流 侶僚 慮留 A0. 留 侶 sensorValue 虜亮留溜僚竜留旅 留 0 劉 1023! 留慮劉侶侶 1ms 虜虜溜僚侶侶 竜旅旅留虜流 竜旅虜凌旅僚僚溜留 亮竜 凌僚 凌了凌粒旅流.
  • 6. IEEE NTUA Student Branch 留旅慮亮凌 竜 Volt 竜 留了流 亮劉慮凌隆凌 僚 旅ホ: 留僚 侶 僚略侶侶 analogRead() 隆溜僚竜旅 1023, 隆溜僚凌亮竜 侶僚 慮留 5.0 Volt. 留僚 侶 僚略侶侶 analogRead() 隆溜僚竜旅 留, 隆溜僚凌亮竜 侶僚 慮留 x (?) Volt. 留 虜留留了流粒凌亮竜 凌僚 凌 (竜 粒了マ留 C): x = (5.0/1023)*留
  • 7. IEEE NTUA Student Branch void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(A0); float voltage = sensorValue * (5.0/1023); Serial.println(voltage); delay(1); } 里凌 留凌劉了竜亮留 侶 凌侶粒凌亮竜僚侶 留略留侶 亮, 竜溜僚留旅 隆竜虜留隆旅虜 留旅慮亮. 留 慮留 侶旅亮凌凌旅流凌亮竜 凌僚 凌 亮竜留硫了侶流 float.
  • 8. IEEE NTUA Student Branch 僚略侶侶 map() 裡僚留両侶: map(value, fromLow, fromHigh, toLow, toHigh) 竜旅凌粒溜留: 劉竜留旅 凌 竜隆溜凌 value 亮旅留 亮竜留硫了侶流, 凌 竜隆溜凌 fromLow 凌 虜略 略虜凌 僚 旅亮ホ 侶, 凌 fromHigh 凌 略僚 略虜凌 僚 旅亮ホ 侶 虜留旅 侶僚 亮竜留劉竜旅 マ竜 僚留 竜旅凌溜龍竜留旅 亮竜留両 隆凌 僚劉僚 略僚 虜留旅 虜略 略虜僚 凌 隆溜僚凌僚留旅 留 竜隆溜留 toLow 虜留旅 toHigh 留僚溜凌旅留. 旅 竜僚隆旅略亮竜竜 旅亮劉 侶, 略僚竜 留僚留了凌粒旅虜略.
  • 9. IEEE NTUA Student Branch void setup() { Serial.begin(9600); } void loop() { int sensorValue = analogRead(A0); int newValue = map(sensorValue, 0, 1023, 0, 255); Serial.println(newValue); delay(1); } 留略隆竜旅粒亮留 - 留亮凌粒流
  • 10. IEEE NTUA Student Branch Fade A Led: vol. 2 GND LED (pin 10)
  • 11. IEEE NTUA Student Branch void setup() { pinMode(10, OUTPUT); } void loop() { int sensorValue = analogRead(A0); int ledValue = map(sensorValue, 0, 1023, 0, 255); analogWrite(10, ledValue); delay(1); } 留 侶旅亮凌凌旅流凌亮竜 侶僚 僚略侶侶 analogWrite 粒旅留 僚留 留僚略硫凌亮竜 凌 LED 竜 隆旅留凌竜旅虜劉 竜僚略竜旅. 亮 隆竜僚 亮凌凌亮竜 僚留 硫略了凌亮竜 虜留竜慮竜溜留僚 侶僚 旅亮流 凌 了留亮硫略僚凌亮竜 留 凌 凌竜僚旅亮竜凌 侶僚 僚略侶侶 analogWrite 隆旅旅 竜僚 侶 竜了竜留溜留 隆劉竜留旅 旅亮劉 留 0 劉 255, 侶 僚略侶侶 analogRead 隆溜僚竜旅 留 0 劉 1023. 隆 竜旅留龍亮留竜 侶僚 僚略侶侶 map(). 略凌亮竜 凌 LED 侶僚 旅亮流 凌 亮留 隆溜僚竜旅 侶 ledValue.
  • 12. IEEE NTUA Student Branch 溜粒留 了粒旅留 粒旅留 旅 隆旅留隆旅虜留溜竜... void newMethod(int a; float b; ...) { ... } void setup() { .. newMethod(j, b); } void loop() { .. } 僚凌亮留 旅留隆旅虜留溜留 侶了マ竜旅 留留亮劉僚 了流侶 旅留隆旅虜留溜留 流
  • 13. IEEE NTUA Student Branch link A Led: vol. 2 留 慮亮溜凌亮竜 凌僚 慮亮 凌 留僚留硫凌硫流僚竜旅 凌 LED 亮竜 凌 凌竜僚旅亮竜凌, 慮亮溜龍凌僚留 侶僚 虜留慮劉侶侶 留僚略亮竜留 凌 留僚留硫硫侶亮留 留 留 50ms 劉 留 2000ms (2s). void blink(int time) { digitalWrite(10, HIGH); delay(time); digitalWrite(10, LOW); delay(time); } 旅留隆旅虜留溜留 粒旅留 凌 留僚留硫硫侶亮留
  • 14. IEEE NTUA Student Branch link A Led: vol. 2 溜 粒留亮亮留 void setup() { pinMode(10, OUTPUT); } void loop() { int sensorValue = analogRead(A0); int timeValue = map(sensorValue, 0, 1023, 50, 2000); blink(timeValue); delay(1); } 律流侶 侶 僚略侶侶 map() 粒旅留 侶僚 亮竜留凌流 侶 旅亮流 侶 sensorValue 留 0 - 1023 竜 50 - 2000
  • 15. IEEE NTUA Student Branch Big Challenge 劉了凌亮竜 僚留 亮竜流凌亮竜 侶僚 隆旅留凌略 隆僚留亮旅虜凌 留 略虜留 凌 凌竜僚旅凌亮劉凌 (Volt) 亮竜 留虜溜硫竜旅留 竜僚 隆竜虜留隆旅虜凌 侶溜凌. 亮, 慮劉了凌亮竜 僚留 虜略僚凌亮竜 侶僚 虜竜流 亮劉侶流 亮留, 凌侶流. 侶了留隆流, 僚留 亮侶僚 竜旅略龍竜留旅 凌了凌粒旅流 粒旅留 僚留 凌硫略了凌亮竜 留 留凌竜了劉亮留留. 旅留 凌僚 虜凌 留, 竜竜旅隆流 粒僚溜龍凌亮竜 マ 僚留 僚隆劉凌亮竜 虜留旅 僚留 竜了劉粒凌亮竜 了僚溜竜 LED, 慮留 竜虜ホ塾刃亮竜 留 留凌竜了劉亮留留 僚 亮竜流竜ホ 亮留 亮竜 侶僚 流侶 2 LED 竜両流: 里凌 マ凌 LED 慮留 留凌旅略龍竜旅 旅 亮凌僚略隆竜. 里凌 隆竜竜凌 LED 慮留 留凌旅略龍竜旅 旅 隆竜虜略隆竜. 略慮竜 LED 慮留 留僚留硫凌硫流僚竜旅 竜 凌劉 凌 虜留旅 凌 留旅慮亮 凌 劉竜旅 僚留 隆竜溜両竜旅. マ留 慮留 隆竜溜僚竜旅 凌僚 留旅慮亮 凌 凌 マ凌 LED 虜留旅 亮竜 虜留慮劉侶侶 3 隆竜竜凌了劉僚 慮留 隆竜溜僚竜旅 凌僚 留旅慮亮 凌 凌 隆竜竜凌 LED. 留凌溜留侶 凌 留凌竜了劉亮留凌 侶 亮劉侶侶 慮留 粒溜僚竜留旅 亮了旅 留侶慮竜溜 凌 隆旅留虜侶. 溜僚凌僚留旅 留 竜両流: 2 LED, 1 凌竜僚旅亮竜凌, 1 隆旅留虜侶, 1 留僚溜留侶 (10k立)
  • 16. IEEE NTUA Student Branch 離隆竜旅両侶 1 裡僚略侶侶 竜両留粒粒流 亮凌僚略隆僚 int monades(float volt;) { int mon = (int) volt; return mon; } 硫竜旅 凌 隆竜虜留隆旅虜 亮劉凌 亮旅留 float 亮竜留硫了侶流. int dekata(float volt;) { float dec = volt - monades(volt); dec = dec * 10; int decimal = (int) dec; return decimal; } 裡僚略侶侶 竜両留粒粒流 隆劉虜留僚
  • 17. IEEE NTUA Student Branch 離隆竜旅両侶 2 旅留隆旅虜留溜留 僚留硫凌硫流亮留凌 void blink(int times; int pin;) { for(int i = 1; i <= times; i++;) { digitalWrite(pin, HIGH); delay(500); digitalWrite(pin, LOW); delay(500); } } 凌亮流 竜留僚略了侶侶 粒旅留 僚留 留僚留硫凌硫流竜旅 凌 LED 竜 凌劉 龍侶流留亮竜. 竜 凌劉 慮留 留僚留硫凌硫流竜旅 侶旅留虜流 慮留 凌 虜略慮竜 LED
  • 18. IEEE NTUA Student Branch 離隆竜旅両侶 3 int led1 = 13; int led2 = 12; int switch = 2; void setup() { pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(switch, INPUT); } void loop() { int switchState = digitalRead(switch); if (switchState == HIGH) { int sensorValue = analogRead(A0); float voltage = sensorValue * (5.0/1023); int a = monades(voltage); int b = dekata(voltage); blink(a, led1); delay(3000); blink(b, led2); } delay(1); } 凌竜溜竜 僚留 硫略了竜竜 旅 pins 慮劉了竜竜 留虜竜溜 凌 粒留亮亮留 僚留 留僚旅凌旅凌僚 留虜旅硫マ 亮竜 留 隆旅略凌留 了旅虜略. 僚 留侶慮竜溜 凌 隆旅留虜侶 竜虜劉了竜竜 凌僚 留留虜略 虜ホ肝肯採. 竜 留 Volt. 両留粒粒流 亮凌僚略隆僚 両留粒粒流 隆劉虜留僚 マ凌 LED 留慮劉侶侶 3s 竜竜凌 LED