Вы находитесь на странице: 1из 67

Α.Τ.Ε.Ι.

ΘΕΣΣΑΛΟΝΙΚΗΣ

ΤΜ. ΜΗΧΑΝΙΚΩΝ ΑΥΤΟΜΑΤΙΣΜΟΥ Τ.Ε.

ΠΡΟΤΖΕΚΤ ΕΡΓΑΣΤΗΡΙΟΥ ΜΙΚΡΟΕΛΕΓΚΤΩΝ

Πρότζεκτ για το Εργαστήριο του


Μαθήματος Μικροελεγκτές

Δρ. Νικολαΐδης Νικ.


ΑΠΡΙΛΙΟΣ 2018
0. ΓΕΝΙΚΑ

Τα πρότζεκτ είναι ατομικά και προαιρετικά. Σκοπεύουν στη βελτίωση της βαθμο-
λογίας του Εργαστηρίου Μικροελεγκτών. Η συμμετοχή του βαθμού του πρότζεκτ
στον τελικό βαθμό του Εργαστηρίου είναι 2π-1, όπου π ο βαθμός του πρότζεκτ.
Αν ο βαθμός του πρότζεκτ είναι κάτω από 0.5, ο τελικός βαθμός του Εργαστηρίου
θα μειώνεται.
Κάθε πρότζεκτ βαθμολογείται με άριστα έναν βαθμό που ανακοινώνεται μαζί
με τον τίτλο του πρότζεκτ. Συνηθισμένο άριστα είναι το 2, οπότε, στην περίπτωση
αυτή, στον τελικό βαθμό προστίθενται μέχρι 3 μονάδες. Για να συμμετέχει ο
βαθμός του πρότζεκτ στον τελικό βαθμό θα πρέπει ο δεύτερος να είναι από 3.5
και πάνω.
Τα πρότζεκτ ανακοινώνονται στα μισά περίπου του εξαμήνου και κάθε φοιτη-
τής δηλώνει το πρότζεκτ που επιθυμεί παίρνοντας υπόψη τους περιορισμούς που
κάθε φορά τίθενται. Για παράδειγμα κάθε πρότζεκτ μπορεί να δίνεται σε κάθε τμή-
μα μόνο μία φορά ή κάθε πρότζεκτ μπορεί να δίνεται μέχρι τρεις φορές ανεξάρτητα
από το τμήμα. Κάθε φοιτητής μπορεί να αλλάξει το θέμα που έχει αναλάβει μέχρι
και την ημερομηνία λήξης της προθεσμίας. Από την ημερομηνία αυτή και μετά
δεν γίνονται αλλαγές και όποιος δεν παραδώσει το πρότζεκτ που έχει αναλάβει
βαθμολογείται με 0 και του αφαιρείται μία μονάδα από τον τελικό βαθμό του Ερ-
γαστηρίου. Η ημερομηνία λήξης για τις δηλώσεις πρότζεκτ προσδιορίζεται κατά
την ανακοίνωση των θεμάτων και γίνεται μία υπενθύμιση μερικές μέρες πριν την
λήξη της.
Η παρουσίαση των πρότζεκτ γίνεται δημόσια σε ημερομηνία που ανακοινώνε-
ται, συνήθως μέσα στην εξεταστική των θεωριών. Η διάρκεια κάθε παρουσίασης
είναι πεντάλεπτη και γίνεται με τον προβολέα. Ο φοιτητής προετοιμάζει μία πα-
ρουσίαση με το MS Office, το OpenOffice ή άλλο παρόμοιο πρόγραμμα. Αν το
θέμα περιλαμβάνει και συναρμολόγηση κυκλώματος σε ράστερ θα πρέπει να γίνει
και η επίδειξη της λειτουργίας του κυκλώματος.

3
4
1. Σβήσε τα LED

Συνδέστε 9 μπουτόν, 9 LED και έναν διακόπτη ON-OFF όπως φαίνεται στο
σχήμα 1.1. Οι συνδέσεις με τις γραμμές των θυρών του μΕ είναι ενδεικτικές και
μπορείτε να τις αλλάξετε, αν δείτε ότι σας βολεύει στο πρόγραμμα. Σχηματίζεται
ένας πίνακας 3Χ3 σε κάθε θέση του οποίου υπάρχει ένα LED και ένα μπουτόν.
΄Οταν ο διακόπτης είναι στη θέση Setup, κάθε μπουτόν αλλάζει την κατάσταση
στο αντίστοιχο LED. Μπορεί, έτσι, να σχηματιστεί μία τυχαία διάταξη από α-
ναμμένα LED. ΄Οταν ο διακόπτης είναι στη θέση Play, παίζεται το παιχνίδι. Ο
παίκτης προσπαθεί πιέζοντας τα μπουτόν να σβήσει όλα τα LED.
Η λογική του παιχνιδιού είναι η εξής: πιέζοντας το μπουτόν αλλάζει κατά-
σταση το αντίστοιχο LED αλλά και όσα LED βρίσκονται επάνω, κάτω, δεξιά και
αριστερά. Αν, για παράδειγμα, πιεστεί το μπουτόν S21, θα αλλάξουν κατάσταση
τα LED D11, D21, D22 και D31. Αν πιεστεί το S11, αλλάζουν τα D11, D12 και
D21, ενώ αν πιεστεί το S22, αλλάζουν τα D22, D12, D32, D21 και D23. Υπάρχει
πάντοτε λύση για κάθε συνδυασμό από αναμμένα LED ενώ η σειρά με την οποία
πρέπει να πιεστούν τα σωστά μπουτόν είναι αδιάφορη.
Αν θέλετε, προσθέστε ακόμη ένα LED το οποίο θα ανάβει όταν όλα τα υπό-
λοιπα LED είναι σβηστά σημαίνοντας τη νίκη του παίκτη.

5
6 ΚΕΦΑΛΑΙΟ 1. ΣŸΗΣΕ ΤΑ LED

PA.2
PA.1

D11 D12 D13


PA.0

R11 R12 R13


S11 S12 S13
PB.0
GND GND GND
PB.1
PB.2

PA.5
PA.4

D21 D22 D23


PA.3

R21 R22 R23


S21 S22 S23
PB.3
GND GND GND
PB.4
PB.5

PD.0
PA.7

D31 D32 D33


PA.6

R31 R32 R33


S31 S32 S33
PB.6
GND GND GND
PB.7
PD.1
S4
Setup/Play
PD.2 GND

Σχήμα 1.1: Το κύκλωμα για το πρότζεκτ «Σβήσε τα LED»


2. Ο πύργος του Ανόι

Συναρμολογήστε το κύκλωμα του σχήματος 2.1. Πρόκεται για ένα παιχνίδι, πα-
ραλλαγή του παιχνιδιού «ο πύργος του Ανόι» και παίζεται ως εξής. Στην αρχή
όλα τα LED της πρώτης στήλης είναι αναμμένα. Σκοπός του παιχνιδιού είναι να
ανάψουν όλα τα LED της τρίτης στήλης και να σβήσουν της πρώτης. Για να
«μεταφέρετε» ένα LED από μία στήλη σε μία άλλη πατάτε πρώτα το μπουτόν από
τη στήλη από την οποία θα το πάρετε και, μετά, πατάτε το μπουτόν της στήλης
στην οποία θα το αποθέσετε. Το LED θα τοποθετηθεί στο ίδιο ύψος αφήνοντας
τις πιο κάτω θέσεις κενές. ΄Οταν μεταφέρεται ένα LED από μία στήλη, επιλέ-
γεται αυτό που είναι ψηλότερα. Για να μεταφερθεί ένα LED θα πρέπει να μην
έχει στη στήλη προορισμού άλλα LED αναμμένα πιο ψηλά. Αν σε κάποιο βήμα
η κίνηση που επιλέγει ο χρήστης δεν μπορεί να πραγματοποιηθεί, να ανάβει το
LED λάθους. Αν ολοκληρωθεί η μεταφορά και των 6 LED, να ανάβει το LED
της επιτυχίας. Θεωρητικά, χρειάζονται 63 κινήσεις (26 − 1).
Αν θέλετε, προσθέστε μετρητή κινήσεων και βάλτε έναν περιορισμό στο πλή-
θος των κινήσεων. Επίσης, βάλτε έναν επιλογέα επιπέδου δυσκολίας αλλάζοντας
το πλήθος των LED που βρίσκονται στην πρώτη στοίβα και πρέπει να μεταφερ-
θούν στην τρίτη.

