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

Σχετικά έγγραφα
ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

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

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

Lab 1: Experimenting on Arduino & AI Sense

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

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

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

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

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

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

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

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

Παιδιά κάτω των 13 ετών δε θα πρέπει να χρησιμοποιούν το κιτ χωρίς επίβλεψη. Μη συνδέετε την κύρια πλακέτα σε εξωτερική τροφοδοσία μεγάλης ισχύος.

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

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

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

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

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

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

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

Φύλλο εργασίας 1 Εισαγωγή στη Ρομποτική

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά

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

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

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

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

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

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

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

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

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

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

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

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

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

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

Arduino Teachers Workshop

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

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

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια

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

Α. Βασική Χρήση κινητήρα - Servo με τη βιβλιοθήκη <Servo.h>

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

4 Εισαγωγή στο Arduino

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ

Εμμανουήλ Πουλάκης. Προγραμματίζοντας με τον μικροελεγκτή Arduino

Ημερήσιο Γενικό Λύκειο Σητείας. Σχ. έτος

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

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

FOSSCOMM ο Συνέδριο Κοινοτήτων Ανοιχτού Λογισμικού Σάββατο 20 Απριλίου Ομάδα Σχολής Ικάρων Εργαστήριο Arduino

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

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ

ΑΙΣΘΗΤΗΡΕΣ ΚΑΙ ΜΟΤΟΡΕΣ ΠΡΑΚΤΙΚΑ ΘΕΜΑΤΑ ΧΡΗΣΗΣ. Υποψήφιος Διδάκτωρ

Αυτοματισμός PLC. Ειδικά Συστήματα Ελέγχου Πλοίου 2012 Κεφ. 2: Αυτοματισμός. Γ. Παπαλάμπρου

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

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Επικοινωνήστε με την Τράπεζα Πειραιώς

Οδηγίες Χρήσεως. Κάτοψη Συσκευής. SOS 100 Elderly Care System. Κύρια χαρακτηριστικά SOS 100

Τα ηλεκτρονικά μέρη του ρομπότ Επιλογή των μονάδων εισόδου εξόδου ανάλογα το μοντέλο που θέλουμε να κατασκευάσουμε

Σας προτείνουμε να εγκαταστήσετε στο κινητό σας τηλέφωνο την εφαρμογή Senior Helper"

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

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

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

THERMIS A.B.E.E. Pellet Controller e mail: info@thermis sa.gr

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

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

WiFi V-Timer ΕΚΔΟΣΗ 2Η

ΔΙΔΑΚΤΙΚΟ ΣΕΝΑΡΙΟ ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΔΙΕΞΑΓΩΓΗΣ ΠΑΙΧΝΙΔΙΟΥ ΕΡΩΤΗΣΕΩΝ/ΑΠΑΝΤΗΣΕΩΝ ΜΕ ΧΡΗΣΗ ARDUINO - QUIZ GAME ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 3

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ CD-PLUS/4+N

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

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

Ο μικροελεγκτής Arduino στο εργαστήριο των Θετικών Επιστημών. Χρήσιμες διευθύνσεις στο διαδίκτυο

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

Microcomputer Automatic Alarm device CCTV SECURITY AUTOMATIC ALARM SYSTEΜ

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

Εγχειρίδιο χρήσης. Ενεργοποιήστε το WiFi του κινητού σας τηλεφώνου. Συνδέστε το κινητό σας σε κάποιο δίκτυο.

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

ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ

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

No1 ADSL ΣΤΗΝ ΕΛΛΑΔΑ. ΟΔΗΓΟΣ ΓΡΗΓΟΡΗΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Ασύρµατο Router ADSL2+ T&W matr-x 4Ew

ΠΕΡΙΕΧΟΜΕΝΟ. ΜΑΘΗΜΑ: ΡΟΜΠΟΤΙΚΗ (3Ε) Γ τάξη Ημερήσιου ΕΠΑ.Λ. και Γ τάξη Εσπερινού ΕΠΑ.Λ.

Μάθημα 2 Δραστηριότητα 2: Δημιουργώντας το Μετεωρολογικό Σταθμό. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.

