Εφαρμογές αναλογικών / Ψηφιακών

Σχετικά έγγραφα
Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation)

Εφαρμογές Σειριακής Επικοινωνίας

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

Το κύκλωμα σε breadboard

Φύλλο εργασίας 7 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

Προγραμματισμο ς σε Arduino

Ενσωματωμένα Συστήματα

Απλή Δομή Επιλογής. Ο κώδικας. //με χρήση μεταβλητών. delay (3000);

2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino

Φύλλο εργασίας 4 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα

Φύλλο εργασίας 4 - Αυτόματο φωτάκι νυκτός

Κωνσταντίνος Γκαλονάκης. Arduino: Προγραμματισμός στην πράξη

Arduino Teachers Workshop

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

Εκπαιδευτική Ρομποτική με ARDUINO. για εκπαιδευτικούς και μαθητές. 1o Μέρος: Απλά Κυκλώματα

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1. Προγραμματισμός Φυσικών Συστημάτων. Νέα Ψηφιακά Αντικείμενα

ΕΝΟΤΗΤΑ 10: ΟΔΗΓΗΣΗ ΚΙΝΗΤΗΡΩΝ

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

Φύλλο εργασίας 3 - Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Το κύκλωμα σε breadboard

Παράρτημα Φύλλο εργασίας 1: Δραστηριότητα 1 : Να αναβοσβήνει η φωτοδίοδος ανά ένα δευτερόλεπτο. Μέλη της ομάδας :

Lab 1: Experimenting on Arduino & AI Sense

ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ARDUINO

Γνωριμία με το Arduino

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Ενσωματωμένα Συστήματα

ΕΝΟΤΗΤΑ 7: ΑΙΣΘΗΤΗΡΕΣ ΥΠΕΡΥΘΡΩΝ

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 4. Οδηγώντας έναν DC Κινητήρα. Το κύκλωμα της Λειτουργίας DC Κινητήρα

ΠΑΛΜΟΓΡΑΦΟΣ ΤΡΟΦΟ ΟΤΙΚΟ ΓΕΝΝΗΤΡΙΑ

ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2

Ιατρικά Ηλεκτρονικά. Χρήσιμοι Σύνδεσμοι. ΙΑΤΡΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ - ΔΙΑΛΕΞΗ 2η. Σημειώσεις μαθήματος: E mail:

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

Φύλλο εργασίας 6 - Θερμόμετρο εξωτερικού χώρου. Το κύκλωμα σε breadboard

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)

ΝΟΜΟΣ ΤΟΥ OHM ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: 1 ΣΚΟΠΟΣ 1 2 ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 1 3 ΕΞΟΠΛΙΣΜΟΣ 5 4 ΕΞΑΡΤΗΜΑΤΑ 5

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 8. Μετρώντας Επιτάχυνση με το Accelerόμετρο (ADXL 335) Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO- 01a

Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW.

Εφαρμογές βασισμένες στο Arduino

Σημειώσεις για την Άσκηση 2: Μετρήσεις σε RC Κυκλώματα

Project 5: Συνθέτοντας μουσική

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά

Έργο 1 LED που αναβοσβήνει (LED Flasher)

2ο Γυμνάσιο Καβάλας. Κατασκευές και προγραμματισμός με το scratch for Arduino (s4a)

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM

Ενσωµατωµένα Συστήµατα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007

Εργαστηριακές ασκήσεις λογικών κυκλωμάτων 11 A/D-D/A

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Β : Επικοινωνία Υπολογιστή με Μικροελεγκτή

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΙΚΩΝ ΜΕΤΡΗΣΕΩΝ Ι. Σημειώσεις Εργαστηριακών Ασκήσεων

Άσκηση 12 Ο ΤΕΛΕΣΤΙΚΟΣ ΕΝΙΣΧΥΤΗΣ ua741 ΕΦΑΡΜΟΓΕΣ

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα

ΑΣΚΗΣΗ 7 ΚΥΚΛΩΜΑ R-L-C: ΣΥΝΔΕΣΗ ΣΕ ΣΕΙΡΑ ΣΥΝΤΟΝΙΣΜΟΣ