D10 R10 D20 R20 D30 R30


PA.0 PB.0 PD.0

D11 R11 D21 R21 D31 R31


PA.1 PB.1 PD.1

D12 R12 D22 R22 D32 R32


PA.2 PB.2 PD.2

D13 R13 D23 R23 D33 R33


PA.3 PB.3 PD.3

D14 R14 D24 R24 D34 R34


PA.4 PB.4 PD.4

D15 R15 D25 R25 D35 R35


PA.5 PB.5 PD.5

PA.7 PB.7 PD.7


S1 S2 S3
GND GND GND

D1 R1 D2 R2
PC.0 PC.1
GND GND
Επιτυχία Λάθος

Σχήμα 2.1: Το κύκλωμα για το πρότζεκτ «Ο πύργος του Ανόι»

7
8 ΚΕΦΑΛΑΙΟ 2. Ο ΠŸΥΡΓΟΣ ΤΟΥ Α͟ΟΙ
3. Προτεραιότητα 2 παικτών

Συνδέστε ένα μπουτόν Χ σε μία κοινή γραμμή θύρας και δύο μπουτόν Α και Β
σε δύο εισόδους εξωτερικής διακοπής. Συνδέστε επίσης τρία LED Χ, Α και Β
σε τρεις ελεύθερες γραμμές του μΕ. Γράψτε ένα πρόγραμμα το οποίο να περιμένει
τον χειριστή να πατήσει το μπουτόν Χ, οπότε ανάβει το LED Χ και ενεργοποιεί
τις εισόδους Α και Β. ΄Οποιος από τους δύο παίκτες, Α και Β, πατήσει πρώτος
το μπουτόν, ανάβει το αντίστοιχο με αυτόν LED. Μέσα από τη ρουτίνα διακοπής
του μπουτόν Α θα πρέπει να απενεργοποιείτε τη διακοπή από την είσοδο Β.

9
10 ΚΕΦΑΛΑΙΟ 3. ΠΡΟΤΕΡΑɟΟΤΗΤΑ 2 ΠΑΙΚԟΩΝ
4. Περιστρεφόμενα φώτα

Συνδέστε 8 LED όπως φαίνεται στο σχήμα 4.1. Γράψτε ένα πρόγραμμα ώστε
να ανάβουν διαδοχικά το ένα μετά το άλλο. Ο χρόνος εναλλαγής από LED σε
LED να ρυθμίζεται από μία ρουτίνα χρονιζόμενης διακοπής. Συνδέστε 2 μπουτόν
ώστε να εξυπηρετούνται με εξωτερικές διακοπές. Με το ένα πρέπει να αυξάνεται
η ταχύτητα περιστροφής των LED και με το άλλο να μειώνεται. Για να το πετύ-
χετε αυτό θα πρέπει να τροποποιείτε κατάλληλα τους καταχωρητές ελέγχου του
χρονιστή. Βάλτε ένα κάτω και ένα πάνω όριο στην ταχύτητα.

D0 R0
Px.0 GND

D7 R7 D1 R1
Px.7 GND Px.1 GND

D6 R6 D2 R2
Px.6 GND Px.2 GND

D5 R5 D3 R3
Px.5 GND Px.3 GND

D4 R4
Px.4 GND

S1 S2
INT0 INT1
GND GND

Σχήμα 4.1: Το κύκλωμα του πρότζεκτ «περιστρεφόμενα φώτα»

11
12 ΚΕΦΑΛΑΙΟ 4. ΠΕΡΙΣΤΡΕ֟ΟΜΕΝΑ ֟ΩΤΑ
5. Φανάρια κυκλοφορίας σε
διασταύρωση

Στο σχήμα 5.1 φαίνεται η διάταξη από 28 LED για την προσομοίωση των φαναριών
σε μία διασταύρωση. Η ροή κυκλοφορίας είναι Α για 10 s, Β για 12 s, C για 14
s, D για 16 s και Ε για 5 s. ΄Ολα τα φανάρια EG οδηγούνται από μία γραμμή
του μΕ. Το ίδιο συμβαίνει για τα φανάρια ER. Αυτό σημαίνει ότι ανάβει πράσινο
ή κόκκινο ταυτόχρονα και στις 4 διαβάσεις πεζών.
Θα χρειαστείτε 14 γραμμές του μΕ. Προσέξτε να μην ξεπεράσετε το συνολικό
ρεύμα μιας γραμμής, μιας θύρας καθώς και το συνολικό ρεύμα και των 4 θυρών
του μΕ. Αν χρειαστεί, οδηγήστε τα 8 LED EG με ένα τρανζίστορ και τα 8 ER
με ένα άλλο.
Μετά από κάθε πράσινο φανάρι αυτοκινήτων θα πρέπει να ανάβει για 3 s το
πορτοκαλί. Επίσης, αφού ανάψει το κόκκινο φανάρι για τους πεζούς να ανάβει το
πράσινο των αυτοκινήτων με καθυστέρηση 6 s.

13
14 ΚΕΦΑΛΑΙΟ 5. ΦΑ͟ΑΡΙΑ ΚΥΚΛΟΦΟџΙΑΣ ΣΕ ΔΙΑΣΤΑŸΥΡΩΣΗ

ER EG
E

EG ER
CG

ER CO ER
C

EG CR BR BO BG EG

E
E

EG AR EG
DG DO DR

ER AO ER
A

AG

ER EG
E

EG ER

Σχήμα 5.1: Το κύκλωμα για το πρότζεκτ «φανάρια κυκλοφορίας»


6. Παιχνίδι space invaders

Τοποθετήστε 17 LED και ένα μπουτόν όπως φαίνεται στο σχήμα 6.1. Οι θύρες
δεν υποδεικνύονται και μπορούν να χρησιμοποιηθούν οποιεσδήποτε, εκτός από
τις PC.2, PC.3, PC.4 και PC.5. Τα 8 οριζόντια LED παριστάνουν το διαστη-
μόπλοιο και τα 8 κατακόρυφα το βλήμα. Με βάση το χρονιστή Τ1 σε λειτουργία
σύγκρισης θα κάνετε δύο χρονικές καθυστερήσεις, η μία θα χρησιμοποιείται για
να προχωρήσει το διαστημόπλοιο κατά μία θέση δεξιά και η άλλη για να προχω-
ρήσει το βλήμα μία θέση επάνω. Εάν συναντηθούν το βλήμα με το διαστημόπλοιο
στη θέση D17, τότε το βλήμα έχει πετύχει το στόχο και ανάβει για λίγο το LED
D3. Αρχικά, το διαστημόπλοιο θα προχωράει αργά και όσο περισσότερες φορές
το πετυχαίνει ο παίκτης τόσο πιο γρήγορα θα τρέχει.
GND

R11 R12 R13 R14 R15 R16 R17 R18

D11 D12 D13 D14 D15 D16 D17 D18

D28 R28

D27 R27

D26 R26

D25 R25

D24 R24
GND

R3 D23 R23

D3

D22 R22

D? D21 R21

GND GND

Σχήμα 6.1: Το κύκλωμα για το πρότζεκτ «space invaders»

15
16 ΚΕΦΑΛΑΙΟ 6. ΠΑΙΧ͟ΙΔΙ SPACE INVADERS
7. Υπερηχητικός μετρητής απόστασης
με το αισθητήριο PING)))

Στο πρότζεκτ αυτό πρέπει να διασυνδέσετε το αισθητήριο PING))) (σχήμα 7.1)


της εταιρείας Paralax για να δημιουργήσετε έναν μετρητή απόστασης από 2 cm
μέχρι 3 m.
Για να ξεκινήσει μία μέτρηση πρέπει να στείλετε έναν παλμό ελάχιστου πλά-
τους 2 μs με τυπικό πλάτος 5 μs ώστε να γίνει ο σκανδαλισμός. Το αισθητήριο
στέλνει μία ριπή υπερήχου 40 KHz και μετράει τη χρονική καθυστέρηση της η-
χούς. Μας επιστρέφει μέσω της ίδιας γραμμής έναν παλμό του οποίου το πλάτος
είναι από 115 μs μέχρι 18.5 ms ανάλογα με την απόσταση.
Η κατανάλωσή του είναι αρκετά μεγάλη με τυπική τιμή 30 mA και μέγιστη
35 mA. Για να ξεκινήσετε μία νέα μέτρηση πρέπει να περιμένετε να περάσουν
τουλάχιστον 200 μs. ΄Οταν μετράτε αποστάσεις μέσα σε δωμάτιο πρέπει να προ-
σέχετε τις ανακλάσεις από το πάτωμα. Η ταχύτητα διάδοσης v του ήχου στον
αέρα δίνεται από τη σχέση