CAMIN V5 CONTROL AND MONITORING INSTRUMENT NETWORK

Κάμερα καταγραφικό Ρολόι χειρός

ΑΣΚΗΣΗ 8 Tutorial by TeSLa Συνδεσμολογία κυκλώματος Διαδικασία Προγραμματισμού

Παραδείγµατα χρήσης του µικροελεγκτή Arduino Εφαρµογές για το εργαστήριο Μέρος 1 ο

Β1.1 Δημιουργία Εφαρμογής στο Περιβάλλον Προγραμματισμού EdScratch του Edison ρομπότ

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

Φύλλο Εργασίας 1 (Λειτουργία και έλεγχος κινητήρων)

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

Εμπειρίες από την Κατασκευή Φάρου, υπό Κλίμακα, με Arduino

Ελληνικά. Εγχειρίδιο χρήσης του BT-02N

Εργαστήριο Αυτοματισμού και Σ.Α.Ε 1ου ΣΕΚ Άρτας PLC - Άσκηση 3

Η δυναμική του Arduino στο μάθημα της Τεχνολογίας. Φάσουρας Δημήτριος Ηλεκτρολόγος ΠΕ 17,03

UTH 150 A UTH 150 B GR Οδηγίες Χρήσης

ΕΓΧΕΙΡΙΔΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ ΥΠΟΣΤΗΡΙΓΜΑ B-fast ΓΙΑ ΟΘΟΝΕΣ T-Line ΥΠΟΣΤΗΡΙΓΜΑ AV 1423/011 ΓΙΑ ΤΟ ΣΥΣΤΗΜΑ B-FAST

Ελεύθερα Προγραμματιζόμενος Ελεγκτής Θερμικών Εφαρμογών

UTH 200 GR Οδηγίες Χρήσης

Κατάσταση: Έτοιμο. Ψάχνει για σύνδεση στο internet.

Transcript:

Προγραμματισμο ς σε Arduino Arduino UNO & Innoesys Educational Shield www.devobox.com Ηλεκτρονικά Εξαρτήματα & Υλικά Κατασκευής Πρωτοτύπων Λέανδρου 79, 10443, Κολωνός +30 210 51 55 513, info@devobox.com

ARDUINO UNO... 3 INNOESYS EDUCATIONAL SHIELD... 3 ΠΡΙΝ ΞΕΚΙΝΗΣΟΥΜΕ... 4 ΣΥΝΔΕΣΗ... 5 1. ΑΣ ΑΝΑΨΟΥΜΕ ΤΑ LED... 8 2. ΡΥΘΜΙΖΟΜΕΝΗ/ΑΥΤΟΜΑΤΗ ΦΩΤΕΙΝΟΤΗΤΑ... 9 3. Ο ΣΥΝΑΓΕΡΜΟΣ... 11 4. ΆΝΑΨΕ ΤΟΝ ΑΝΕΜΙΣΤΗΡΑ... 12 5. ΑΝΕΜΙΣΤΗΡΑΣ ΜΕ ΔΙΑΚΟΠΤΗ... 12 6. ΠΑΤΑ ΜΕ ΝΑ ΔΕΙΣ ΤΙ ΚΑΝΩ!... 13 7. ΖΕΣΤΗ ΚΑΝΕΙ ΣΗΜΕΡΑ!... 15 info@devobox.com - 210 5155513 Page 2 of 16

