Académique Documents
Professionnel Documents
Culture Documents
2015
1
, 2015
ISBN 978-960-93-6760-8
Creative Commons 4.0 (http://creativecommons.org/licenses/by-sa/4.0/).
:
, . (2015). Arduino.
. : .
/
(),
()
(),
,
.
(open source) Fritzing (http://www.fritzing.org).
Fritzing
.
19, M.Ed.
web: http://users.sch.gr/manpoul
email: manpoul@sch.gr
..............................................................................................................................................7
1. Arduino.......................................................7
2. ......................................................................................................8
3. Arduino IDE.....................................................................................9
4. ..........................................................................................................................10
5. / (Pins).........................................................................................................10
6. - .......................................................................................11
6.1. ............................................................................................................11
6.2. .....................................................................................................................................12
6.3. (Pins)......................................................12
6.4. - ................................................................................12
6.4.1. ..............................................................................................................13
6.4.2. .............................................................................................................13
6.4.3. (PWM pins).......................................................................................13
6.4.4. ..........................................................................................................14
6.5. ...............................................................................................................14
6.5.1. delay()...............................................................................14
6.5.2. - delayMicroseconds().........................................................15
6.5.3. - millis()......................................................................15
6.6. - map()................................................................................15
6.7. (Serial)...................................................................................15
6.8. .........................................................................................................................16
6.9. (For)..........................................................................................................17
7. breadboard .................................................................17
8. .............................................................................18
9. .................................19
9.1. - Leds..................................................................................................................19
9.1.1. - RGB Leds.................................................................................20
9.2. - Buttons..................................................................................................................21
9.3. - Potentiometer..............................................................................................22
9.4. Sounder......................................................................................................................22
9.5. Photoresistor (LDR)................................................................23
9.6. - Servos.......................................................................................................................23
9.7. DC Motor...........................................................................................24
9.7.1. ....................................................................................................24
9.8. Ultrasonic sensor............................................................................25
9.9. - Shields....................................................................................................................26
10. ............................................................................................................................26
10.1. 1 To led ......................................................................27
10.2. 2 (Fade in-Fade out)........28
Arduino,
Arduino UNO R3.
. ,
,
, .
Arduino, .
, .
Arduino C/C++,
, .
Arduino,
.
,
.
, ,
,
. , 5, 6 9
.
,
.
,
Arduino. ,
, .
,
. ,
.
(.. , ).
. , '
,
,
Arduino, . 2014-15.
1. Arduino
Arduino ,
E. - Arduino
. 7 64
. , ,
,
.
, ,
.
Arduino IDE C/C++.
Arduino (http://arduino.cc/)
,
(http://arduino.cc/en/Main/Software).
Arduino IDE,
Scratch*,
Arduino, S4A - Scratch For Arduino *, .
(blocks Scratch)
.
ArduBlock*, blocks
. , (web ),
BlocklyDuino* ArduinoMio*.
*.
, Arduino IDE,
,
.
2.
Arduino ,
,
. , Arduino
,
,
Arduino.
Arduino, ,
Arduino .
-ino,
Funduino.
(http://store.arduino.cc/),
(http://arduino.cc/en/Main/Buy).
:
, Arduino Uno R3
, 14 / 6 (Pins)
( usb
),
pins ,
* 11.2. ).
E. - Arduino
. 8 64
(breadboard)
leds, , , ,
.
, (starter kit) ,
usb , breadboard, ( ),
leds, , , , , ,
.. Arduino Starter Kit (http://store.arduino.cc/product/K000007).
Arduino,
, Arduino,
,
, 1/3
.
3. Arduino IDE
Arduino
IDE ( 1). ( C/C++)
. Arduino IDE
Windows, Mac Linux
(http://arduino.cc/en/Main/Software).
1 Arduino IDE
,
( => ).
E. - Arduino
. 9 64
4.
Arduino USB
. 5V .
7V 12V,
5V (. http://arduino.cc/en/Main/arduinoBoardUno).
pins
: (+) Pin VCC IN (-) Gnd .
USB
5V USB .
5. / (Pins)
Arduino Uno R3 14 (digital input/outpit pins)
(analog input pins). 14 0
13, 0 5
(.. 3). pins 0 5V . 14
, 3, 5, 6, 9, 10, 11, PWM (Pulse Width Modulation),
.
, :
, 14 0..13. ,
0 5V, LOW HIGH
.
, 14 0..13. ,
0 5V, LOW HIGH
.
, 0 5V,
A0..A5.
, PWM (3, 5,
6, 9, 10, 11),
0 5V.
pinMode(),
. .
,
pins 0 1 ,
, (.. 12 pins
).
, 13 Led Arduino Uno,
.
E. - Arduino
. 10 64
6. -
Arduino IDE .
Arduino - , setup()
loop() :
setup() - ,
( reset
).
/ (
Pin ).
loop() - .
loop(), , .
, Arduino
reset.
, Arduino setup()
loop() ( )
reset.
Reset setup() loop()
, .
( ) Reset
.
:
void setup() {
/* Reset */
}
void loop() {
/* ,
Reset */
}
6.1.
, .
Arduino .
:
byte, 0 255
int, -32768 32767
char, ( Byte)
string,
E. - Arduino
. 11 64
:
int ledPin = 13; // ledPin 13
float SinVal; // SinVal
6.2.
,
. //
( // ), /* */
( /* */ ).
:
int ledPin = 13;
// Pin LED
/*
LED 1 sec */
6.3. (Pins)
,
.
( setup) Pins
.
pinMode(Pin, Mode) )
Pin ) INPUT ()
OUTPUT().
14 Pins, 6 PWM, 0..13
0..5.
:
pinMode(12, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(2, INPUT);
6.4. -
(pin)
, . ,
.
, ,
.
E. - Arduino
. 12 64
6.4.1.
14 pins Arduino , 0 5V.
digitalWrite(Pin, Value), Pin
,
0 V 5 V, value
LOW : 0 V (pin)
HIGH : 5 V (pin)
:
digitalWrite(ledPin, HIGH);
: setup(),
pinMode.
:
pinMode(10, OUTPUT);
6.4.2.
14 pins Arduino ,
0 5V.
digitalRead(Pin), Pin
, . H
0V 5V,
:
LOW : 0 V (pin)
HIGH : 5 V (pin)
:
Val = digitalRead(ledPin);
: setup(),
pinMode.
:
pinMode(10, INPUT);
. 13 64
6.4.4.
To Arduino 6 , A0, A1, A2, A3,
A4, A5. (.. )
. analogRead(Pin),
Pin ,
. 0 1023.
.
:
int r = analogRead(A1);
: setup(),
pinMode.
:
pinMode(A1, INPUT);
6.5.
.
.
6.5.1. delay()
. delay(time)
time ms (1/1000 sec). delay(time)
time.
:
delay(1000); // 1000 ms = 1 sec
delay(500); // 500 ms = 0.5 sec
E. - Arduino
. 14 64
6.5.2. - delayMicroseconds()
delay,
delayMicroseconds(), microseconds (1/106 sec).
:
delayMicroseconds(10); // 10sec = 1/100000 sec
6.5.3. - millis()
Arduino ,
( reset).
millis(), milliseconds (1/1000 sec)
.
, .
,
(.. ),
.
:
lastPress = millis();
if (lastPress millis() > 1000) {...}
6.6. - map()
. ,
Arduino ,
map(<>, <_>, <_>, <_>, <_>)
<>
<_>
<_>
<_> ( )
<_> ( )
:
val = map(val, 0, 1023, 0, 179); /*
(0 1023) (0 179) */
6.7. (Serial)
To Arduino
. USB
( ) pins 0 1
(.. ). ,
E. - Arduino
. 15 64
, pins .
setup()
Serial.begin(BaudRate), BaudRate
bits ( 9600 ).
:
Serial.begin(9600);
,
.
(debugging) ,
. print(),
println()
.
:
Serial.print(H epikoinwnia ksekinhse); /*
*/
Serial.println(distance); /*
distance */
Arduino USB ,
( 2),
.
6.8.
. ,
if <> { < 1> }
else { < 2> }
, <> ,
(>, <, =, <>, >=, <=), .. potVal > 500.
, ( || ', && ), .. (potVal >
500) && (timePass >= 1000) .
{ <> } .
<> < 1>, < 2>.
, else { < 2>} .
E. - Arduino
. 16 64
, ,
.
6.9. (For)
.
,
.
.
:
for (< >; <_>;<>)
{ <> }
< > , .. i = 0
<> , .. i+5 ( i++ i+1)
<_> , .. i < 10 (
)
..
for (i=1;i<10;i=i+1) {
brightness = brightness + 5;
analogWrite(ledPin, brightness);
};
,
' .
, :
while <> { <> } // <>
repeat {<>} until <> // <>
7. breadboard
(, leds, ,
) breadboard
. , breadboard
,
.
3 breadboard.
+ - ( ,
) , (
1 30)
( a, b, c, d, e f, g, h, i, j) .
, GND Arduino breadboard
GND .
E. - Arduino
. 17 64
3 Breaboard
, (5 ),
. 4
.
4 Breadboard
SparkFun.Com,
(https://learn.sparkfun.com/tutorials/how-to-use-a-breadboard).
8.
5
E. - Arduino
. 18 64
USB
. Arduino
, / .
Arduino ( 5) :
- . .. Arduino Uno
-
Arduino USB . Windows
COMX (.. COM3, COM11), Linux
/dev/tty.
, ( 6)
. ,
.
, ,
, ,
,
( 7)
.
, .
9.
.
,
,
.
,
.
.
9.1. - Leds
, leds ,
(. 8). led
,
E. - Arduino
. 19 64
.
R = (V V) / I
R , V (5V
Arduino), V led I led. ,
220 led .
8 Leds
, leds ,
. (+)
(-). , ()
(+). ,
, (
).
9 RGB led
RGB leds ( )
. , (+) (-),
. , ,
(-), (GND). , Pin
Arduino,
.
: ,
Arduino, .
. led 150-180 75-100
. ,
E. - Arduino
. 20 64
(
).
led (2
9), pin (1 ),
pin (3 ) pin
(4 ).
9.2. - Buttons
( 10)
, ..
.
10 (button)
.
( LOW input pin
HIGH) pull-down resistor
11.
11 Pull-down resistor
12 Pull-up resistor
. 21 64
9.3. - Potentiometer
.
, ,
( 13).
13 (potentiometer)
(5V), (GND)
( pin
Arduino). ,
.
,
.
9.4. Sounder
Arduino .
led, , (5V)
(GND), 14. (.. 5V)
, (.. (5V), PWM pin
Arduino ) ,
.
14 ()
15
( 15).
.
E. - Arduino
. 22 64
16 (LDR)
(.. led ).
.
9.6. - Servos
Arduino
( 17), TowerPro SG90.
0 180 .
.
, 180
. ,
Pin Arduino .
17 (servo)
(#include
<Servo.h>), servo (servo myservo;) pin
.
#include <Servo.h>
int servoPin = 13;
Servo myservo;
servoPin setup,
setup()
myservo.attach(servoPin);
() (5V), ()
(GND) () pin (),
E. - Arduino
. 23 64
servo.write(num);
num 0 179, 180 .
9.7. DC Motor
(DC motors). ( 18).
18 (DC motor)
, ,
, .
,
.
9.7.1.
.
- (H-bridges)
L298N ( 19), -.
http://adhocnode.com/motor-control/.
19 L298N ( )
pins , .
pin , ( ), 1, 2
3, 4 . , pins
(5V) (GND),
E. - Arduino
. 24 64
() GND VMS . ,
, , MOTOR A MOTOR
B .
,
.
pin ( ) .
(Vcc 5V),
(GND), pin (trigger) pin
(Echo). Pin trigger , Pin echo
setup(). trigger
digitalWrite(trigPin, HIGH); // ,
delayMicroseconds(10); //
digitalWrite(trigPin, LOW); // ,
echo
duration = pulseIn(echoPin, HIGH);
( cm) ,
distance = duration/58.138;
distance = duration/58.2;
58.138 .
,
58.2 (
trigger () 2s 10s. ,
E. - Arduino
. 25 64
9.9. - Shields
Arduino (shields)
pins .
, WiFi Shield, BlueTooth Shield , Arduino
. ,
, .
, ArduinoSensor Shield ( 21)
pin (Ground, Voltage, Pin)
pin ( ) (5V)
(GND).
10.
,
,
.
,
. ,
,
,
,
.
E. - Arduino
. 26 64
10.1. 1 To led
led
, ,
' .
Led 5V
Led
(.. Led ).
22 .
22 1
Pin 10,
Led
. Led. led
+, Pin 10 . , led
GND .
,
.
, :
1. Pin 10.
2. Pin10 .
3. 5V Pin10.
4. 1
led.
5. ( 0V) Pin10.
6. 1
led.
1,2 . 3-6
.
. - Arduino
. 27 64
23 2
led PWM
Arduino, .
0 255, 0 5V. ,
analogWrite(Pin, Brightness) Pin , 0 255.
!
, :
1.
2.
3.
4.
.
0.
(.. 5) , 255.
255
.
(6.4.3.)
. - Arduino
. 28 64
24 3
,
. :
1. (, , ).
2. 0 (.. 5) 255.
3. (255), led
(blink).
4. (.. -5) ,
0.
5. (0), led (blink)
.
(6.8)
. - Arduino
. 29 64
10.4. 4
led . led
pin, pin,
( ) led.
led, pin
(PWM). , (
Arduino Uno) .
, 25.
(5V), (GND) .
0 1023,
Pin (.. 4).
breadboard, .
25 4
,
led (OUTPUT) (INPUT).
, ,
0 1023,
led, 4. AnalogWrite(PIN, Value)
AnalogRead(Pin). Pin A0, A1, , A5,
0, 1, 2,..13.
1. (-).
2.
( ) led .
3.
led (.. 50 msec).
: (5), (6.1), (6.3),
(6.4.3.), (6.5.1), Breadboard(7),
(8), Led (9.1)
(6.4.4), (9.3)
. - Arduino
. 30 64
10.5. 5 -
,
.
, USB.
,
.
1. setup() 9600.
2. loop(), H
epikoinwnia ksekinhse: .
3. 1 20
.
4. ,
, .. Twra vlepw
thn epanalhpsh : X, '
.
5. ( ),
.
6. ,
.
7. .
:
(debugging). ,
:
1.
.
2.
(
) .
3. , !
(6.7)
. - Arduino
. 31 64
26 6
led PWM
Arduino, . :
1. (, , ).
2. led.
led, ..
for(i=0;i<=255;i=i+5) {
analogWrite(redPin, i);
analogWrite(greenPin, i);
analogWrite(bluePin, i);
delay(200);
}
3.
!
. - Arduino
. 32 64
27 7
leds PWM .
, .
RGB led! ,
, ,
Led .
1. ( , , /).
2. led,
.
3.
!
. - Arduino
. 33 64
10.8. 8
. ,
.
*, , , , , ...
led, , (
) , .
28 .
GND, breadboard (-)
GND Arduino.
28 8
,
. , :
1. 5V led 0V .
2. 1
led .
3. 1, 2 , Led.
4. .
.
* , .
( ) .
.
. - Arduino
. 34 64
10.9. 9
,
8, . ,
,
,
. .
, 8, led,
. 29 .
GND breadboard.
29 9
,
.
.
. 35 64
10.10. 10
,
( 8 9),
, :
(), ,
.
( ) .
,
(). .
, 8 9,
.
.
30 .
30 10
. ,
:
1. (, , /).
2. .
3. (pin)
.
,
, millis().
.
.
(9.2), (6.5.3)
. - Arduino
. 36 64
led .
led , 31.
31 11
led ,
. , ,
led, .
1. led
(, digitalWrite(led, value)).
2. .
3. ( ),
led , ,
. led :
for (i=0;i<=7;i++) {
digitalWrite(Led[i], HIGH);
delay(200);
digitalWrite(Led[i], LOW);
}
4. Leds .
.
: (5), (6.1), (6.3),
(6.4.1.), (6.5.1), Breadboard(7),
(8), Led (9.1), (6.9)
. - Arduino
. 37 64
32 12
.
,
delay.
!
,
. -
.
!
: (5), (6.1), (6.3),
(6.4.1.), (6.4.4), (6.5.1),
(6.9), Breadboard(7), (8), Led (9.1),
(9.3)
. - Arduino
. 38 64
33 13
.
pin
led . ( 0-1023)
led ( 0-255). (..
4) map !
1: .
. .
,
. ;
2:
, !
: (5), (6.1), (6.3),
(6.5.1), (6.4.3.), (6.4.4),
Breadboard(7), (8), Led (9.1)
map (6.6),
(9.5)
. - Arduino
. 39 64
10.14. 14 (Sounder)
.
(sounders) .
.
. (
- ), (5V)
(GND). .
34 , (PWM) Arduino,
.
34 14
. pin Arduino
.
1. .
2. pin
. 0 255,
(.. 500msec) .
3. ,
0.
(9.4)
. - Arduino
. 40 64
35 15
13, .
() led .
( 0-1023) led ( 0-255),
.
1: .
. .
,
. ;
2:
, !
: (5), (6.1), (6.3),
(6.4.3.), (6.4.4), (6.5.1),
map (6.6), Breadboard(7),
(8), (9.4), (9.5)
. - Arduino
. 41 64
10.16. 16 (Servos)
,
180 .
.
. :
(5V), pin Arduino.
. TowerPro SG90
() (5V), () (GND) () pin
. 36 .
36 16
,
<Servo.h>. ,
.
.
1.
2.
3.
4.
pin servo
.
servo .
.
setup() ,
attach(Pin).
5. write() servo , :
90
180
90
0 ,
.
: (5), (6.1), (6.3),
(6.5.1), Breadboard(7), (8)
(9.6)
. - Arduino
. 42 64
10.17. 17 (Servos)
.
.
:
.
.
,
. 37 .
breadboard, .
37 17
. :
1. ,
.
2. ,
, .
: 0 1023
.
3. .
. 43 64
38 18
.
1. pin ,
.
2. (pin ) .
3. (pin ) (0 255),
.
4.
.
(9.7)
. - Arduino
. 44 64
10.19. 19 2
H (H-bridge). chip
L298N.
chip .
*.
L298N.
,
.
,
. :
1.
2.
3.
4.
5.
pin .
.
.
.
.
.
6. .
.
7.
, .
8. ;
;
* 4 L293D, ,
.
(9.7.1)
. - Arduino
. 45 64
10.20. 20 -
,
. HC-SR04,
.
(. 39). (5V),
(GND) pin, (trigger) (echo).
39 20
. ,
.
1. pins .
2. 9600.
3. ( cm), .. 0 200,
0 2 .
4. trigger ,
digitalWrite() 2 s.
5. trigger 10 s.
6. , echo
pulseIn(echoPin, HIGH);
7.
( distance = duration/58.2; )
8. .
9. .
10. 50 ms .
(9.8), (6.5.2)
. - Arduino
. 46 64
10.21. 21
, .
.
:
( ),
.
,
.
(
)
Arduino , . ,
.
, . !
. - Arduino
. 47 64
11.
11.1.
Banzi, M. (2011). Getting Started with Arduino (2nd Edition). USA: Make:Books(O' Reilly)
11.2.
ArduBlock: http://blog.ardublock.com/
Arduino: http://www.arduino.cc
ArduinoMio: http://www.mastrohora.it/arduinomio/en/xuino.php
BlocklyDuino: http://www.gasolin.idv.tw/public/blockly/demos/blocklyduino/index.html
Fritzing: http://fritzing.org
Scratch: http://scratch.mit.edu
Scratch4Arduino: http://s4a.cat/
SparkFun: https://learn.sparkfun.com/
Tolabaki: http://wiki.tolabaki.gr/w/To_Labaki:About
E. - Arduino
. 48 64
1 To Led
int ledPin = 10;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
2 (Fade in-Fade out)
int ledPin = 10;
int brightness = 0;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
if (brightness == 255) {
brightness = 0;
};
analogWrite(ledPin, brightness);
brightness = brightness + 5;
delay(100);
}
3 (Fade in-Fade out),
(Blink at peaks)
int ledPin = 10;
int brightness = 255;
int interval = 5; //
void setup() {
pinMode(ledPin, OUTPUT);
}
E. - Arduino
. 49 64
void loop() {
if (brightness == 255 || brightness == 0) {
// (blink)
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
/* , ()
() */
interval = (-1)*interval;
};
analogWrite(ledPin, brightness);
brightness = brightness + interval;
delay(100);
}
4
int ledPin = 10;
int potPin = A4;
int potValue = 0; //
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(potPin, INPUT);
}
void loop() {
potValue = analogRead(potPin);
analogWrite(ledPin, potValue/4);
delay(50);
}
5
int i;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("H epikoinwnia ksekinhse");
for(i=1;i<=20;i++) {
E. - Arduino
. 50 64
Serial.println(i);
delay(100);
}
for(i=1;i<=20;i++) {
Serial.print("Twra vlepw thn epanalhpsh: ");
Serial.println(i);
delay(200);
}
}
6 (RGB Led)
int redPin = 11;
int greenPin = 10;
int bluePin = 9;
int i;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
//
analogWrite(redPin, 255);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
delay(2000);
//
analogWrite(redPin, 0);
analogWrite(greenPin, 255);
analogWrite(bluePin, 0);
delay(2000);
//
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
analogWrite(bluePin, 255);
delay(2000);
}
7 RGB Led
int redPin = 11;
int greenPin = 10;
int bluePin = 9;
E. - Arduino
. 51 64
int i;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
//
analogWrite(redPin, 255);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
delay(2000);
//
analogWrite(redPin, 0);
analogWrite(greenPin, 255);
analogWrite(bluePin, 0);
delay(2000);
//
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
analogWrite(bluePin, 255);
delay(2000);
}
8 T
int ledRed = 11;
int ledOrange = 10;
int ledGreen = 9;
void setup() {
pinMode(ledRed, OUTPUT);
pinMode(ledOrange, OUTPUT);
pinMode(ledGreen, OUTPUT);
}
void loop() {
// 3
digitalWrite(ledRed, HIGH);
digitalWrite(ledOrange, LOW);
digitalWrite(ledGreen, LOW);
delay(3000);
// 5
digitalWrite(ledRed, LOW);
E. - Arduino
. 52 64
digitalWrite(ledOrange, LOW);
digitalWrite(ledGreen, HIGH);
delay(5000);
// 1
digitalWrite(ledRed, LOW);
digitalWrite(ledOrange, HIGH);
digitalWrite(ledGreen, LOW);
delay(1000);
}
9 T
int ledRed = 11;
int ledOrange = 10;
int ledGreen = 9;
int pedRed = 4;
int pedGreen = 3;
void setup() {
pinMode(ledRed, OUTPUT);
pinMode(ledOrange, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
pinMode(pedGreen, OUTPUT);
}
void loop() {
// 3 ,
digitalWrite(ledRed, HIGH);
digitalWrite(ledOrange, LOW);
digitalWrite(ledGreen, LOW);
digitalWrite(pedRed, LOW);
digitalWrite(pedGreen, HIGH);
delay(3000);
// , 1
digitalWrite(pedRed, HIGH);
digitalWrite(pedGreen, LOW);
delay(1000);
// 5
digitalWrite(ledRed, LOW);
digitalWrite(ledOrange, LOW);
digitalWrite(ledGreen, HIGH);
delay(5000);
// 1
digitalWrite(ledRed, LOW);
E. - Arduino
. 53 64
digitalWrite(ledOrange, HIGH);
digitalWrite(ledGreen, LOW);
delay(1000);
}
10 T
int ledRed = 11;
int ledOrange = 10;
int ledGreen = 9;
int pedRed = 4;
int pedGreen = 3;
int btn = 5; // pin 5
int lastPedPass = 0; //
int btnState; //
void setup() {
pinMode(ledRed, OUTPUT);
pinMode(ledOrange, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
pinMode(pedGreen, OUTPUT);
pinMode(btn, INPUT);
//
digitalWrite(pedRed, HIGH);
digitalWrite(pedGreen, LOW);
digitalWrite(ledRed, LOW);
digitalWrite(ledOrange, LOW);
digitalWrite(ledGreen, HIGH);
}
void loop() {
int btnState = digitalRead(btn);
if (btnState == HIGH && (millis() - lastPedPass) > 5000) {
// 5 sec
// 1
digitalWrite(ledRed, LOW);
digitalWrite(ledOrange, HIGH);
digitalWrite(ledGreen, LOW);
delay(1000);
// 5 , 1 sec
digitalWrite(ledRed, HIGH);
digitalWrite(ledOrange, LOW);
digitalWrite(ledGreen, LOW);
delay(1000);
digitalWrite(pedRed, LOW);
E. - Arduino
. 54 64
digitalWrite(pedGreen, HIGH);
delay(3000);
// , 1
digitalWrite(pedRed, HIGH);
digitalWrite(pedGreen, LOW);
delay(1000);
// 5
digitalWrite(ledRed, LOW);
digitalWrite(ledOrange, LOW);
digitalWrite(ledGreen, HIGH);
lastPedPass = millis(); //
}
}
11 , (Led chase effect)
// ,
int lPin1 = 6;
int lPin2 = 7;
int lPin3 = 8;
int lPin4 = 9;
int lPin5 = 10;
int lPin6 = 11;
int lPin7 = 12;
int lPin8 = 13;
void setup() {
pinMode(lPin1, OUTPUT);
pinMode(lPin2, OUTPUT);
pinMode(lPin3, OUTPUT);
pinMode(lPin4, OUTPUT);
pinMode(lPin5, OUTPUT);
pinMode(lPin6, OUTPUT);
pinMode(lPin7, OUTPUT);
pinMode(lPin8, OUTPUT);
}
void loop() {
digitalWrite(lPin1, HIGH);
delay(200);
digitalWrite(lPin1, LOW);
digitalWrite(lPin2, HIGH);
delay(200);
digitalWrite(lPin2, LOW);
digitalWrite(lPin3, HIGH);
delay(200);
E. - Arduino
. 55 64
digitalWrite(lPin3, LOW);
digitalWrite(lPin4, HIGH);
delay(200);
digitalWrite(lPin4, LOW);
digitalWrite(lPin5, HIGH);
delay(200);
digitalWrite(lPin5, LOW);
digitalWrite(lPin6, HIGH);
delay(200);
digitalWrite(lPin6, LOW);
digitalWrite(lPin7, HIGH);
delay(200);
digitalWrite(lPin7, LOW);
digitalWrite(lPin8, HIGH);
delay(200);
digitalWrite(lPin8, LOW);
}
//
int ledPin[8]; // 8
int i;
void setup() {
for (i=0;i<8;i++) {
ledPin[i] = i+6; // Pins 6 13
pinMode(ledPin[i], OUTPUT);
}
}
void loop() {
for (i=0;i<=7;i++) {
digitalWrite(ledPin[i], HIGH);
delay(200);
digitalWrite(ledPin[i], LOW);
}
}
12 , (Led chase effect)
int ledPin[8]; // 8
int potPin = A4; // pin
int interval = 200; // 200
int i;
void setup() {
for (i=0;i<8;i++) {
ledPin[i] = i+6; // Pins 6 13
E. - Arduino
. 56 64
pinMode(ledPin[i], OUTPUT);
};
pinMode(potPin, INPUT);
}
void loop() {
for (i=0;i<=7;i++) {
interval = analogRead(potPin);
digitalWrite(ledPin[i], HIGH);
delay(interval);
digitalWrite(ledPin[i], LOW);
}
}
13 , (Led effect + light sensor)
int ledPin = 10;
int resPin = A1;
int resVal = 0; //
int ledVal = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(resPin, INPUT);
}
void loop() {
resVal = analogRead(resPin);
ledVal = map(resVal, 0, 1023, 0, 255);
analogWrite(ledPin, ledVal);
// map, analogWrite(ledPin, resVal / 4);
delay(50);
}
14 (Sounder)
int sndPin = 10;
int i;
void setup() {
pinMode(sndPin, OUTPUT);
}
void loop() {
for (i=0;i<=255;i=i+5) {
analogWrite(sndPin, i);
E. - Arduino
. 57 64
delay(50);
}
}
15 & (Sounder & Light Sensor)
int sndPin = 10;
int resPin = A1;
int resVal = 0; //
int ledVal = 0;
void setup() {
pinMode(sndPin, OUTPUT);
pinMode(resPin, INPUT);
}
void loop() {
resVal = analogRead(resPin);
ledVal = map(resVal, 0, 1023, 0, 255);
analogWrite(sndPin, ledVal);
// map, analogWrite(sndPin, resVal / 4);
delay(50);
}
16 (Servos)
#include <Servo.h>
int sPin = 10;
Servo s;
void setup() {
s.attach(sPin);
}
void loop() {
s.write(90);
delay(50);
s.write(179);
delay(50);
s.write(90);
delay(50);
s.write(0);
delay(50);
}
E. - Arduino
. 58 64
17 (Servos)
#include <Servo.h>
int sPin = 10;
int potPin = A1; // pin
Servo s;
int potVal = 0; //
int sVal = 0;
void setup() {
s.attach(sPin);
pinMode(potPin, INPUT);
}
void loop() {
potVal = analogRead(potPin);
sVal = map(potVal, 0, 1023, 0, 180);
s.write(sVal);
delay(50);
}
18 (DC Motor)
int mtrPin = 10;
int i;
void setup() {
pinMode(mtrPin, OUTPUT);
}
void loop() {
digitalWrite(mtrPin, HIGH);
delay(3000);
digitalWrite(mtrPin, LOW);
for (i=0; i<=255; i=i+5) {
analogWrite(mtrPin, i);
delay(100);
}
}
19 2
// A
int dir1PinA = 7;
int dir2PinA = 5;
E. - Arduino
. 59 64
int speedPinA = 6;
// B
int dir1PinB = 4;
int dir2PinB = 2;
int speedPinB = 3;
int speed = 255;
int time = 5000;
void setup() {
pinMode (dir1PinA, OUTPUT);
pinMode (dir2PinA, OUTPUT);
pinMode (speedPinA, OUTPUT);
pinMode (dir1PinB, OUTPUT);
pinMode (dir2PinB, OUTPUT);
pinMode (speedPinB, OUTPUT);
}
void loop() {
//
analogWrite (speedPinA, speed);
analogWrite (speedPinB, speed);
digitalWrite (dir1PinA , HIGH);
digitalWrite (dir2PinA, LOW);
digitalWrite (dir1PinB, HIGH);
digitalWrite (dir2PinB, LOW);
delay(time);
//
analogWrite (speedPinA, speed);
analogWrite (speedPinB, speed);
digitalWrite (dir1PinA, LOW);
digitalWrite (dir2PinA, HIGH);
digitalWrite (dir1PinB, LOW);
digitalWrite (dir2PinB, HIGH);
delay(time);
//
digitalWrite (speedPinA, LOW);
digitalWrite (speedPinB, LOW);
digitalWrite (dir1PinA , LOW);
digitalWrite (dir2PinA, LOW);
digitalWrite (dir1PinB, LOW);
digitalWrite (dir2PinB, LOW);
delay(time);
//
analogWrite (speedPinA, speed);
analogWrite (speedPinB, LOW);
E. - Arduino
. 60 64
. 61 64
// ( cm) .
distance = duration/58.2;
if (distance >= maximumRange || distance <= minimumRange){
/* */
Serial.println(" ");
delay(100);
}
else {
/* */
Serial.println(distance);
delay(50);
};
// 50ms
delay(50);
}
E. - Arduino
. 62 64
ISBN 978-960-93-6760-8
.