v = 331.5 + 0.6 · T m/s (7.1)


όπου Τ η θερμοκρασία του αέρα σε βαθμούς Κελσίου. Στις συνήθεις θερμοκρα-
σίες από 10 μέχρι 40◦ C η ταχύτητα κυμαίνεται από 336 μέχρι 356 m/s.
Προσοχή πρέπει να δοθεί στη γραμμή επικοινωνίας. Είναι αμφίδρομη και θα
την έχετε άλλοτε ως έξοδο και άλλοτε ως είσοδο. Επειδή θα έχετε ενεργοποιή-
σει τη διακοπή σύλληψης (θέλετε σύλληψη και στην ανερχόμενη παρυφή και στην
κατερχόμενη) θα πρέπει να την απενεργοποιείτε όταν έχετε τη γραμμή έξοδο για
να στείλετε τον παλμό σκανδαλισμού. Θυμηθείτε ότι οι διακοπές και οι συλλή-
ψεις γίνονται ακόμη και όταν αλλάζουμε εμείς κατάσταση στη γραμμή όταν είναι
έξοδος.
Γράψτε την κατάλληλη ρουτίνα η οποία να μετατρέπει το χρόνο που μετράτε
σε απόσταση για τη θερμοκρασία του δωματίου σας. Δείξτε το αποτέλεσμα της
μέτρησης σε εκατοστά στην οθόνη με τους ενδείκτες 7 τμημάτων ή στην LCD.

17
18 ΚΕΦΑΛΑΙΟ 7. ΜΕΤΡΗԟΗΣ ΑПΟΣΤΑΣΗΣ

Σχήμα 7.1: Ο υπερηχητικός μετρητής απόστασης PING)))


8. Μετρητής χρόνου αντίδρασης

Σκοπός του πρότζεκτ είναι η κατασκευή μίας συσκευής η οποία θα περιμένει


τυχαίο χρόνο από 0,1 s μέχρι 6,4 s και θα ξεκινάει ένα μετρητή που θα αυξάνε-
ται κατά 1 κάθε 1 ms. Μόλις ο χρήστης πατήσει ένα μπουτόν ο μετρητής θα
σταματάει εμφανίζοντας το χρόνο αντίδρασης. Πατώντας πάλι το μπουτόν να μη-
δενίζεται η ένδειξη και να ξεκινάει η διαδικασία από την αρχή. Ο μέγιστος χρόνος
αντίδρασης θα είναι 999 ms, αφού η οθόνη μας έχει τρεις ενδείκτες.

Για να παίρνετε τυχαίους αριθμούς από 1 μέχρι 64 για τα δέκατα δευτερολέ-


πτου της αναμονής βάλτε ένα χρονιστή να τρέχει γρήγορα συνεχώς και διαβάζετε
τα 6 bits χαμηλής τάξης κάθε φορά που ο χρήστης πιέζει το μπουτόν για την
έναρξη. Στον αριθμό που διαβάζετε από 0 μέχρι 63 προσθέστε μία μονάδα. Αν
το 1/10 του δευτερολέπτου σας φαίνεται λίγο, προσθέστε πάνω από μία μονάδα.

19
20 ΚΕΦΑΛΑΙΟ 8. ΜΕΤΡΗԟΗΣ ΧџΟΝΟΥ ΑΝԟΙΔΡΑΣΗΣ
9. Παιχνίδι «Mastermind»

Το πρόγραμμα επιλέγει έναν τυχαίο τριψήφιο αριθμό του οποίου κάθε ψηφίο θα εί-
ναι από 0 μέχρι 3. Με 4 πιθανές καταστάσεις σε 3 ψηφία έχουμε 43 = 64 πιθανούς
συνδυασμούς. Ο χρήστης προσπαθεί να βρει τον αριθμό πληκτρολογώντας τρία
ψηφία κάθε φορά. Ο μΕ θα απαντά στην προσπάθεια του χρήστη εμφανίζοντας
το πλήθος των ψηφίων Σ που είναι στη σωστή θέση και το πλήθος των ψηφίων Λ
που είναι στον αριθμό αλλά σε λάθος θέση. Αν, για παράδειγμα, ο υπολογιστής
διάλεξε 211 και ο χρήστης έδωσε τον αριθμό 312, έχει βρει 1 ψηφίο στη σωστή
θέση (το 1) και ένα σε λάθος (το 2). Ο χρήστης πρέπει σε 8 προσπάθειες να βρει
τον αριθμό, διαφορετικά χάνει.
Το πρόγραμμα θα περιμένει το πάτημα του πλήκτρου «*» για να διαβάσει το
χρονιστή της σάρωσης και να κρατήσει τα 2 bits χαμηλής τάξης για το πρώτο
ψηφίο, τα δύο επόμενα bits για το δεύτερο και τα δύο επόμενα για το τρίτο ψηφίο.
Επειδή ο χρόνος που θα περάσει από το reset όπου θα ξεκινήσει ο χρονιστής
μέχρι να πατήσει ο χρήστης το «*» είναι τυχαίος και ο χρονιστής αυξάνεται με
πολύ μεγάλη ταχύτητα, η επιλογή των τριών ψηφίων θα είναι τυχαία.
΄Οσο ο χρήστης πληκτρολογεί τον αριθμό αυτός εμφανίζεται στην οθόνη.
Μετά και το τρίτο ψηφίο ο αριθμός μένει για λίγο στην οθόνη και μετά εμφανίζεται
«Σ-Λ», όπου Σ το πλήθος των ψηφίων στη σωστή θέση και Λ το πλήθος των
ψηφίων σε λάθος θέση. Μόλις αρχίσει η πληκτρολόγηση της νέας προσπάθειας
η προηγούμενη ένδειξη σβήνει.
Για τη σύγκριση της προσπάθειας του χρήστη Χ1 Χ2 Χ3 με τον αριθμό του
υπολογιστή Υ1 Υ2 Υ3 θα κάνετε μία υπορουτίνα η οποία θα συγκρίνει ένα ψηφίο
Χ με ένα ψηφίο Y και αν είναι ίσα θα βάζει 1 σε μία μεταβλητή Μ, αλλιώς θα βάζει
0. Σε περίπτωση ισότητας θα βάζει Χ=8 και Y=9 διαγράφοντας τα προηγούμενα
ψηφία.
Στο κυρίως πρόγραμμα θα αντιγράψετε τον αριθμό Χ1 Χ2 Χ3 στον Χ΄1 Χ΄2
Χ΄3 και τον Υ1 Υ2 Υ3 στον Y΄1 Y΄2 Y΄3. Στη συνέχεια θα βάλετε Χ=Χ΄1, Y=Y΄1
και θα καλέσετε τη ρουτίνα. Στην επιστροφή θα προσθέσετε στο μετρητή των
σωστών ψηφίων Σ τον αριθμό Μ. Την παραπάνω διαδικασία θα την επαναλάβετε
άλλες δύο φορές, μία με Χ=Χ΄2, Y=Y΄2 και μία με Χ=Χ΄3, Y=Y΄3. ΄Ετσι, θα
έχετε βρει το πλήθος των ψηφίων Σ σε σωστή θέση. Αν Σ=3, ο χρήστης βρήκε
τον αριθμό.
Θα συνεχίσετε την παραπάνω διαδικασία για να βρείτε το πλήθος των ψηφίων
Λ στη λάθος θέση με τα ζεύγη Χ΄1 - Y΄2, Χ΄1 - Y΄3, Χ΄2 - Y΄1, Χ΄2 - Y΄3, Χ΄3 -
Y΄1 και Χ΄3 - Y΄2 προσθέτοντας κάθε φορά το Μ στο Λ.
Τέλος, θα εμφανίσετε Σ-Λ, θα αυξήσετε το μετρητή των προσπαθειών και
αν είναι μικρότερος του 8 θα κάνετε διακλάδωση στην αρχή για την επόμενη
προσπάθεια.

21
22 ΚΕΦΑΛΑΙΟ 9. ΠΑΙΧ͟ΙΔΙ «MASTERMIND»
10. Κλασικό χρονόμετρο αθλητών

