Παρουσίαση της εργασίας "Απομακρυσμένος Έλεγχος Συσκευών μέσω Διαδικτύου" του μαθητή του 2ου Γυμνασίου Ευόσμου Γ. Κουγιουμτζή για το 8ο Μαθητικό Συνέδριο Πληροφορικής.
2. ΠΕΡΙΛΗΨΗ
.Η εργασία αυτή αφορά την κατασκευή και τον
προγραμματισμό μιας ηλεκτρονικής διάταξης που να
ελέγχει τις ηλεκτρικές συσκευές ενός χώρου και να
μας εμφανίζει σε όποιο σημείο του πλανήτη κι αν
βρισκόμαστε τις παραμέτρους αυτές,
με τη βοήθεια του διαδικτύου.
Η κατασκευή αυτή, στηρίζεται
στο Arduino και στους αισθητήρες
με τους οποίους μπορεί να
συνδεθεί και να ελέγχει.
3. ΕΙΣΑΓΩΓΗ
Το Arduino αποτελείται από έναν μικροεπεξεργαστή
χαμηλών δυνατοτήτων και έχει όμως ανοιχτό κώδικα
προγραμματισμού με πολύ μεγάλη υποστήριξη από την
εταιρία που τον κατασκεύασε.
Επίσης υποστηρίζει πολλούς και διαφορετικούς
αισθητήρες, που λειτουργούν ως μονάδες εισόδου και
έχει ένα ικανό σύνολο από μονάδες εξόδου. Δίνει έτσι
το δικαίωμα στον πειραματισμό, την κατασκευή
σύνθετων διατάξεων και στον προγραμματισμό τους.
Και όλα αυτά χωρίς ιδιαίτερα υψηλό κόστος.
4. ΥΛΙΚΑ
Πρώτο στάδιο της εργασίας μου αποτελεί
η συγκέντρωση των υλικών που θα
χρησιμοποιηθούν για την κατασκευή.
5. ΚΥΚΛΩΜΑ ΤΡΟΦΟΔΟΣΙΑΣ
Eίναι ένα από τα πιο
σημαντικά εξαρτήματα
σε μια κατασκευή, με
βασικό λόγο ύπαρξης
την παροχή ρεύματος
στις κατάλληλες τάσεις
και στην κατάλληλη
μορφή (DC 12v και 5v)
Όλα τα κυκλώματα ασφάλειας που σέβονται τον εαυτό τους χρησιμοποιούν και
μπαταρίες, για την αδιάλειπτη λειτουργία τους σε περίπτωση διακοπής ρεύματος. Στην
κατασκευή χρησιμοποιώ μια μπαταρία 12v Lead Acid
6. ΕΠΙΛΟΓΗ ΠΛΑΚΕΤΑΣ
Στην αγορά υπάρχουν πολλά και διαφορετικά μοντέλα
Arduino με αρκετές και ικανοποιητικές δυνατότητες.
Η επιλογή εξαρτάται κυρίως από τις απαιτήσεις μας
αλλά και από το κόστος.
7. Arduino Mega 2560
Επέλεξα την συγκεκριμένη πλακέτα γιατί έχει αρκετές
δυνατότητες οι οποίες είναι αρκετές για τις απαιτήσεις της
κατασκευής μου.
Τεχνικά χαρακτηριστικά:
54 υποδοχές σύνδεσης για είσοδο, έξοδο πληροφοριών στον κεντρικό
επεξεργαστή
14 (Από τις 54) μπορούν να χρησιμοποιηθούν ως PWM (Pulse Width
Modulation) έξοδοι, δηλαδή μια τεχνική του arduino να δέχεται
αναλογικά αποτελέσματα σε ψηφιακή μορφή
16 αναλογικοί είσοδοι
4 UARTs (σειριακές πόρτες επικοινωνίας)
9. Τι είναι ένα ρελέ
Ο ηλεκτρονόμος, ρελέ (relay) ή ρελές είναι ένας ηλεκτρικός
διακόπτης που ανοίγει και κλείνει ένα ηλεκτρικό κύκλωμα
κάτω από τον έλεγχο ενός άλλου ηλεκτρικού κυκλώματος.
Στην αρχική μορφή του, ένας ηλεκτρομαγνήτης
ενεργοποιούσε το διακόπτη, με το άνοιγμα ή κλείσιμο μιας ή
περισσότερων επαφών.
Γιατί ρελε;
Χρησιμοποίησα ρελε για να
μπορέσω να χειριστώ υψηλές
τάσεις και υψηλά φορτία με ιδιαίτερη ασφάλεια και
αξιοπιστία. (πχ 230v 20A Θερμοσίφωνας)
11. Προσοχή!
Οι αισθητήρες που είναι ψηφιακοί απαιτούν βιβλιοθήκες
κώδικα οι οποίες παρέχονται από τον κατασκευαστή
τους.
Σε αντίθεση με:
τους κοινούς αισθητήρες π.χ. από τους συναγερμούς οι
οποίοι απαιτούν 12v για την λειτουργία τους και
προφανώς η έξοδος τους είναι στα 12v
Το Arduino και οι περισσότεροι μικροεπεξεργαστές
δουλεύουν με τάση εισόδου στις αναλογικές και
ψηφιακές θύρες μέχρι 5v
12. Η λύση στο παραπάνω πρόβλημα είναι:
Η χρήση ενός Optocoupler! (Φωτοτρανζίστορς)
κάνοντας ουσιαστικά μια ψηφιοποίηση.
Δεδομένου ότι η τάση εισόδου είναι 12v, οι πιθανές
καταστάσεις είναι 0 ή 1 δηλαδή ανοιχτή πόρτα άρα
τάση 12v ή κλειστή πόρτα άρα τάση 0v
13. Optocoupler! (Φωτοτρανζίστορς)
Optocoupler ή Opto είναι ένα τρανζίστορ που αποτελείται από ένα
led και μια φωτοδίοδο με αποτέλεσμα όταν περνάει ρεύμα και
ανάβει το led, η φωτοδίοδος κλείνει το κύκλωμα.
Αποτέλεσμα:
Ασφάλεια ως προς τον
μικροεπεξεργαστή και
ανεξαρτησία ενδιάμεσα
στα 5v και 12v.
Έτσι έγινε εφικτή η χρήση
παλιών αναλογικών αισθητήρων
συναγερμού.
14. Κάρτα δικτύου
Απαραίτητη για την επικοινωνία με το τοπικό δίκτυο του
χώρου που εποπτεύει η κατασκευή μου και που με την βοήθεια
του modem-router θα στέλνει ή θα λαμβάνει τις διάφορες τιμές
από το Internet.
15. Προγραμματισμός
Χρησιμοποίησα το Arduino IDE, την πλατφόρμα δηλαδή
ανάπτυξης προγραμμάτων για τον επεξεργαστή του κυκλώματος
μου, αλλά και διάφορες βιβλιοθήκες που επιτρέπουν την
επικοινωνία των διαφόρων αισθητήρων και της κάρτας δικτύου.
Το κάθε πρόγραμμα (sketch) στο arduino περιέχει:
την void setup(){κώδικας....}, η οποία τρέχει μια φορά στην
εκκίνηση του συστήματος (boot)
την void loop(){ακόμα μεγαλύτερο κομμάτι κώδικα...}, η οποία
εκτελείται σε επανάληψη όσο παίρνει ρεύμα το Arduino.
Φροντίζω στην συνάρτηση setup να πάρουν αρχικές τιμές οι
μεταβλητές που θα χρησιμοποιήσω στο υπόλοιπο πρόγραμμα και
όπου θα αποθηκεύονται οι διάφορες μετρήσεις που θα μου
εισάγονται από τους αισθητήρες.
17. Σύστημα συναγερμού
Στην κατασκευή μου πρόσθεσα ένα σύστημα συναγερμού χωρίς
φυσικά κι άλλα έξοδα και υλικά
Πολύ απλά χρησιμοποίησα δυο μεταβλητές ένα “If” και ένα “and”
Κατάσταση συναγερμού: Οπλισμένος ή όχι
0=> Αφοπλισμένος
1=> Οπλισμένος
Οπλισμός
If A=1 And SensorValue > 0 Then Pin13 => High
Αν η μεταβλητή είναι 1 και η τιμή του αισθητήρα πάνω από 0
Τότε άνοιξε την θύρα 13 (ιδιαίτερη αναφορά αμέσως τώρα!!!)
18. Θύρα 13 (PWM)
Διαμόρφωση εύρους παλμών (PWM), είναι μια τεχνική
διαμόρφωσης που χρησιμοποιείται για την κωδικοποίηση ενός
μηνύματος σε ένα σήμα παλμικό. Αν και αυτή η τεχνική
διαμόρφωσης μπορεί να χρησιμοποιηθεί για να κωδικοποιήσει
πληροφορίες για τη διαβίβαση, η κύρια χρήση του είναι να
επιτρέπει τον έλεγχο της ισχύος που παρέχεται σε ηλεκτρικές
συσκευές, ειδικά για μεγάλα φορτία, όπως κινητήρες.
19. Λίγο περισσότερο ασφάλεια!
Επίσης σε περίπτωση όπου οι αισθητήρες έχουν μεγάλη
θερμοκρασία, υγρασία, υγραέριο, καπνό κ.α. αυτόματα χτυπάει μια
σειρήνα.
Επίσης πρόσθεσα κάτι ακόμα, εξίσου σημαντικό. Ένα αμπερόμετρο
εναλλασσομένου ρεύματος που μπορεί να μας ενημερώσει γα την
κατανάλωση ρεύματος του σπιτιού μας με μεγάλη ακρίβεια..!
Επεκτείνοντας, θα μπορούσα να ορίσω διαφορετικές καταστάσεις για
παράδειγμα αν έχουμε παροχή υγραερίου, αυτόματα να κλείσει η
βάνα αερίου του σπιτιού, ενώ σε περίπτωση καπνού να έχει μια
ηλεκτροβάνα με κύκλωμα πυρασφάλειας και να σβήσει η φωτιά.