Τ.Ε.Ι Λαμίας Τμήμα Ηλεκτρονικής Σ.Τ.ΕΦ ΑΙΣΘΗΤΗΡΕΣ-ΙΝTERFACES Υλοποίηση κύκλωματος απεικόνισης μεταβολής γραμμικού ποτενσιομέτρου

Κανόνες του Εργαστηρίου Ψηφιακών Συστημάτων Βαθμολογία του Εργαστηρίου Υλικά και εξοπλισμός που θα χρησιμοποιηθούν σωστός τρόπος χειρισμού τους και

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ

Σελίδα 1 από 8. Απαντήσεις στο φυλλάδιο 52

ΑΣΚΗΣΗ ΜHΧΑΤΡΟΝΙΚΗΣ. Τέλος όταν εισάγετε ένας σωστός συνδυασμός η ένδειξη του display να μηδενίζετε.

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ

[2017] Εργαστήριο Ψηφιακών Ηλεκτρονικών

ΚΕΦΑΛΑΙΟ 5 ΠΡΟΣΟΜΟΙΩΤΗΣ PLC SIMATIC S7-300

Μάθημα 1 ΑΙΣΘΗΤΗΡΕΣ Ο Αισθητήρας Δύναμης. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.

Ψηφιακά Ηλεκτρονικά. Προαιρετική εργασία

VLSI Systems and Computer Architecture Lab. Εργαστήριο Υλικού & Αρχιτεκτονικής Υπολογιστών

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

2. Ο νόμος του Ohm. Σύμφωνα με το νόμο του Ohm, η τάση V στα άκρα ενός αγωγού με αντίσταση R που τον διαρρέει ρεύμα I δίνεται από τη σχέση: I R R I

Εισαγωγή στους Ταλαντωτές Οι ταλαντωτές είναι από τα βασικότερα κυκλώματα στα ηλεκτρονικά. Χρησιμοποιούνται κατά κόρον στα τηλεπικοινωνιακά συστήματα

Workshops. Εισηγητής: Παλιούρας Αριστείδης

Εργαστήριο Κυκλωµάτων και Μετρήσεων ΗΜΥ203

Συλλογή & Επεξεργασία Δεδομένων. Προγραμματίζοντας τον Arduino Μέρος Ι: Μεταβλητές, Εντολές Εισόδου & Εξόδου. Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE)

1η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ:

ΜΕΡΟΣ Α: Απαραίτητε γνώσει

VLSI Technology and Computer Architecture Lab. Εργαστήριο Υλικού & Αρχιτεκτονικής Υπολογιστών

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ. Εργαστήριο 8 ο. Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα

Σημειώσεις Σχετικά με τη λειτουργία του Παλμογράφου

Παραδείγµατα χρήσης του µικροελεγκτή Arduino Εφαρµογές για το εργαστήριο Μέρος 2 ο :Οδήγηση Κινητήρων DC(PM)

ΣΥΝΔΕΣΗ ΣΕ ΣΕΙΡΑ ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: ΕΠΩΝΥΜΟ: ΟΝΟΜΑ: ΑΜ: 1 ΣΚΟΠΟΣ 1 2 ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 1 3 ΕΞΟΠΛΙΣΜΟΣ 7 4 ΕΞΑΡΤΗΜΑΤΑ 7

ΕΝΟΤΗΤΑ 8 ΛΟΙΠΟΙ ΑΙΣΘΗΤΗΡΕΣ

Υλικά που χρειαζόμαστε

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

Εργαστηριακή ενότητα 3

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΑΤΡΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ 24/01/2012 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ

ΑΣΚΗΣΗ-3: ΣΧΗΜΑΤΑ LISSAJOUS

Έλεγχος κινητήρα συνεχούς ρεύματος με τρανζίστορ και Arduino

ΜΕΡΟΣ Α: Απαραίτητες γνώσεις

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΛΥΣΕΙΣ

Σχεδιασμός και Τεχνολογία Γ Λυκείου - Λύσεις Ασκήσεων

GSM INTD Εγχειρίδιο χρήσης GSM INTD0909

ΑΣΚΗΣΗ 6. Μελέτη συντονισμού σε κύκλωμα R,L,C, σειράς

ΠΑΝΑΓΙΩΤΗΣ ΚΟΥΤΣΙΩΡΑΣ Α.Μ.: ΨΗΦΙΑΚΗ ΣΧΕΔΙΑΣΗ. Αναφορά Πρακτικής Εργασίας: Μετατροπέας Κώδικα BCD Σε Κώδικα GRAY

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Κυκλωµάτων και Μετρήσεων