Συνδέστε τρία μπουτόν, ένα Start, ένα Stop και ένα Clear και κατασκευάστε ένα
χρονόμετρο που να εμφανίζει στην LCD λεπτά, δευτερόλεπτα και εκατοστά του
δευτερολέπτου.

23
24 ΚΕΦΑΛΑΙΟ 10. ΚΛΑΣΙΚŸΟ ΧΡΟ͟ΟΜΕΤΡΟ ΑΘΛΗԟΩΝ
11. Διπλό Dimmer

Συνδέστε 4 μπουτόν Α1, Α2, Μ1 και Μ2 σε 4 εισόδους και 2 LED σε 2 εξόδους


του μΕ. Γράψτε ένα πρόγραμμα το οποίο να ρυθμίζει με PWM τη φωτεινότητα
των LED έτσι ώστε κάθε ζεύγος μπουτόν να αυξομειώνει τη φωτεινότητα ενός
LED. Με Α1 να αυξάνεται η φωτεινότητα του LED1 και με Μ1 να μειώνεται. Τα
μπουτόν Α2 και Μ2 θα ρυθμίζουν τη φωτεινότητα του LED2.

25
26 ΚΕΦΑΛΑΙΟ 11. ΔΙΠΛŸΟ DIMMER
12. Οδήγηση μικρού σερβοκινητήρα

Στο εμπόριο κυκλοφορούν μικροί και φτηνοί σερβοκινητήρες για μοντελισμό, ό-


πως αυτός που φαίνεται στο σχήμα 12.1. Τροφοδοτούνται από 5 V και για τον
έλεγχο της θέσης πρέπει να εφαρμοστεί μία παλμοσειρά PWM συχνότητας 50
Hz με χρόνο παλμού tON από 1 μέχρι 2 ms. Στο 1 ms ο άξονας το κινητήρα
βρίσκεται στο ένα άκρο της διαδρομής του και στα 2 ms στο άλλο.
Προσθέστε δύο μπουτόν και γράψτε ένα πρόγραμμα για την οδήγηση του
κινητήρα έτσι ώστε με το ένα μπουτόν να περιστρέφεται προς τη μία κατεύθυνση
ο άξονας του σερβοκινητήρα κατά 1 περίπου μοίρα και με το άλλο να περιστρέφεται
προς την αντίθετη κατεύθυνση.
Προσέξτε την τάση τροφοδοσίας και το ρεύμα που τραβάει ο κινητήρας ώστε,
αν χρειαστεί, να προσθέσετε έναν οδηγό (driver) και ένα ξεχωριστό τροφοδοτικό.

Σχήμα 12.1: Μικρός σερβοκινητήρας 180◦

27
28 ΚΕΦΑΛΑΙΟ 12. ΟğΗΓΗΣΗ ΜΙΚΡΟŸΥ ΣΕΡΒΟΚΙΝΗԟΗΡΑ
13. Οδήγηση μικρού βηματικού κινητήρα

Ο βηματικός κινητήρας αποτελείται από ένα στάτορα με τυλίγματα και ένα ρότορα
από μόνιμο μαγνήτη (βλέπε σχήμα 13.1). ΄Οταν διεγείρεται ένα από τα 4 τυλίγ-
ματα, ο ρότορας έλκεται και στέκεται στην αντίστοιχη θέση. Διεγείροντας τα
τυλίγματα Α, Β, C και D με την αναφερόμενη σειρά, προκαλούμε περιστροφή του
ρότορα (ακολουθήστε την πρώτη στήλη από πάνω προς τα κάτω). Αλλάζοντας
τη σειρά διέγερσης (D, C, B, A) αλλάζει και η φορά περιστροφής (ακολουθήστε
την πρώτη στήλη από κάτω προς τα πάνω).
Εάν διεγείρουμε δύο τυλίγματα κάθε φορά, ο ρότορας στέκεται στην ενδιάμε-
ση των δύο τυλιγμάτων θέση. Τότε, έλκεται με διπλάσια δύναμη και λειτουργεί με
διπλή ροπή. Διεγείροντας τα τυλίγματα AB, BC, CD και DA με την αναφερόμενη
σειρά, προκαλούμε περιστροφή του ρότορα (ακολουθήστε τη δεύτερη στήλη από
πάνω προς τα κάτω). Προφανώς, αν διεγείρουμε τα τυλίγματα με τη σειρά A, AB,
B, BC, C, CD, D και DA, θα προκαλέσουμε κίνηση του ρότορα κατά μισό βήμα
κάθε φορά. Η ροπή στην κίνηση κατά μισό βήμα είναι μεταβλητή: στα ολόκληρα
βήματα κανονική και στα μισά διπλή.
Συνοψίζοντας, οι τρόποι οδήγησης του βηματικού κινητήρα είναι τρεις: πλήρες
βήμα – κανονική ροπή (FSNT: Full Step – Normal Torque) , πλήρες βήμα –
διπλή ροπή (FSDT: Full Step – Double Torque) και μισό βήμα – μεταβλητή ροπή
(HSVT: Half Step – Variable Torque).
Για τον καθορισμό της ταχύτητας περιστροφής, χρησιμοποιούμε συνήθως ένα
χρονιστή και μία ρουτίνα διακοπής. Για την επιλογή του τρόπου λειτουργίας
(FSNT, FSDT ή HSVT), καθώς και της φοράς περιστροφής, υπάρχουν πολλοί
τρόποι. Εδώ, προτείνεται ένας, που θεωρείται προγραμματιστικά εύκολος.
Δημιουργούνται 3 πίνακες με τις τιμές των τυλιγμάτων A, B, C και D, ένας
πίνακας για κάθε τρόπο λειτουργίας (mode). ΄Ενας μετρητής αυξάνεται, για τη
μία φορά περιστροφής, ή μειώνεται, για την αντίθετη. Για κάθε τιμή, διαβάζει
την αντίστοιχη θέση του πίνακα και στέλνει το περιεχόμενό της στις γραμμές της
θύρας στις οποίες συνδέονται τα τυλίγματα. Για ευκολία στο πρόγραμμα, στο
πλήρες βήμα αναγράφονται οι τιμές εις διπλούν. ΄Ετσι, όποιος τρόπος και εάν
επιλεγεί, ο πίνακας θα έχει 8 θέσεις. Επιπλέον, είναι εύκολη η μετάβαση από τον
ένα τρόπο λειτουργίας σε άλλον. Στη συνέχεια, παρατίθενται οι 3 πίνακες.

α) 0b0001,0b0001,0b0010,0b0010,0b0100,0b0100,0b1000,0b1000
β) 0b0001,0b0011,0b0010,0b0110,0b0100,0b1100,0b1000,0b1001
γ) 0b0011,0b0011,0b0110,0b0110,0b1100,0b1100,0b1001,0b1001

Για την οδήγηση του βηματικού, κατά πάσα πιθανότητα θα χρειαστείτε έναν
ενισχυτή ρεύματος όπως το ολοκληρωμένο ULN2803.

29
30 ΚΕΦΑΛΑΙΟ 13. ΟğΗΓΗΣΗ ΜΙΚΡΟŸΥ ΒΗΜΑΤΙΚΟŸΥ ΚΙΝΗԟΗΡΑ

Για τη δοκιμή των ρουτινών που θα γράψετε προσθέστε πέντε μπουτόν, ένα
start/stop, ένα δεξιά/αριστερά, ένα αύξησης, ένα μείωσης της ταχύτητας περι-
στροφής και ένα επιλογής του mode του βηματικού.
31

A A

B D B D

C C
+ 12V + 12V

A B C D A B C D

1 0 0 0 1 1 0 0

A A

B D B D

C C
+ 12V + 12V

A B C D A B C D

0 1 0 0 0 1 1 0

A A

B D B D

C C
+ 12V + 12V

A B C D A B C D

0 0 1 0 0 0 1 1

A A

B D B D

C C
+ 12 V + 12V

A B C D A B C D

0 0 0 1 1 0 0 1

Σχήμα 13.1: Οι φάσεις λειτουργίας ενός βηματικού κινητήρα


32 ΚΕΦΑΛΑΙΟ 13. ΟğΗΓΗΣΗ ΜΙΚΡΟŸΥ ΒΗΜΑΤΙΚΟŸΥ ΚΙΝΗԟΗΡΑ
14. Θερμόμετρο με το LM35

Το αισθητήριο θερμοκρασίας LM35 δίνει έξοδο τάσης 10 mV/◦ C (σχήμα 14.1).


