Μαθήματα Arduino: Κύκλωμα #1: Απλό κύκλωμα LED
-
Upload
georgios-giannopoulos -
Category
Education
-
view
497 -
download
2
description
Transcript of Μαθήματα Arduino: Κύκλωμα #1: Απλό κύκλωμα LED
Μαθήματα Arduino
Κύκλωμα #1: Απλό κύκλωμα LED
Γεώργιος Γιαννόπουλος ΠΕ19
http://arduinopedia.gr
5ο Εσπερινό ΕΠΑΛ ΑθήναςΟκτώβριος 2014
Creative Commons Licence BY-NC-SA 3.0 GRemail: ggiannop (at) sch.gr
13
12
11
10 9 8 7 6 5 4 3 2
L
5V
ANALOG IN
AR
EF
1
GN
D
TX
RX
RE
SE
T
3V
3
DIGITAL (PWM= )
ArduinoTM
IOR
EF
ICS
P
ICSP2
ON
POWER
01TX
0
RX
0RESET
Βασικά στοιχεία Arduino
13
12
11
10 9 8 7 6 5 4 3 2
L
5V
ANALOG IN
AR
EF
1G
ND
TX
RX
RESET
3V
3
DIGITAL (PWM= )
ArduinoTM
IOR
EF
ICS
P
ICSP2
ON
POWER
01TX
0
RX
0RESET
0..13: δεκατέσσεριςψηφιακές
εισόδοι - εξόδοι
3, 5, 6, 9, 10, 11:έξι ψηφιακές έξοδοιμπορούν να κάνουν
διαμόρφωση εύρουςΠαλμών ~ (PWM)
A0..A5: έξι αναλογικοίείσοδοι (inputs)
2 pins: Γείωση (ground) Arduino
Τροφοδοσίες3.3 + 5 Volts
“Διαμόρφωση Εύρους Παλμών” ~
Βασικό κύκλωμα LED
https://upload.wikimedia.org/wikipedia/commons/c/c9/LED_circuit.svghttps://upload.wikimedia.org/wikipedia/commons/9/9e/Verschiedene_LEDs.jpg
Εδώ είναιη ψηφιακήέξοδος του
Arduino η οποία δίνει 0 ή 5V.
Δίοδος Εκπομπής Φωτός (LED)
Η ωμική αντίσταση Rχρησιμοποιείται ώστενα μειώσει το ρεύμα
που θα τροφοδοτήσειτο LED ώστε να μην καεί.
Συνδεσμολογία Arduino με εξωτερικό LED
Στη παραπάνω συνδεσμολογία χρησιμοποιείται η ψηφιακή έξοδος 12 (πράσινο καλώδιο) η οποία τροφοδοτεί με ρεύμα το κύκλωμα με το λαμπάκι LED.
15
1015
2025
30
15
1015
2025
30
ABCDEFGHIJ
13
12
11
10
9
8
7
6
5
4
3
2
L
5V
AN
ALO
G IN
AREF
1
GND
TXRX
RESET
3V3
DIG
ITAL (PW
M=
)
Ard
uin
oTM
IOREF
ICSP
ICS
P2
ON
POW
ER
0
1TX0
RX0
RE
SE
T
Αντίσταση 330Ω ώστε να αντισταθμιστεί
το ρεύμα που θα περάσειστην δίοδο με +5V τάση
πηγής (έξοδος 12).
Σύνδεση στη ψηφιακήέξοδο 12, δίνει 0 ή 5Volts.
Προγραμματισμός LED κυκλώματος
/* Το πρόγραμμα αυτό αναβοσβήνει το LED που είναι συνδεδεμένο στην έξοδο 12
κάθε 1 δευτερόλεπτό.
*/
void setup() {
pinMode(12, OUTPUT); // ενεργοποίηση ψηφιακής εξόδου 12 (για έξοδο/output)
}
void loop() {
digitalWrite(12, HIGH);// κάνε την έξοδο 12 υψηλή (δηλαδή στείλε +5 volts)
delay(1000); // περίμενε 1000ms = 1 δευτερόλεπτο
digitalWrite(12, LOW); // κάνε την έξοδο 12 χαμηλή (δηλαδή στείλε 0 volts)
delay(1000); // περίμενε 1000ms = 1 δευτερόλεπτο
}
Ο,τι ξεκινάει από // ή βρίσκεται ανάμεσα σε /* ... */ είναι σχόλια που τα αγνοεί ο μεταγλωττιστής του κώδικα.
Τι λάθος υπάρχει παρακάτω;
Είναι σίγουρο ότι θα βραχυκυκλώσει το LED ή το Arduino;
15
1015
2025
30
15
1015
2025
30
ABCDEFGHIJ
13
12
11
10
9
8
7
6
5
4
3
2
L
5V
AN
ALO
G IN
AREF
1
GND
TXRX
RESET
3V3
DIG
ITAL (PW
M=
)
Ard
uin
oTM
IOREF
ICSP
ICS
P2
ON
POW
ER
0
1TX0
RX0
RES
ET