Transcript:

Εφαρμογές αναλογικών / Ψηφιακών 1 ΕΙΣΑΓΩΓΗ Σε αυτήν την ενότητα θα δούμε μερικές ακόμα εφαρμογές ψηφιακών / αναλογικών εισόδων/ εξόδων που μπορούμε να φτιάξουμε με την βοήθεια του Arduino, χρησιμοποιώντας ό,τι έχουμε μάθει ως τώρα για την διαχείριση των ψηφιακών και αναλογικών pin του Arduino. 1.1 ΨΗΦΙΑΚΟ VS ΑΝΑΛΟΓΙΚΟ ΣΗΜΑ Η βασική διαφορά που υπάρχει ανάμεσα στα αναλογικά και στα ψηφιακά σήματα, είναι το είδος των τιμών που μπορεί να λάβει το πλάτος του σήματος. Στη περίπτωση των αναλογικών σημάτων, τα οποία αναπαρίστανται ως χρονικά μεταβαλλόμενες κυματομορφές, το πλάτος του σήματος σε κάθε χρονική στιγμή, μπορεί να πάρει οποιαδήποτε τιμή, ανάμεσα σε δυο ακραίες τιμές οι οποίες υπαγορεύουν το μέγιστο πλάτος του σήματος (π.χ. και ). Αντίθετα, στη περίπτωση των ψηφιακών σημάτων, το πλάτος του σήματος μπορεί να πάρει μόνο μερικές διακριτές τιμές. Στις περισσότερες περιπτώσεις το ψηφιακό σήμα μπορεί να έχει μόνο δύο τιμές τάσης, εκ των οποίων η μια τάση αναπαριστά το δυαδικό 0 () και η άλλη το δυαδικό 1(). Ψηφιακό σήμα οι τιμές που παίρνει είναι διακριτές (0 ή 1). Αναλογικό σήμα οι τιμές που παίρνει είναι συνεχόμενες (μεταξύ και ). 1.2 ΨΗΦΙΑΚΟΙ VS ΑΝΑΛΟΓΙΚΟΙ ΑΚΡΟΔΕΚΤΕΣ ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ 1.2.1 Αναλογικά Pin: Ο μικροελεγκτής της Atmel που χρησιμοποιεί το Arduino περιέχει έναν ADC 6 καναλιών αναλογικού σήματος. Ο ADC διαθέτει ανάλυση 10 bit, επιστρέφοντας ακέραιες τιμές από 0 έως 1023. Ενώ η κύρια λειτουργία τους είναι να διαβάζουν αναλογικούς αισθητήρες, μπορούν να λειτουργήσουν και ως pin εισόδου/εξόδου γενικού σκοπού, όπως ακριβώς και οι ψηφιακές. Έτσι, εάν χρειαζόμαστε περισσότερες εισόδους ή εξόδους μπορούμε να χρησιμοποιήσουμε και τα αναλογικά pin. Τα αναλογικά pin μπορούν να χρησιμοποιηθούν με τον ίδιο τρόπο που χρησιμοποιούνται και τα ψηφιακά, χρησιμοποιώντας τα ψευδώνυμα A0 για την αναλογική είσοδο 0,κτλ. π.χ. πώς μπορούμε να ρυθμίσουμε ένα αναλογικό pin να λειτουργήσει ως έξοδος pinmode(a0,output); digitalwrite(a0,high); Τα αναλογικά pin έχουν επίσης εσωτερικές αντιστάσεις, οι οποίες λειτουργούν πανομοιότυπα με αυτές που υπάρχουν στα ψηφιακά pin. Και ενεργοποιούνται από την εντολή digitalwrite(α0,high), ενώ το pin είναι εισόδου. Να θυμάστε όμως ότι η χρήση των pullup αντιστάσεων επηρεάζει τις τιμές της analogread().η εντολή analogread δεν θα λειτουργήσει σωστά εάν το pin έχει ρυθμιστεί προηγουμένως ως έξοδος. Έτσι σε αυτή την περίπτωση θα πρέπει να επαναρθμιστεί πάλι σε είσοδο πριν χρησιμοποιηθεί το analoread. Επίσης, η μικρή καθυστέρηση ανάμεσα στην ανάγνωση ενός 1 P a g e