Συνδέστε το στον ADC και γράψτε το πρόγραμμα για την εμφάνιση της θερμο-
κρασίας εσωτερικού χώρου στην LCD. Η περιοχή μέτρησης να είναι από 0 μέχρι
50◦ C. Συνδέστε την έξοδο του LM35 στην αναλογική είσοδο ADC1 και γειώ-
στε την ADC0. Επιλέξτε διαφορική είσοδο ADC1–ADC0 με ενίσχυση 10Χ με
MUX=01001. Η ψηφιακή μετατροπή θα κυμαίνεται από 0 μέχρι 512. Αν πολλα-
πλασιάσετε την τιμή ADC επί 500 και τη διαιρέσετε διά 512 τότε θα κυμαίνεται από
0 μέχρι 500 οπότε την εμφανίζετε με μία υποδιαστολή στην οθόνη. Αντί για την
πράξη Χ500/512 μπορείτε να κάνετε την Χ250/256, δηλαδή να πολλαπλασιάσετε
επί 250 και να παραλείψετε το byte χαμηλής τάξης.
Γλυτώστε τις παραπάνω πράξεις εφαρμόζοντας το σήμα από το LM35 σε μία
είσοδο ενός άκρου αφού το ενισχύσετε με έναν εξωτερικό τελεστικό ενισχυτή
(ΤΕ) με τέτοια ενίσχυση Α ώστε η τελική μετατροπή να είναι ADC = 10 · T ώστε
να την εμφανίσετε απευθείας με μία υποδιαστολή στην οθόνη χωρίς πράξεις. Ο
ΤΕ αυτός θα πρέπει να είναι μονής τροφοδοσίας, δηλαδή να τροφοδοτείται από
τα +5 V και τη γείωση. Επίσης, πρέπει να είναι rail to rail στην είσοδο και
την έξοδο, δηλαδή να εργάζεται σωστά με διακύμανση της τάσης εισόδου από 0
μέχρι 5 V και να επιτρέπει τη διακύμανση της τάσης εξόδου από 0 μέχρι 5 V. Στο
σχήμα 14.2 φαίνεται ένα κύκλωμα μη αναστρέφοντος ενισχυτή με έναν τέτοιο ΤΕ.
Η ενίσχυση A = 1 + Rf /Rg του εξωτερικού τελεστικού ενισχυτή θα πρέπει να
είναι

Vin · 1024 A · 0, 01 · T · 1024


10 · T = = (14.1)
5 5
και αν λύσουμε ως προς την ενίσχυση Α
 
5 · 10 500
A= = 4, 88 = · 10 (14.2)
0, 01 · 1024 1024

33
34 ΚΕΦΑΛΑΙΟ 14. ΘΕΡ̟ΟΜΕΤΡΟ ΜΕ ΤΟ LM35

Vcc

LM35 Out
0 mV + 10.0 mV/ o C
Vout = 0,01 T
GND

Σχήμα 14.1: Το αισθητήριο θερμοκρασίας LM35

Vcc

Rf
7
Rg TLV2461
2
GND
6
Vout
3
Vin
Vout=Vin(1+Rf/Rg)
4

GND

Σχήμα 14.2: Μη αναστρέφων ενισχυτής με ΤΕ μονής τροφοδοσίας


15. Ρολόι πραγματικού χρόνου με
I2C-RTC

Το πρότζεκτ αποσύρθηκε.

35
36 ΚΕΦΑΛΑΙΟ 15. ΡΟ˟ΟΙ ΠΡΑΓΜΑΤΙΚΟŸΥ ΧџΟΝΟΥ ΜΕ I2C-RTC
16. Πληκτρολόγιο 8Χ8 με το MCP23017

Το πρότζεκτ αποσύρθηκε.

37
38 ΚΕΦΑΛΑΙΟ 16. ΠΛΗΚΤΡΟ˟ΟΓΙΟ 8Χ8 ΜΕ ΤΟ MCP23017
17. Ρύθμιση στροφών κινητήρα
συνεχούς μέσω του PWM με γέφυρα Η

Γενικά

Με τον όρο «DC κινητήρας», όταν δεν προσδιορίζονται άλλα στοιχεία, εννοείται
ο κινητήρας συνεχούς με ψήκτρες και μόνιμο μαγνήτη. Οι κινητήρες αυτοί έχουν
ένα στάτορα από μόνιμους μαγνήτες και ένα ρότορα με περιέλιξη και συλλέκτη με
ψήκτρες. Οι DC κινητήρες είναι οι πιο εύκολοι στον έλεγχό τους.
Η ρύθμιση της ταχύτητας του DC κινητήρα γίνεται, απλά, με μεταβολή της
συνεχούς τάσης που εφαρμόζεται σ΄ αυτόν, ενώ η ρύθμιση της φοράς περιστρο-
φής με την πολικότητα της εφαρμοζόμενης τάσης. Επειδή ο κινητήρας είναι αργό
σύστημα, μπορεί να τροφοδοτηθεί από την έξοδο PWM. Θα περιστρέφεται με
ταχύτητα ανάλογη προς τη μέση τιμή της τάσης, δηλαδή προς τον κύκλο εργασί-
ας της κυματομορφής PWM. Για να μην ακούγεται σφύριγμα από τον κινητήρα
προτιμάται συχνότητα λίγο μεγαλύτερη από 20 KHz.
Στο σχήμα 17.1 φαίνεται ένα απλό ηλεκτρικό μοντέλο του κινητήρα συνεχούς.
Η αντιηλεκτρεγερτική δύναμη EMF είναι ανάλογη της ταχύτητας περιστροφής του
κινητήρα. Η ροπή του κινητήρα είναι ανάλογη προς το ρεύμα που τον διαρρέει. Η
αντίσταση σε σειρά είναι, συνήθως, πολύ μικρή και είναι η μόνη αντίσταση που
περιορίζει το ρεύμα, όταν ο κινητήρας είναι φρεναρισμένος. Η επαγωγή είναι πολύ
σημαντικός παράγοντας στην τροφοδοσία του κινητήρα με παλμό PWM, επειδή
προσδιορίζει την κυμάτωση της τάσης για δεδομένη συχνότητα.

+ emf -
+ -
Lm Rm

Σχήμα 17.1: Απλό ηλεκτρικό μοντέλο του κινητήρα DC

Ανάλογα με τα πρόσημα της ροπής και της ταχύτητας σε δεδομένη στιγμή


η λειτουργία του κινητήρα κατατάσσεται σε 4 τεταρτημόρια, όπως φαίνεται στο
σχήμα 17.2.

39
40 ΚΕΦΑΛΑΙΟ 17. џΥΘΜΙΣΗ ΤΑןΥΤΗΤΑΣ ΚΙΝΗԟΗΡΑ ΣΥΝΕΧϟΥΣ

Ροπή

Δεύτερο τεταρτημόριο Πρώτο τεταρτημόριο


Αρνητική ταχύτητα – θετική ροπή Θετική ταχύτητα – θετική ροπή
ΑΝΑΣΤΡΟΦΟ ΦΡΕΝΑΡΙΣΜΑ ΕΠΙΤΑΧΥΝΣΗ ΟΡΘΗΣ ΦΟΡΑΣ

2 1

Ταχύτητα

Τρίτο τεταρτημόριο Τέταρτο τεταρτημόριο


Αρνητική ταχύτητα – αρνητική ροπή Θετική ταχύτητα – αρνητική ροπή
ΑΝΑΣΤΡΟΦΗ ΕΠΙΤΑΧΥΝΣΗ ΦΡΕΝΑΡΙΣΜΑ ΟΡΘΗΣ ΦΟΡΑΣ

3 4

Σχήμα 17.2: Τεταρτημόρια λειτουργίας ροπής / ταχύτητας

Σύνδεση του dc κινητήρα