Arduino UNO Το Arduino είναι μια μικρή συσκευή (μικροεπεξεργαστής) που συνδέεται με USB στον υπολογιστή. Με την συσκευή αυτή καθηγητές, χομπίστες, μαθητές και φοιτητές μαθαίνουν προγραμματισμό και μπορούν να κατασκευάσουν αυτοματισμούς και εφαρμογές (πχ ρομποτικής). Η πλακέτα του Arduino αποτελείται από έναν μικρό επεξεργαστή ανοικτού κώδικα στον οποίο μπορεί κανείς να προγραμματίσει, ακόμη κι αν είναι αρχάριος, σε περιβάλλον Windows, Linux και MAC OS X. Στην πλακέτα του Arduino UNO βλέπουμε εισόδους και εξόδους στις οποίες μπορούν να συνδεθούν εξωτερικά εξαρτήματα/περιφερειακά ( Led, ποτενσιόμετρα, ρελέ, αισθητήρες και πολλά άλλα) για να μας δώσουν δεδομένα (π.χ. αισθητήρας θερμοκρασίας) ή για να ορίσουμε εμείς δεδομένα (π.χ. άναψε LED) Η σύνδεση αυτών των περιφερειακών γίνεται με συγκεκριμένο τρόπο για το κάθε εξάρτημα και θέλει ο χρήστης να έχει βασική γνώση θεωρίας ηλεκτρονικών. Σε αυτόν όμως τον οδηγό δεν θα ασχοληθούμε με την σύνδεση των περιφερειακών συσκευών, που σημαίνει ότι μπορούν αρχάριοι χρήστες να κάνουν τα πρώτα τους βήματα εύκολα και απλά. Για τον σκοπό αυτό θα χρησιμοποιήσουμε το Educational Shield της Innoesys Innoesys Educational Shield Το Educational Shield της Innoesys αποτελείται από αρκετά περιφερειακά εξαρτήματα κατάλληλα συνδεδεμένα, έτσι ώστε ο αρχάριος χρήστης να είναι σε θέση να τα χρησιμοποιήσει χωρίς να κάνει συνδεσμολογίες και χωρίς να χρειάζονται γνώσεις θεωρίας ηλεκτρονικών. info@devobox.com - 210 5155513 Page 3 of 16

Ας δούμε λοιπόν τι περιλαμβάνει το συγκεκριμένο shield. LED (R+G+B): Τρία LED διαφορετικού χρώματος συνδεδεμένα στις ψηφιακές εξόδους D6 (Κόκκινο), D9 (Πράσινο) και D10 (Μπλε). Buttons: Πέντε buttons συνδεδεμένα στις ψηφιακές εισόδους D7 (S1), D8 (S2), D11 (S3), D12 (S4) και D13 (S5) Διακόπτης On-Off: Ένας διακόπτης δύο θέσεων (On-Off) στην είσοδο ψηφιακή D4 Ρελέ: Ένα ρελέ συνδεδεμένο στην ψηφιακή έξοδο D2 Ποτενσιόμετρο: Ένα ποτενσιόμετρο συνδεδεμένο στην αναλογική είσοδο A1 Βuzzer: Ένα buzzer για ηχητική σήμανση στην ψηφιακή έξοδο D5 Φωτοαντίσταση: Μια φωτοαντίσταση στην αναλογική είσοδο A2 Αισθητήρα θερμοκρασίας: Ένας αισθητήρας θερμοκρασίας περιβάλλοντος στην αναλογική είσοδο A0 Σύνδεσμος Σερβοκινητήρα: Σύνδεσμο για σερβοκινητήρα στην ψηφιακή έξοδο D3 Αναλυτικά για την πλήρη περιγραφή υλικών και δυνατοτήτων ανατρέξτε στο datasheet της εταιρείας(www.innoesys.com) Πριν ξεκινήσουμε Όπως είπαμε και προηγουμένως το Arduino UNO έχει κάποιες εισόδους/εξόδους. Ανάλογα με το περιφερειακό που θα δουλέψουμε θα πρέπει να ορίσουμε αν είναι είσοδος ή έξοδος. Για παράδειγμα ένας αισθητήρας θερμοκρασίας για να μας δώσει τιμές πρέπει info@devobox.com - 210 5155513 Page 4 of 16