αναλογικού pin μπορεί να προκαλέσει θόρυβο στο αναλογικό σήμα. Έτσι είναι επιθυμητή η προσθήκη μιας μικρής καθυστέρησης ανάμεσα στις αναγνώσεις. 1.2.2 Ψηφιακά pin: Τα ψηφιακά pin είναι πιο απλά αφού έχουν μόνο δύο καταστάσεις, ON ή OFF. Σε όρους του Arduino HIGH ή LOW. Μπορούμε να τις χρησιμοποιήσουμε ως pin εισόδου και εξόδου με την χρήση της εντολής pinmode και την λειτουργία του pin, INPUT ή OUTPUT. Εάν δεν χρησιμοποιήσουμε την εντολή pinmode η προεπιλεγμένη λειτουργία είναι INPUT. 1.2.3 Μέθοδος PWM Η PWM είναι μια τεχνική για τον έλεγχο του αναλογικού σήματος, χρησιμοποιώντας την ψηφιακή έξοδο ενός μικροελεγκτή (εδώ: Arduino). Η ψηφιακή έξοδος χρησιμοποιείται για τη δημιουργία ενός τετραγωνικού παλμού, όπου το σήμα εναλλάσσεται μεταξύ των τιμών 0 (off) και 1 (on). Αυτό το on/off μοτίβο, μπορεί να προσομοιώσει πλήρως τις τάσεις μεταξύ (1-on) και (0-off), αλλάζοντας το τμήμα του χρόνου που το σήμα είναι ενεργό με το τμήμα του χρόνου που είναι ανενεργό. Η διάρκεια του χρόνου λέγεται πλάτος του παλμού. Για να πάρουμε διαφορετικές αναλογικές τιμές, αρκεί να αλλάξουμε το πλάτος του παλμού. Εάν επαναλάβουμε αυτό το μοτίβο αρκετά γρήγορα με τη χρήση ενός LED για παράδειγμα, το αποτέλεσμα θα είναι σαν το σήμα να έχει μια σταθερή τάση μεταξύ 0v-, η οποία ελέγχει τη φωτεινότητα του LED. Στα παρακάτω γραφήματα οι πράσινες γραμμές αντιπροσωπεύουν μια χρονική περίοδο. Αυτή η διάρκεια ή περίοδος είναι το αντίστροφο της συχνότητας του PWM. Με άλλα λόγια, αφού η συχνότητα του PWM του arduino είναι 500HZ, η περίοδος θα είναι ίση με 2ms η καθεμία. Με την κλήση της συνάρτησης analogwrite() προσδιορίζουμε το ποσοστό του κύκλου μηχανής που καθορίζει το πόσο μένει ενεργή η περίοδος του σήματος. 0% duty cycle analogwrite(0) 25% duty cycle analogwrite(64) 50% duty cycle analogwrite(127) 75% duty cycle analogwrite(191) 100% duty cycle analogwrite(255) 2 P a g e