Η οδήγηση σε 2 τεταρτημόρια γίνεται συνήθως με γέφυρα Η (σχήμα 17.3). Για
την οδήγηση σε μία φορά κλείνουν τα διαγώνια απέναντι τρανζίστορ. Για αλλαγή
φοράς περιστροφής οδηγείται σε κόρο το άλλο ζευγάρι. ΄Ενα από τα δύο κάτω
τρανζίστορ, Q3 ή Q4, δέχεται την κυματομορφή PWM, ανάλογα με την είσοδο
κατεύθυνσης Dir. Ταυτόχρονα, το διαγωνίως απέναντι τρανζίστορ είναι συνεχώς
στον κόρο. Το κύκλωμα αυτό δεν μπορεί να φρενάρει τον κινητήρα. Εργάζεται
στο πρώτο ή στο τρίτο τεταρτημόριο. Για να οδηγήσουμε τον κινητήρα σε 4
τεταρτημόρια με τη γέφυρα Η θα χρειαστούμε κι άλλες γραμμές του μΕ.
Για να μετρήσετε το ρεύμα του κινητήρα, πρέπει να παρεμβάλετε μία πολύ
μικρή αντίσταση στη γείωση της γέφυρας ώστε το ρεύμα να προκαλεί μία μικρή
πτώση τάσης. Με έναν τελεστικό θα ενισχύσετε αυτήν την τάση και θα την
οδηγήσετε σε μία αναλογική είσοδο του ADC.
Χρειάζεται προσοχή στο πρόγραμμα ώστε να μην αντιστρέψουμε τη φορά περι-
στροφής όσο ο κινητήρας περιστρέφεται με μεγάλη ταχύτητα. Η τάση ανυψώνεται
τότε σε περίπου 2V+ και το ρεύμα γίνεται πολύ μεγάλο επειδή περιορίζεται μόνο
από την αντίσταση του κινητήρα. Το ρεύμα αυτό κυκλοφορεί στα δύο απέναντι
τρανζίστορ και δεν μπορεί να μετρηθεί με την αντίσταση. Αυτός είναι ο λόγος
που το συγκεκριμένο κύκλωμα δεν μπορεί να χρησιμοποιηθεί στο δεύτερο και
τέταρτο τεταρτημόριο.
΄Οταν θα συνδέσετε το τροφοδοτικό που θα σας δίνει την τάση V+ για τον
κινητήρα, προσέξτε ότι θα πρέπει να ενώσετε τις γειώσεις ισχύος και ψηφιακών
41

V+

R1
R2
10K
10K
Q1 Q2
0 IRF9540 IRF9540 R4
1K
Q5 sat off Q6 0
2N2222 2N2222
sat
- off

+
R3 GND GND

1K U3 U1 U2
1 0 1
Dir 0 Q3 Q4
PWM IRF540 IRF540
off pwm
CurSens
R4
Dir : PB4
0.1
PWM: OC0/PB3
CurSens: ADC1/PA1

Σχήμα 17.3: Οδήγηση DC κινητήρα σε 2 τεταρτημόρια

μόνο σε ένα σημείο. Συνήθως η ένωση αυτή γίνεται με ένα καλώδιο από το
ένα τροφοδοτικό στο άλλο (σχήμα 17.4). Δηλαδή μαζεύουμε όλες τις γειώσεις
ισχύος σε ένα σημείο το οποίο συνδέεται στη γείωση του τροφοδοτικού ισχύος
και ενώνουμε τη γείωση αυτή με τη γείωση του τροφοδοτικού της Vcc.

Τροφοδοτικό Τροφοδοτικό
ισχύος ψηφιακών

GND
V+ Vcc

Άλλη
γείωση Γείωση
ισχύος γέφυρας Η

Σχήμα 17.4: Σύνδεση αναλογικής και ψηφιακής γείωσης


42 ΚΕΦΑΛΑΙΟ 17. џΥΘΜΙΣΗ ΤΑןΥΤΗΤΑΣ ΚΙΝΗԟΗΡΑ ΣΥΝΕΧϟΥΣ

Για το χειρισμό του κινητήρα προσθέστε ένα μπουτόν start / stop, ένα δεξιά
/ αριστερά, ένα αύξησης και ένα μείωσης της ταχύτητας. Σε κάθε περίπτωση, το
ρεύμα του κινητήρα να εμφανίζεται στην οθόνη.
18. Ασύρματη ζεύξη μΕ με RF data link

Το πρότζεκτ αποσύρθηκε.

43
44 ΚΕΦΑΛΑΙΟ 18. ΑӟΥΡΜΑΤΗ ΖşΥΞΗ ΜΕ ΜΕ RF DATA LINK
19. Επίδειξη των τρόπων λειτουργίας
μειωμένης κατανάλωσης

Ο ATmega32 έχει διάφορους τρόπους μειωμένης κατανάλωσης. Θα πρέπει για


τον καθένα τρόπο να κατασκευαστεί ένα κύκλωμα επίδειξης για τον τρόπο με τον
οποίο θα οδηγείται ο μΕ σε μειωμένη κατανάλωση και τον τρόπο με τον οποίο θα
ξυπνάει από αυτόν.
Απλή θεωρητική παρουσίαση των τρόπων μειωμένης κατανάλωσης δεν θα βαθ-
μολογείται.

45
46 ΚΕΦΑΛΑΙΟ 19. ΛΕΙΤΟΥΡßΙΑ ΜΕΙΩ̟ΕΝΗΣ ΚΑΤΑ͟ΑΛΩΣΗΣ
20. Διασύνδεση οθόνης LCD γραφικών
128Χ64

Στο εμπόριο κυκλοφορούν οθόνες γραφικών dot matrix 128Χ64 από πολλές
εταιρείες. Το κόστος τους είναι σχετικά υψηλό, από 10 μέχρι 30 €.
Σκοπός του πρότζεκτ είναι η παρουσίαση μιας τέτοιας οθόνης και η επίδει-
ξη της λειτουργίας της με την εμφάνιση μέσω του ATmega32 του λογότυπου
του τμήματος Αυτοματισμού του ΑΤΕΙΘ το οποίο θα αποθηκευθεί στη μνήμη
προγράμματος.

47
48 ΚΕΦΑΛΑΙΟ 20. ΔΙΑӟΥΝΔΕΣΗ ΟȟΟΝΗΣ LCD ΓΡΑΦΙʟΩΝ 128Χ64
21. Παιχνίδι τρίλιζα

Το κλασικό παιχνίδι τρίλιζα με 9 κόκκινα και 9 πράσινα LED, ένα χρώμα για κάθε
παίκτη. Κερδίζει ο παίκτης που πρώτος θα συμπληρώσει μία τριάδα οριζόντια,
κατακόρυφα ή διαγώνια.
Εάν οδηγήσουμε τα LED απευθείας από τις θύρες, θα πρέπει να ρυθμίσουμε
τις αντιστάσεις περιορισμού ρεύματος στα 200/18=11,1mA ώστε το συνολικό
ρεύμα τους να μην ξεπερνάει τα 200 mA. Μία λύση ώστε να ανεβάσουμε το μέσο
ρεύμα των LED στα 20 mA είναι να βάλουμε ενισχυτές ρεύματος και να κάνουμε
πολύπλεξη 1 προς 2, ώστε να ανάβουν σε έναν χρόνο τα LED του ενός παίκτη
και σε δεύτερο χρόνο του άλλου (σχήμα 21.1).
Vcc Vcc

Player A RBA QA Player B RBB QB


PD.2 2N2907 PD.3 2N2907

U1
1 18 R13
PA.2 IN1 OUT1
2 17 R12
PA.1 IN2 OUT2
3 16 R11
PA.0 IN3 OUT3
4 15 A11 A12 A13
IN4 OUT4
5 14
IN5 OUT5
6 13 B11 B12 B13
PA.5 IN6 OUT6
7 12
PA.4 IN7 OUT7
8 11 GND GND
PA.3 IN8 OUT8 S11 S12 S13
PB.0
9 10
GND K PB.1
GND
PB.2
GND ULN2803A
R23
R22
R21
A21 A22 A23

B21 B22 B23

GND GND
S21 S22 S23
PB.3
PB.4
GND
PB.5
U2
1 18 R33
PD.0 IN1 OUT1
2 17 R32
PA.7 IN2 OUT2
3 16 R31
PA.6 IN3 OUT3
4 15 A31 A32 A33
IN4 OUT4
5 14
IN5 OUT5
6 13 B31 B32 B33
IN6 OUT6
7 12
IN7 OUT7
8 11 GND GND
IN8 OUT8 S31 S32 S33
PB.6
9 10
GND K PB.7
GND
PD.1
GND ULN2803A
S4
PD.1 GND
Player A/B

Σχήμα 21.1: Το κύκλωμα για το πρότζεκτ «Τρίλιζα»

Με τον διακόπτη S4 γίνεται εναλλαγή παίχτη. Κάθε παίχτης πατάει ένα μπου-
τόν ώστε να κάνει το σβηστό LED «δικό του» ανάβοντας το LED με το αντίστοι-
χο χρώμα. Μόλις συμπληρωθεί μία τριάδα ίδιου χρώματος οριζόντια, κατακόρυφα