να συνδεθεί σε «είσοδο», ενώ αντίθετα το LED για να μπορέσουμε να το ανάψουμε θα πρέπει να του δώσουμε κατάσταση, άρα να συνδεθεί σε «έξοδο». Θα το δούμε όμως αναλυτικότερα παρακάτω. Το Arduino έχει την δυνατότητα να παίρνει από πάνω του πλακέτες (τα λεγόμενα shield) και να μπορεί να τα χρησιμοποιεί απευθείας χωρίς καλώδια και άλλες συνδεσμολογίες. Έτσι λοιπόν το μόνο που χρειαζόμαστε για να ολοκληρώσουμε τα παραδείγματα που ακολουθούν είναι 1 x Arduino UNO 1 x USB καλώδιο 1 x Innoesys Educational Shield Για τον προγραμματισμό του Arduino θα χρειαστούμε και το αντίστοιχο περιβάλλον το οποίο μπορείτε να το «κατεβάσετε» από το επίσημο site της εταιρείας (https://www.arduino.cc/en/main/software) και να το εγκαταστήσετε στον υπολογιστή σας. Σύνδεση Η διαδικασία σύνδεσης είναι πολύ απλή. Τοποθετούμε το Educational Shield επάνω στο Arduino. Φροντίζουμε τα pins να είναι σωστά ευθυγραμμισμένα και πιέζουμε για να «κουμπώσουν» σωστά στις θέσεις τους. Στην συνέχεια απλά συνδέουμε με το USB καλώδιο το Arduino με τον Η/Υ. Δείτε στις παρακάτω φωτογραφίες αναλυτικότερα. info@devobox.com - 210 5155513 Page 5 of 16

Τέλος ανοίγουμε την εφαρμογή της Arduino που έχουμε εγκαταστήσει και βλέπουμε το παρακάτω παράθυρο. Εδώ παρατηρούμε δύο μέρη στα οποία μπορούμε να γράψουμε τον κώδικά μας. Στο πρώτο μέρος void setup() κάνουμε τους ορισμούς μας και τις ρυθμίσεις. Αυτό το μέρος του κώδικα θα «τρέξει» μόνο μία φορά όταν βάλουμε τροφοδοσία στο Arduino. Στο δεύτερο μέρος void loop() γράφουμε τον κώδικα που θέλουμε να επαναλαμβάνεται συνεχώς. Εδώ το μόνο που χρειάζεται να κάνουμε για να επιβεβαιώσουμε την σωστή σύνδεση του Arduino είναι στο menu tools Board και να επιλέξουμε το Arduino UNO info@devobox.com - 210 5155513 Page 6 of 16

Και στη συνέχεια στο menu tools Port να επιλέξουμε την θύρα στην οποία έχει συνδεθεί. Είμαστε έτοιμοι για προγραμματισμό. Πάμε λοιπόν στα παραδείγματα! info@devobox.com - 210 5155513 Page 7 of 16

1. Ας ανάψουμε τα LED Το Educational Shield που έχουμε συνδέσει στο Arduino έχει συνδεδεμένα τα LED στις ψηφιακές εξόδους D6 (Κόκκινο), D9 (Πράσινο) και D10 (Μπλε). Πρώτα λοιπόν θα πρέπει να ορίζουμε αυτές τις ψηφιακές σαν εξόδους. Αυτό γίνεται με την εντολή pinmode() και το ορίζουμε στην περιοχή του void setup(). Για τη συγκεκριμένη περίπτωση θα πρέπει να βάλουμε: pinmode(6, OUTPUT); pinmode(9, OUTPUT); pinmode(10, OUTPUT); Τώρα το επόμενο βήμα μας είναι να αναβοσβήσουμε τα LED! Αυτό γίνεται με την εντολή digitalwrite() και το ορίζουμε στην περιοχή του void loop(), για να επαναλαμβάνεται. Συνεπώς για να αναβοσβήσουμε ένα LED θα πρέπει να βάλουμε: digitalwrite(6, HIGH); digitalwrite(6, LOW); Αυτό όμως θα επαναλαμβάνεται πολύ γρήγορα, οπότε θα ήταν καλό να προσθέσουμε και μια μικρή καθυστέρηση με την εντολή delay() Ας δούμε λοιπόν όλο τον κώδικα της δοκιμής μας: // initialize digital pins pinmode(6, OUTPUT); //Red pinmode(9, OUTPUT); //Green pinmode(10, OUTPUT); //Blue digitalwrite(6, HIGH); delay(1000); //Delay for 1 sec digitalwrite(6, LOW); delay(1000); //Delay for 1 sec Επιλέγουμε λοιπόν Upload( ) για να ενημερωθούν οι αλλαγές/προσθήκες στο Arduino UNO info@devobox.com - 210 5155513 Page 8 of 16

Για να δούμε τον κώδικά και για τα υπόλοιπα LED: // initialize led pins pinmode(6, OUTPUT); //Red pinmode(9, OUTPUT); //Green pinmode(10, OUTPUT); //Blue digitalwrite(6, HIGH); delay(1000); //Delay for 1 sec digitalwrite(6, LOW); delay(1000); //Delay for 1 sec digitalwrite(9, HIGH); delay(1000); //Delay for 1 sec digitalwrite(9, LOW); delay(1000); //Delay for 1 sec digitalwrite(10, HIGH); delay(1000); //Delay for 1 sec digitalwrite(10, LOW); delay(1000); //Delay for 1 sec Επιλέγουμε λοιπόν Upload( ) για να ενημερωθούν οι αλλαγές/προσθήκες στο Arduino UNO 2. Ρυθμιζόμενη/Αυτόματη φωτεινότητα Με την βοήθεια του ποτενσιόμετρου, συνδεδεμένο στην αναλογική είσοδο A1, μπορούμε να ελέγχουμε την ένταση ενός LED. Για να το δούμε αναλυτικά. Πρώτα λοιπόν θα πρέπει να ορίσουμε το LED σαν έξοδο και το ποτενσιόμετρο σαν είσοδο pinmode(6, OUTPUT); //Red pinmode(a1, INPUT); και στην συνέχεια θα πρέπει να διαβάσουμε την τιμή του ποτενσιόμετρου με την εντολή analogread() και να την γράψουμε στο LED με την εντολή analogwrite() analogwrite(6, (analogread(a1) / 4)); info@devobox.com - 210 5155513 Page 9 of 16

*** Σημαντική σημείωση: Οι τιμές που παίρνουμε από το ποτενσιόμετρο είναι 0-1023 ενώ οι τιμές που μπορούμε να γράψουμε στην έξοδο για το LED είναι 0 255. Για τον λόγο αυτό κάνουμε μια διαίρεση με το 4. Οπότε ο κώδικάς μας είναι ο εξής: // initialize led pins pinmode(6, OUTPUT); //Red // initialize potentiometer pinmode(a1, INPUT); analogwrite(6, (analogread(a1) / 4)); Το ίδιο μπορούμε να κάνουμε και με την φωτοαντίσταση. Ας προσθέσουμε λοιπόν το μπλε LED, που είναι στην έξοδο 10 και την φωτοαντίσταση στην είσοδο Α2 pinmode(10, OUTPUT); //Blue pinmode(a2, INPUT); και με την κατάλληλη εντολή διαβάσματος των τιμών της φωτοαντίστασης analogwrite(10, (analogread(a2) / 4)); *** Σημαντική σημείωση: Οι τιμές που παίρνουμε από την φωτοαντίσταση είναι 0-1023 ενώ οι τιμές που μπορούμε να γράψουμε στην έξοδο για το LED είναι 0 255. Για τον λόγο αυτό κάνουμε μια διαίρεση με το 4. έχουμε τον παρακάτω κώδικα // initialize led pins pinmode(6, OUTPUT); //Red pinmode(10, OUTPUT); //Blue // initialize potentiometer pinmode(a1, INPUT); // initialize photoresistor pinmode(a2, INPUT); info@devobox.com - 210 5155513 Page 10 of 16

analogwrite(6, (analogread(a1) / 4)); analogwrite(10, (analogread(a2) / 4)); Επιλέγουμε λοιπόν Upload( ) για να ενημερωθούν οι αλλαγές/προσθήκες στο Arduino UNO 3. Ο Συναγερμός Σε αυτό το παράδειγμα θα δούμε την ηχητική σήμανση του Βuzzer, που είναι συνδεδεμένο στην ψηφιακή έξοδο D5 Πρώτα ορίζουμε την ψηφιακή έξοδο pinmode(5, OUTPUT); και στην συνέχεια με την εντολή tone() μπορούμε να ορίσουμε τον τόνο με τον οποίο θα ηχήσει το buzzer. tone(5, 150, 500); *Έξοδος buzzer, Τόνος (0-255), διάρκεια τόνου Εφόσον ο τόνος θα ηχήσει για ½ του δευτερολέπτου τότε προσθέτουμε και μια καθυστέρηση 1 δευτερολέπτου για να δημιουργήσουμε διακοπτόμενο ήχο και ο συναγερμός μας έχει πλέον τον κώδικα: // initialize buzzer pin pinmode(5, OUTPUT); tone(5, 150, 500); delay(1000); //delay for 1 sec Επιλέγουμε λοιπόν Upload( ) για να ενημερωθούν οι αλλαγές/προσθήκες στο Arduino UNO info@devobox.com - 210 5155513 Page 11 of 16

4. Άναψε τον ανεμιστήρα Στην ψηφιακή έξοδο D2 του Educational Shield είναι συνδεδεμένο ένα ρελέ. Σε αυτό μπορούμε να δώσουμε εντολή να ανοίξει ή να κλείσει. Για να το κάνουμε αυτό πρώτα πρέπει να ορίσουμε την έξοδό του pinmode(2, OUTPUT); και στην συνέχεια με την εντολή digitalwrite() να του αλλάξουμε την κατάσταση digitalwrite(6, HIGH); ή digitalwrite(6, LOW); Ας προσθέσουμε λοιπόν στον κώδικά μας μια εναλλαγή κατάστασης με χρονοκαθυστέρηση 5 δευτερολέπτων. Έτσι το πρόγραμμα έχει ως εξής: // initialize relay pin pinmode(2, OUTPUT); digitalwrite(2, HIGH); delay(5000); digitalwrite(2, LOW); delay(5000); *** Αν συνδέσουμε έναν ανεμιστήρα στις κλέμες που καταλήγει το ρελέ, τότε αυτό θα ανοίγει και θα κλείνει ανάλογα με τον χρόνο που θέσαμε στο πρόγραμμα. Συμβουλευτείτε το datasheet του Innoesys Educational Shield για την συνδεσμολογία. Επιλέγουμε λοιπόν Upload( ) για να ενημερωθούν οι αλλαγές/προσθήκες στο Arduino UNO 5. Ανεμιστήρας με διακόπτη Ένας διακόπτης δύο θέσεων (On-Off) είναι συνδεδεμένος στην ψηφιακή D4. Για να τον χρησιμοποιήσουμε θα πρέπει να τον ορίσουμε σαν είσοδο. pinmode(4, INPUT); info@devobox.com - 210 5155513 Page 12 of 16

Διαβάζοντας την κατάστασή του με την εντολή digitalread() μπορούμε να δώσουμε εντολή να γίνει κάποια λειτουργία. Ας πάρουμε τον κώδικα του προηγούμενου παραδείγματος με τον ανεμιστήρα. Σε αυτόν θα προσθέσουμε τον ορισμό την ψηφιακής εισόδου: // initialize relay pin pinmode(2, OUTPUT); // initialize on-off switch pinmode(4, INPUT); Αντί λοιπόν να ανοιγοκλείνουμε κάθε 5 δευτερόλεπτα το ρελέ, μπορούμε να δώσουμε απευθείας την κατάσταση του διακόπτη στην ψηφιακή έξοδο του ρελέ με την εντολή: digitalwrite(2, digitalread(4)); Έτσι το πρόγραμμά θα γίνει ως εξής: // initialize relay pin pinmode(2, OUTPUT); // initialize on-off switch pinmode(4, INPUT); digitalwrite(2, digitalread(4)); Επιλέγουμε λοιπόν Upload( ) για να ενημερωθούν οι αλλαγές/προσθήκες στο Arduino UNO 6. Πάτα με να δεις τι κάνω! Στο Educational Shield υπάρχουν πέντε buttons συνδεδεμένα στις ψηφιακές εισόδους D7 (S1), D8 (S2), D11 (S3), D12 (S4) και D13 (S5), που μπορούμε να ορίσουμε τι θα κάνουν το καθένα από αυτά. Στο παράδειγμα αυτό θα βάλουμε να ανάβουν τα LED, να ανοίγουν το ρελέ και να δίνουν και μια ηχητική σήμανση. info@devobox.com - 210 5155513 Page 13 of 16

Πρώτα πρέπει να ορίσουμε τις εισόδους των button pinmode(7, INPUT); //S1 pinmode(8, INPUT); //S2 pinmode(11, INPUT); //S3 pinmode(12, INPUT); //S4 pinmode(13, INPUT); //S5 μετά τις εξόδους των LED pinmode(6, OUTPUT); //Red pinmode(9, OUTPUT); //Green pinmode(10, OUTPUT); //Blue Την έξοδο του ρελέ pinmode(2, OUTPUT); Και τέλος την έξοδο του buzzer pinmode(5, OUTPUT); Αφού ολοκληρώσουμε τις αρχικές ρυθμίσεις θα πρέπει να δώσουμε τις τιμές των button στις αντίστοιχες εξόδους. Έτσι έχουμε: digitalwrite(6, digitalread(7)); //Button S1 -> LED Red digitalwrite(9, digitalread(8)); //Button S2 -> LED Green digitalwrite(10, digitalread(11)); //Button S3 -> LED Blue digitalwrite(2, digitalread(12)); //Button S4 -> Relay digitalwrite(5, digitalread(13)); //Button S5 -> Buzzer Και συνολικά ο κώδικας είναι ο εξής: // initialize the buttons pinmode(7, INPUT); //S1 pinmode(8, INPUT); //S2 pinmode(11, INPUT); //S3 pinmode(12, INPUT); //S4 pinmode(13, INPUT); //S5 // initialize the LED pins pinmode(6, OUTPUT); //Red pinmode(9, OUTPUT); //Green pinmode(10, OUTPUT); //Blue // initialize relay pin pinmode(2, OUTPUT); // initialize the Buzzer pinmode(5, OUTPUT); info@devobox.com - 210 5155513 Page 14 of 16

digitalwrite(6, digitalread(7)); //Button S1 -> LED Red digitalwrite(9, digitalread(8)); //Button S2 -> LED Green digitalwrite(10, digitalread(11)); //Button S3 -> LED Blue digitalwrite(2, digitalread(12)); //Button S4 -> Relay digitalwrite(5, digitalread(13)); //Button S5 -> Buzzer Επιλέγουμε λοιπόν Upload( ) για να ενημερωθούν οι αλλαγές/προσθήκες στο Arduino UNO 7. Ζέστη κάνει σήμερα! Στην αναλογική είσοδο Α0 βρίσκεται ένας αισθητήρας θερμοκρασίας. Με αυτόν είμαστε σε θέση να μετρήσουμε την θερμοκρασία του περιβάλλοντος. Για να βλέπουμε τις τιμές που παίρνουμε από τον αισθητήρα θερμοκρασίας θα χρησιμοποιήσουμε την σειριακή έξοδο του Arduino. Αυτό που πρέπει να κάνουμε αρχικά είναι να ορίσουμε την σειριακή και την είσοδο του αισθητήρα με τις εντολές: Serial.begin(9600); pinmode(a0, INPUT); Εφόσον έχουν αρχικοποιηθεί οι ρυθμίσεις μας το μόνο που χρειάζεται να κάνουμε είναι να διαβάζουμε από τον αισθητήρα τις τιμές με την εντολή analogread() και να τις «τυπώνουμε» στην σειριακή με την εντολή Serial.println(). Serial.println((analogRead(0) * 0.004882812 * 100) - 273.15); *** Οι υπολογισμοί είναι απαραίτητοι για να μετατραπούν τα δεδομένα σε βαθμούς κελσίου. Έτσι το πρόγραμμά μας έχει ως εξής: // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the temperature Sensor info@devobox.com - 210 5155513 Page 15 of 16

pinmode(a0, INPUT); // show the values of the temperature screen in the serial monitor Serial.println((analogRead(0) * 0.004882812 * 100) - 273.15); delay(1000); //delay for 1 sec Επιλέγουμε λοιπόν Upload( ) για να ενημερωθούν οι αλλαγές/προσθήκες στο Arduino UNO Για να δούμε το αποτέλεσμα πρέπει από το menu Tools να επιλέξουμε Serial Monitor. Στο παράθυρο που ανοίξει εμφανίζονται οι τιμές του αισθητήρα. info@devobox.com - 210 5155513 Page 16 of 16