Η analogwrite() λειτουργεί στη κλίμακα 0 έως 255, η οποία ελέγχει και το μήκος του παλμού. Έτσι ώστε η analogwrite(255) ζητά το 100% του κύκλου λειτουργίας (πάντα ενεργό),( δηλαδή έναν παλμό που η διάρκειά του είναι ίση με όλο τον χρόνο της περιόδου μέχρι τον επόμενο παλμό,) η analogwrite(191) ζητά το 75% του κύκλου λειτουργίας, η analogwrite(127) ζητά το 50% του κύκλου λειτουργίας, η analogwrite(64) ζητά το 25% του κύκλου λειτουργίας και η analogwrite(0) ζητά το 0% του κύκλου λειτουργίας (πάντα ανενεργό). 2 TILT SENSOR 2.1 ΕΙΣΑΓΩΓΗ Οι αισθητήρες κλίσης (tilt sensor) επιτρέπουν την ανίχνευση προσανατολισμού ή κλίσης. Είναι μικροί, φθηνοί, χαμηλής ισχύος και εύκολοι στη χρήση. Αν πραγματοποιηθούν σωστά δε φθείρονται. Η απλότητά τους, τους καθιστά δημοφιλείς για παιχνίδια, gadgets ή άλλες συσκευές. Μερικές φορές αναφέρονται και ως διακόπτες υδραργύρου, διακόπτες κλίσης ή αισθητήρες κλίσης μπίλιας. Συνήθως αποτελούνται από κάποιου είδους κοιλότητα με μια αγώγιμη μάζα στο εσωτερικό, όπως μια μπίλια ή μια σταγόνα υδραργύρου. Το ένα άκρο της κοιλότητας έχει δύο αγώγιμα στοιχεία (στύλοι). Όταν ο αισθητήρας είναι προσανατολισμένος, ώστε το άκρο αυτό να είναι προς τα κάτω, η μάζα κυλά πάνω στους πόλους και τους ενώνει ενεργώντας σαν κλειστός διακόπτης. Οι διακόπτες κλίσης κάποτε συνηθιζόταν να κατασκευάζονται αποκλειστικά από υδράργυρο αλλά πλέον είναι σπάνιο, αφού αναγνωρίστηκαν ως τοξικοί. Τα οφέλη του υδραργύρου ήταν ότι η μάζα υδραργύρου είναι αρκετά πυκνή, ώστε να μην αναπηδά. Έτσι ο διακόπτης είναι λιγότερο ευαίσθητος στους κραδασμούς. Από την άλλη και οι αισθητήρες που χρησιμοποιούν μπίλια αντί για υδράργυρο, είναι εύκολοι στην κατασκευή, δε θρυμματίζονται και δεν ενέχουν τον κίνδυνο μόλυνσης. 2.2 ΕΦΑΡΜΟΓΗ : ΕΝΕΡΓΟΠΟΙΗΣΗ LED ΜΕ ΤΗΝ ΧΡΗΣΗ TILT SENSOR 2.2.1 Περιγραφή Σε αυτή την εφαρμογή θα χρησιμοποιήσουμε έναν tilt sensor σαν διακόπτη, ο οποίος θα ανάβει και θα σβήνει ένα LED. Κουνώντας δηλαδή τον αισθητήρα μπορούμε να ανάψουμε ή να σβήσουμε ένα LED σα να έχουμε χρησιμοποιήσει στην ουσία ένα κουμπί ή έναν διακόπτη. 3 P a g e

2.2.2 Υλικά Arduino Board Tilt Sensor (x1) LED (x1) Αντίσταση 220Ω (x1) Αντίσταση 1kΩ (x1) 2.2.3 Κύκλωμα Θεωρητικό κύκλωμα Πρακτικό κύκλωμα Αρχικά τοποθετούμε το LED στη Breadboard, όπως έχουμε δει και σε προηγούμενες εφαρμογές. Έπειτα συνδέουμε το θετικό άκρο του με μια αντίσταση 220Ω, και μετά με τον ψηφιακό ακροδέκτη 13. Συνδέουμε τον αρνητικό πόλο του LED με την γείωση. Αφού συνδέσουμε το LED, τοποθετούμε το tilt sensor στην breadboard. Συνδέουμε το ένα άκρο με την τροφοδοσία (), ενώ το άλλο πρώτα το συνδέουμε με τον ψηφιακό ακροδέκτη 2 του Arduino, έπειτα τοποθετούμε μια αντίσταση 1kΩ και από το τέλος της αντίστασης συνδέουμε με την γείωση. 2.2.4 Κώδικας Εφαρμογής Αφού κατασκευάσουμε το κύκλωμα, θα περάσουμε στην υλοποίηση του κώδικα αυτής. Ο κώδικας που θα χρησιμοποιήσουμε είναι ίδιος με αυτόν που χρησιμοποιήσαμε και για την διαχείριση ενός κουμπιού. /* Ενεργοποίηση LED με τη χρήση Tilt Sensor Η εφαρμογή αυτή θα ανάψει και θα σβήσει ένα LED, ανάλογα με την θέση που είναι τοποθετημένος ο tilt sensor. Breadboard προς τα πάνω --> ενεργός, άρα το LED αναμμένο Breadboard προς τα κάτω --> ανενεργός, αρά το LED σβηστό */ //Δήλωση του ψηφιακού ακροδέκτη 2,που είναι συνδεδεμένος ο tilt sensor int tiltsensorpin=2; //Δήλωση του ψηφιακού ακροδέκτη 13,που είναι συνδεδεμένο το LED 4 P a g e