49
50 ΚΕΦΑΛΑΙΟ 21. ΠΑΙΧ͟ΙΔΙ ΤџΙΛΙΖΑ

ή διαγώνια, ο παίκτης που το πέτυχε κερδίζει. Οι πιθανές τριάδες είναι 8.


Αν θέλετε, προσθέστε ακόμη δύο LED, ένα κόκκινο και ένα πράσινο, για να
φαίνεται το χρώμα του παίκτη που έχει σειρά να παίξει.
22. Ρύθμιση χρώματος τρίχρωμου LED

Το τρίχρωμο LED είναι, ουσιαστικά, τρία LED κοινής ανόδου ή, σπανιότερα,


κοινής καθόδου. Κάθε LED εκπέμπει σε ένα από τα τρία βασικά χρώματα κόκκινο
(Red), πράσινο (Green) και μπλε (Blue). Το ποσοστό φωτεινότητας κάθε ενός
LED προσδιορίζει και το τελικό χρώμα του LED (σχήμα 22.2).

Σχήμα 22.1: Τρίχρωμα RGB LED

Για τη ρύθμιση του χρώματος κάθε LED θα συνδεθούν τρία ποτενσιόμετρα


σε τρεις αναλογικές εισόδους του μΕ. Κάθε ποτενσιόμετρο προσδιορίζει τη φω-
τεινότητα ενός χρώματος. Τα τρία χρώματα θα οδηγούνται από τρεις εξόδους
PWM του μΕ.
Αντί για το χρωματικό μοντέλο RGB, μπορείτε να δίνετε το επιθυμητό τελικό
χρώμα στο χρωματικό μοντέλο HSL. Διαβάστε σχετικά με το μοντέλο αυτό και
τη μετατροπή από HSL σε RGB. Θα χρειαστούν τρία ποτενσιόμετρα, ένα για
το χρώμα (Hue), ένα για τον κορεσμό (Saturation) και ένα για τη φωτεινότητα
(Luminance). Καλό θα είναι να βάλετε ποτενσιόμετρο 360◦ για το χρώμα ή
οπτικό κωδικοποιητή και να προσθέσετε τον κύκλο των χρωμάτων. Το πρότζεκτ
γίνεται πιο δύσκολο αλλά και πιο εντυπωσιακό.

51
52 ΚΕΦΑΛΑΙΟ 22. џΥΘΜΙΣΗ ΧџΩΜΑΤΟΣ ΤџΙΧΡΩΜΟΥ LED

Σχήμα 22.2: Το χρωματικό μοντέλο HSL/HSV


23. Φανάρι διάβασης πεζών για τυφλούς

Στη διάβαση θα υπάρχουν δύο κόκκινα και δύο πράσινα φανάρια, ένα beeper
(προσοχή: όχι buzzer) και δύο μπουτόν. Τα δύο κόκκινα φανάρια συνδέονται
παράλληλα και το ίδιο συμβαίνει και στα δύο πράσινα και στα δύο μπουτόν.
Το κόκκινο φανάρι θα ανάβει για 50 δευτερόλεπτα και το πράσινο για 10.
΄Οση ώρα ανάβει το πράσινο, θα ακούγεται ένας διακοπτόμενος ήχος 1 KHz με
συχνότητα ριπής 1 Hz, δηλαδή μισό δευτερόλεπτο θα ακούγεται ο ήχος του 1
KHz και μισό δευτερόλεπτο θα έχει σιγή.
Εάν πατηθεί το μπουτόν της διάβασης, μετά από 5 δευτερόλεπτα θα ανάβει
το πράσινο για 15 δευτερόλεπτα και ο κύκλος θα επαναλαμβάνεται όπως ήταν
αρχικά. Αν, όμως, απομένουν κάτω από 5 δευτερόλεπτα για να ανάψει το πράσινο,
ο χρόνος του κόκκινου δεν πρέπει να επιμηκύνεται.
Το buzzer παράγει έναν ήχο σταθερής συχνότητας όση ώρα τροφοδοτείται
με τάση. Το beeper κάνει ένα «τικ» μόλις του βάζουμε τάση. Για να παραχθεί
ήχος από το beeper θα πρέπει να επιβάλλουμε σε αυτό μία παλμοσειρά με την
επιθυμητή συχνότητα. Δεν χρειάζεται οδηγός, μπορείτε να οδηγήσετε το beeper
απευθείας από μία γραμμή θύρας του μΕ.

53
54 ΚΕΦΑΛΑΙΟ 23. ΦΑ͟ΑΡΙ ΔɟΑΒΑΣΗΣ ΠΕƟΩΝ ΓΙΑ ΤΥΦΛϟΥΣ
24. Παιχνίδι «Ναρκαλιευτής» 4Χ5

Πρόκειται για το κλασικό παιχνίδι του ναρκαλιευτή με 2 «βόμβες» οι οποίες θα


τοποθετούνται από το πρόγραμμα τυχαία. Για την τοποθέτηση των βομβών και
την έναρξη του παιχνιδιού θα πρέπει να πατιέται ένα μπουτόν. Οι τυχαίες θέσεις
θα επιλέγονται με μέθοδο παρόμοια με αυτήν του πρότζεκτ «Mastermind».
Το «ναρκοπέδιο» θα είναι ένας πίνακας από LED με 4 γραμμές και 5 στήλες.
Στο ξεκίνημα του παιχνιδιού όλα τα LED θα είναι αναμμένα. Για την επιλογή
του LED που θα «πατήσει» ο παίκτης θα διατίθενται 4 μπουτόν, ένα για κάθε
κατεύθυνση: επάνω, κάτω, δεξιά και αριστερά. Το LED που επιλέγεται πρέπει να
αναβοσβήνει. Με ένα πέμπτο μεσαίο μπουτόν θα σβήνει το LED που επιλέχτηκε
εκτός αν είναι βόμβα, οπότε τελειώνει το παιχνίδι. Θα σβήνουν και όλα τα LED
που γειτονεύουν με το επιλεγμένο εκτός αν γειτονεύουν με βόμβα.
Αν ένα LED δεν γειτονεύει με καμία βόμβα, θα πρέπει να είναι εντελώς σβη-
στό. Αν γειτονεύει με μία βόμβα θα ανάβει με το 30% της πλήρους φωτεινότητας
και, αν γειτονεύει με δύο, με το 60%.
Επειδή τα σημεία του πίνακα είναι μόνο 20, δεν είναι ανάγκη να σημαδεύονται
τα «ύποπτα» για βόμβα LED.
Εάν θέλετε να δώσετε στα LED μεγάλη φωτεινότητα, θα πρέπει να βάλετε
3 ενισχυτές ρεύματος, όπως το ολοκληρωμένο ULN2803, όπως φαίνεται και στο
πρότζεκτ «Τρίλιζα».

55
56 ΚΕΦΑΛΑΙΟ 24. ΠΑΙΧ͟ΙΔΙ «ΝΑΡΚΑΛΙΕΥԟΗΣ» 4Χ5
25. Ηλεκτρονικά ζάρια

Στο σχήμα 25.1 φαίνεται η διάταξη των 7 LED για ένα ζάρι καθώς και οι συν-
δυασμοί για τους αριθμούς από 1 μέχρι 6. Θα πρέπει να υλοποιηθούν δύο τέτοια
ζάρια.
Το πάτημα ενός μπουτόν θα διαβάζει έναν οκτάμπιτο χρονιστή ο οποίος θα
τρέχει συνέχεια και πολύ γρήγορα από 0 μέχρι 35. Τον αριθμό που θα διαβάζουμε
θα τον διαιρούμε διά 6 και θα παίρνουμε ένα πηλίκο και ένα υπόλοιπο, το καθένα
από 0 μέχρι 5. Στους δύο αριθμούς αυτούς θα προστίθεται μία μονάδα για να
πάρουμε τυχαίους αριθμούς από 1 μέχρι 6. Ανάλογα με τον αριθμό θα ανάβει στο
ζάρι το κατάλληλο μοτίβο.

Σχήμα 25.1: Οι 6 δυνατοί συνδυασμοί σε ένα ζάρι

Επί δύο δευτερόλεπτα μετά την πίεση του μπουτόν θα πρέπει και τα 7 LED
και των δύο ζαριών να αναβοσβήνουν με συχνότητα 2 Hz. Αμέσως μετά τα 2
αυτά δευτερόλεπτα θα πρέπει να μένει αναμμένος ο τυχαίος συνδυασμός.