int ledpin=13; //Μεταβλητή που θα αποθηκευθεί η τιμή του tilt sensor int tiltsensorstate=0; void setup(){ //Αρχικοποίηση του pin 13 ως εξόδου pinmode(ledpin,output); //Αρχικοποίηση του pin 2 ως εισόδου pinmode(tiltsensorpin,input); void loop(){ //Ανάγνωση της τιμής του αισθητήρα από τον ακροδέκτη 2 tiltsensorstate=digitalread(tiltsensorpin); //Εάν ο αισθητήρας είναι ανοιχτός (tiltsensorstate=1), τότε ανάβει το LED if(tiltsensorstate == HIGH) digitalwrite(ledpin,high); //ανάβει το LED else digitalwrite(ledpin,low); //σβήνει το LED 3 ΠΟΤΕΝΣΙΟΜΕΤΡΟ 3.1 ΕΙΣΑΓΩΓΗ Όπως αναφέραμε σε προηγούμενη ενότητα, το ποτενσιόμετρο στην ουσία είναι μια μεταβλητή αντίσταση, η οποία ρυθμίζεται με την βοήθεια μιας «στρόφιγγας». Στην εφαρμογή που ακολουθεί θα ελέγξουμε την φωτεινότητα ενός RGB LED με την χρήση ποτενσιόμετρου. 3.2 ΕΦΑΡΜΟΓΗ: ΈΛΕΓΧΟΣ RGB LED ΜΕ ΤΗΝ ΧΡΗΣΗ ΠΟΤΕΝΣΙΟΜΕΤΡΟΥ 3.2.1 Περιγραφή Σε αυτή την εφαρμογή θα ελέγξουμε την φωτεινότητα δηλαδή το χρώμα ενός RGB LED με την βοήθεια ενός ποτενσιόμετρου. Έτσι θα προσπελάσουμε όλες τις τιμές μεταξύ των τιμών 0-255 ή αλλιώς των αποχρώσεων που μπορούμε να πάρουμε μέσα από αυτό το εύρος τιμών. Καθώς λοιπόν θα στρέφουμε τον άξονα του ποτενσιόμετρου, τα χρώματα θα αλλάζουν ανάλογα με την τιμή της μεταβλητής αντίστασης. 3.2.2 Υλικά Arduino Board RGB LED (x1) 220Ω αντίσταση (x3) Ποτενσιόμετρο (x1) 5 P a g e

3.2.3 Κύκλωμα Θεωρητικό κύκλωμα Πρακτικό κύκλωμα Για την υλοποίηση του κυκλώματος θα χρειαστούμε τρία καλώδια για να συνδέσουμε το ποτενσιόμετρο με το Arduino και άλλα τέσσερα για να συνδέσουμε το RGB LED. Ένα καλώδιο θα συνδεθεί σε έναν από τους δύο ακροδέκτες που βρίσκονται στα άκρα του ποτενσιόμετρου και μετά με τον ακροδέκτη GND του Arduino, ένα άλλο καλώδιο θα συνδεθεί με το άλλο άκρο του ποτενσιόμετρου και έπειτα με τα του Arduino και το επόμενο καλώδιο θα συνδεθεί με το κεντρικό ακροδέκτη του ποτενσιόμετρου και στην αναλογική είσοδο 0 του Arduino. Στη συνέχεια με τα καλώδια που έμεινα θα συνδέσουμε το RGB LED με το Arduino. Τοποθετούμε το LED στην breadboard και τις αντιστάσεις στους ακροδέκτες του LED που αντιπροσωπεύουν τα χρώματα (βλ. σχήμα) και μετά συνδέουμε στα ψηφιακά pin του Arduino που έχουν την ένδειξη PWM(~). Ο ακροδέκτης που μένει θα συνδεθεί στα του Arduino. Έτσι περιστρέφοντας τον άξονα του ποτενσιόμετρου, θα αλλάξει το ποσό της αντίστασης που υπάρχει εντός του ποτενσιόμετρου. Αυτό αλλάζει την τάση που περνάει μέσα από το ποτενσιόμετρο. Όταν ο άξονας είναι στραμμένος προς τα, τότε ο ακροδέκτης δίνει ενώ από την αναλογική είσοδο διαβάζουμε την τιμή 1023. Αντίστοιχα, αν ο άξονας είναι στραμμένος προς την γείωση ο ακροδέκτης δίνει ενώ στην αναλογική είσοδο διαβάζουμε την τιμή 0. Σε συνδυασμό όμως με το RGB LED θα καταφέρουμε να ρυθμίσουμε την φωτεινότητα του RGB LED, δηλαδή να αλλάξουμε τα χρώματά του. 3.2.4 Κώδικας εφαρμογής Αφού κατασκευάσουμε το κύκλωμα της εφαρμογής θα περάσουμε στην υλοποίηση του κώδικα αυτής. Θα ελέγξουμε τα χρώματα του RGB LED, χρησιμοποιώντας τρία κατώφλια (threashold), όσα και τα βασικά χρώματα του LED (κόκκινο, πράσινο, μπλε). Για να μπορέσουμε να συνδυάσουμε όμως το ποτενσιόμετρο (αναλογικό) με το LED (ψηφιακό PWM), θα πρέπει να συνδυάσουμε το αναλογικό (0-1023) με το ψευδο αναλογικό (PWM) σήμα (0-255). Αυτό θα γίνει με τη χρήση της συνάρτησης του 6 P a g e