57
58 ΚΕΦΑΛΑΙΟ 25. ΗΛΕΚΤΡΟΝΙʟΑ ƟΑΡΙΑ
26. Συνθεσάιζερ με 2 οκτάβες

Θα πρέπει να συνδεθούν 25 πλήκτρα σε μία διάταξη παρόμοια με αυτήν του σχή-


ματος 26.1.

Σχήμα 26.1: Πληκτρολόγιο 25 πλήκτρων για δύο οκτάβες

Η συχνότητα που αντιστοιχεί σε κάθε νότα φαίνεται στον πίνακα 26.1.


Κάθε μπουτόν θα πρέπει να παράγει τετραγωνική παλμοσειρά κατάλληλης
συχνότητας με όσο το δυνατό καλύτερη ακρίβεια. Με ταυτόχρονη πίεση δύο
πλήκτρων θα πρέπει να παράγεται μείξη από τις δύο συχνότητες. Πίεση τριών ή
περισσότερων πλήκτρων μπορεί να αγνοείται.
Τα πλήκτρα πρέπει να συνδεθούν σε έναν πίνακα 3 επί 8, με τον πρώτο αριθμό
να παριστάνει την οκτάβα και τον δεύτερο τη νότα. Η σάρωση των πλήκτρων
πρέπει να γίνεται με χρονιζόμενη διακοπή.

59
60 ΚΕΦΑΛΑΙΟ 26. ΣΥΝΘΕӟΑΙΖΕΡ ΜΕ 2 ΟΚԟΑΒΕΣ

α/α Νότα Συχνότητα


1 Ντο (μεσαία)/C4 261.626
2 Ντο δίεση / C#4 277.183
3 Ρε / D4 293.665
4 Ρε δίεση / D#4 311.127
5 Μι / E4 329.628
6 Φα / F4 349.228
7 Φα δίεση / F#4 369.994
8 Σολ / G4 391.995
9 Σολ δίεση / G#4 415.305
10 Λα / A4 440.000
11 Λα δίεση / A#4 466.164
12 Σι / B4 493.883
13 Ντο (τενόρος)/C5 523.251
14 Ντο δίεση / C#5 554.365
15 Ρε / D5 587.330
16 Ρε δίεση / D#5 622.254
17 Μι / E5 659.255
18 Φα / F5 698.456
19 Φα δίεση / F#5 739.989
20 Σολ / G5 783.991
21 Σολ δίεση / G#5 830.609
22 Λα / A5 880.000
23 Λα δίεση / A#5 932.328
24 Σι / B5 987.767
25 Ντο (σοπράνο)/C6 1046.500

Πίνακας 26.1: Οι συχνότητες από τις νότες


27. Οθόνη 4 ενδεικτών 16 τμημάτων

Στους ενδείκτες 16 τμημάτων μπορούν να εμφανιστούν τα ψηφία καθώς και όλα


τα κεφαλαία γράμματα του Αγγλικού και του Ελληνικού αλφαβήτου (σχήμα 27.1).

Σχήμα 27.1: Ενδείκτες 16 τμημάτων

Σκοπός του πρότζεκτ είναι η συναρμολόγηση του κυκλώματος και η συγγραφή


των απαραίτητων ρουτινών για εμφάνιση αριθμών και κειμένου, Αγγλικού και
Ελληνικού.

61
62 ΚΕΦΑΛΑΙΟ 27. ΟȟΟΝΗ 4 ΕΝΔΕΙΚԟΩΝ 16 ΤΜΗ̟ΑΤΩΝ
28. Σύστημα συναγερμού με
χρονοκαθυστερήσεις εισόδου–εξόδου

Σκοπός του πρότζεκτ είναι η κατασκευή ενός συστήματος συναγερμού με 4 ομά-


δες. Κάθε ομάδα είναι πολλές επαφές κανονικά κλειστές οι οποίες συνδέονται σε
σειρά. Για παράδειγμα, μία ομάδα θα μπορούσε να είναι οι αισθητήρες παραβίασης
της μπαλκονόπορτας και των παράθυρων σε ένα δωμάτιο. Το σύστημα αναφέρεται
πάντοτε σε μία ομάδα και δεν μπορεί να διακρίνει ποιο στοιχείο αυτής παραβιά-
στηκε. Για την κατασκευή του πρότζεκτ, οι αισθητήρες θα προσομοιωθούν με
διακόπτες ON-OFF. Μπορεί να χρησιμοποιηθεί ένας διακόπτης για κάθε ομάδα.
Η εξώπορτα είναι ξέχωρα από τις 4 ομάδες επειδή αντιμετωπίζεται διαφορετι-
κά. Αν παραβιαστεί κάποια ομάδα, χτυπάει αμέσως ο συναγερμός. Αν ανοίξει η
εξώπορτα, δίνεται χρόνος 10 δευτερολέπτων για να πληκτρολογήσει ο χρήστης
έναν 4ψήφιο κωδικό. Αν είναι σωστός, το σύστημα συναγερμού απενεργοποιείται
(αφοπλίζεται).
΄Οταν θέλει να φύγει ο ένοικος, δίνει πάλι τον κωδικό οπότε μετά από καθυ-
στέρηση 10 δευτερολέπτων ενεργοποιείται πάλι ο συναγερμός (οπλίζεται).
Για την πληκτρολόγηση του κωδικού θα πρέπει να συνδεθούν το 16δικό πλη-
κτρολόγιο και η οθόνη LCD.
Σε περίπτωση παραβίασης θα πρέπει να ηχεί ένα buzzer προσομοιάζοντας τη
σειρήνα και να εμφανίζεται το κατάλληλο μήνυμα στην οθόνη.

63
64 ΚΕΦΑΛΑΙΟ 28. ӟΥΣΤΗΜΑ ΣΥΝΑΓΕΡΜϟΥ
29. Ενδείκτης στάθμης ήχου με 16 LED

Αρχικά, θα πρέπει να μελετηθούν τα χαρακτηριστικά της εξόδου ακουστικών της


συσκευής που μας ενδιαφέρει. Στη συνέχεια, θα πρέπει να κατασκευαστεί ένας
ενισχυτής ο οποίος θα ενισχύει το σήμα των ακουστικών σε στάθμη κατάλληλη
για τον ADC του μΕ. Η στάθμη αυτή θα πρέπει να συνδυαστεί με την τάση
αναφοράς του ADC.
Στη συνέχεια, θα πρέπει να συνδεθούν 16 LED σε δύο θύρες του μΕ για να
απεικονίζουν τη στάθμη του σήματος. ΄Αρα, συνολικά θα μπορούν να παρουσια-
στούν 17 στάθμες: όλα τα LED σβηστά, ένα LED αναμμένο, δύο αναμμένα, ...,
και τα 16 αναμμένα.
Κάθε LED θα ανάβει αν η στάθμη του σήματος εισόδου αυξηθεί κατά 1 dB.
Η περιοχή μέτρησης του οργάνου να είναι από –13 dB (όλα τα LED σβηστά)
μέχρι +3 dB (όλα τα LED αναμμένα).

65
66 ΚΕΦΑΛΑΙΟ 29. ΕΝΔşΙΚΤΗΣ ΣԟΑΘΜΗΣ ŸΗΧΟΥ
30. Κλειδαριά με συνδυασμό 4 ψηφίων

Μία ψηφιακή έξοδος θα παριστάνει με 1 την ανοικτή πόρτα και με 0 την κλειστή.
Η κλειδαριά θα έχει δύο καταστάσεις οι οποίες θα επιλέγονται με έναν διακόπτη:
την κατάσταση ρύθμισης και την κατάσταση χρήσης.
Σε κατάσταση ρύθμισης, ο χρήστης θα δίνει από το πληκτρολόγιο έναν τετρα-
ψήφιο δεκαδικό αριθμό ο οποίος θα αποθηκεύεται στη μνήμη EEPROM του μΕ.
Σε κατάσταση χρήσης ο μΕ θα περιμένει από τον χρήστη να πληκτρολογήσει τον
κωδικό. Αν είναι σωστός, η πόρτα θα πρέπει να ξεκλειδώνει για 10 δευτερόλεπτα.
Αν πληκτρολογηθεί λάθος κωδικός για 4η φορά, η κλειδαριά θα πρέπει να
απενεργοποιείται για 15 δευτερόλεπτα.

67

Вам также может понравиться