Arduino map(). Με τη συνάρτηση map() θα προσαρμόσουμε το εύρος των τιμών της αναλογικής εισόδου (0-1023) σε αυτό της ψηφιακής εξόδου PWM (0-255). Η σύνταξη της map() είναι η εξής: Συνάρτηση ( Ορίσματα ) map (value, start1, end1, start2, end2) Παράδειγμα Τύπος μεταβλητής Μεταβλητή = Συνάρτηση (Ορίσματα) ; int value = map (potvalue,0,1023,0,255) ; /*Έλεγχος φωτεινότητας RGB LED με την χρήση ποτενσιόμετρου Σε αυτή την εφαρμογή θα ελέγξουμε την φωτεινότητα ενός RGB LED χρησιμοποιώντας ένα ποτενσιόμετρο για να την ρυθμίσουμε. */ //Είσοδος: Το ποτενσιόμετρο πρέπεινα ε λιναι συνδεδεμένο στα και την γείωση int potpin=a0; //Η έξοδος του ποτενσιόμετρου συνδέεται στον αναλογικό ακροδέκτη 0 int potvalue=0; //Μεταβλητή που θα αποθηκευθεί η τιμή της εισόδου από το ποτενσιόμετρο //Έξοδος: Το RGB LED θα είναι συνδεδεμένο στους ακροδέκτες PWM 9,10,11 //Η άνοδος του LED πρέπει να είναι συνδεδεμένη με τα του Arduino int redpin=9; int greenpin=10; int bluepin=11; //Μεταβλητές του προγράμματος //Μεταβλητές που θα αποθηκευτούν οι τιμές PWM που θα σταλούν στους ακροδέκτες του LED int redvalue=0; int greenvalue=0; int bluevalue=0; void setup(){ //Αρχικοποιούμε τα pin του LED ως εξόδους pinmode(redpin,output); pinmode(greenpin,output); pinmode(bluepin, OUTPUT); void loop(){ //Ανάγνωση της τιμής του ποτενσιόμετρου από την αναλογική είσοδο potvalue=analogread(potpin); //Τροποποίηση αναλογικού εύρους σε ψευδο - αναλογικό int range= map(potvalue,0,1023,0,255); if(potvalue < 341){//Lowest third of the potentiometer's range (0-340) //Red from full (255) to off(0) redvalue=255-range; 7 P a g e

//Green from off(0) to full(255) greenvalue=range; //Blue off bluevalue=0; else if(potvalue <682){//Middle third of the potentiometer's range (341-681) //Red off redvalue=0; //Green from full to off greenvalue=255-range; //Blue from off to full bluevalue=range; else{//upper third of the potentiometer's range (682-1023) //Red from off to full redvalue=range; //Green off greenvalue=0; //Blue from full to off bluevalue=255-range; //Write values to Led pins analogwrite(redpin,redvalue); analogwrite(greenpin,greenvalue); analogwrite(bluepin,bluevalue); 8 P a g e