Πίνακας περιεχομένων:

Θερμοκρασία, Παρακολούθηση υγρασίας - Arduino Mega + Ethernet W5100: 5 Βήματα
Θερμοκρασία, Παρακολούθηση υγρασίας - Arduino Mega + Ethernet W5100: 5 Βήματα

Βίντεο: Θερμοκρασία, Παρακολούθηση υγρασίας - Arduino Mega + Ethernet W5100: 5 Βήματα

Βίντεο: Θερμοκρασία, Παρακολούθηση υγρασίας - Arduino Mega + Ethernet W5100: 5 Βήματα
Βίντεο: Παρακολούθηση θερμοκρασίας από το arduino 2024, Νοέμβριος
Anonim
Θερμοκρασία, Παρακολούθηση υγρασίας - Arduino Mega + Ethernet W5100
Θερμοκρασία, Παρακολούθηση υγρασίας - Arduino Mega + Ethernet W5100

Ενότητα 1 - FLAT - υλικό:

  • Arduino Mega 2560
  • Ασπίδα Wiznet W5100 Ethernet
  • 8x αισθητήρας θερμοκρασίας DS18B20 στο δίαυλο OneWire - χωρίζεται σε 4 διαύλους OneWire (2, 4, 1, 1)
  • 2x ψηφιακός αισθητήρας θερμοκρασίας και υγρασίας DHT22 (AM2302)
  • 1x αισθητήρας θερμοκρασίας και υγρασίας SENSIRION SHT21 (Si7021)
  • 1x αισθητήρας θερμοκρασίας και υγρασίας BOSCH BME280 (και πίεσης αέρα)
  • Στέλνει δεδομένα από όλους τους αισθητήρες ταυτόχρονα σε αρκετά λεπτά (μπορεί να τροποποιηθεί)

Ενότητα 2 - ΛΕΒΗΤΗΣ - υλικό:

  • Arduino Mega 2560
  • Ασπίδα Wiznet W5100 Ethernet
  • 16x αισθητήρας θερμοκρασίας DS18B20 στο δίαυλο OneWire - χωρίζεται σε 7 διαύλους OneWire (2, 2, 2, 2, 2, 2, 4)
  • 8x ψηφιακή είσοδος
  • Xηφιακή έξοδος 8x - για ηλεκτρομαγνητική βαλβίδα / ρελέ
  • Στέλνει δεδομένα από όλους τους αισθητήρες ταυτόχρονα σε αρκετά λεπτά (μπορεί να τροποποιηθεί)
  • Διαβάζει τις καταστάσεις των μεμονωμένων εξόδων από τη διεπαφή ιστού, τις εφαρμόζει Στέλνει καταστάσεις ψηφιακής εισόδου

Βήμα 1: Εισαγωγή

Εισαγωγή
Εισαγωγή
Εισαγωγή
Εισαγωγή
Εισαγωγή
Εισαγωγή

Σήμερα θα παρουσιάσω λεπτομερώς το τελευταίο έργο που υλοποιήθηκε, το οποίο είναι αρκετά πολύπλοκο από άποψη λειτουργικότητας, αριθμός αισθητήρων που χρησιμοποιήθηκαν, πίνακες Arduino, μεταχειρισμένους διαύλους δεδομένων. Το έργο αποτελείται από δύο ενότητες. Φυσικά κάθε μονάδα αποτελείται από ένα ξεχωριστό Arduino Mega 2560, ασπίδα Ethernet W5100 (συμβατό με R3) και τους αισθητήρες που χρησιμοποιεί.

Κάθε ενότητα επικοινωνεί με τη διεπαφή ιστού στο Διαδίκτυο μέσω αιτημάτων HTTP POST, μέσω των οποίων ο διακομιστής ιστού πωλεί δεδομένα ή ζητάει ορισμένα δεδομένα, για παράδειγμα μέσω αιτήματος POST (μονάδα 2 μόνο). Η διεπαφή ιστού ολοκληρώνεται με ένα σύστημα σύνδεσης, ενώ όλη η οικογένεια μπορεί να εγγραφεί στο σύστημα, το καθένα με το όνομα και τον κωδικό πρόσβασής του. Είναι επομένως μια εφαρμογή πολλαπλών χρηστών όπου κάθε μέλος της οικογένειας έχει μια επισκόπηση και των δύο μονάδων και μπορεί να εκτελέσει διαφορετικές ενέργειες - ρύθμιση της θερμοκρασίας αναφοράς, θερμόμετρο ελέγχου κλπ. Η διεπαφή ιστού προγραμματίζεται σε PHP, τα δεδομένα αποθηκεύονται στη βάση δεδομένων MySQL. Κάθε μία από τις ενότητες έχει έναν ξεχωριστό πίνακα στη βάση δεδομένων για δεδομένα. Εξετάστε τις επιμέρους ενότητες με περισσότερες λεπτομέρειες.

Βήμα 2: Ενότητα 1 - FLAT

Ενότητα 1 - FLAT
Ενότητα 1 - FLAT
Ενότητα 1 - FLAT
Ενότητα 1 - FLAT

Ολόκληρη η ενότητα 1- FLAT χρησιμεύει μόνο ως οθόνη θερμοκρασίας σε μεμονωμένα δωμάτια, δεν έχει άλλο ρόλο. Οι αισθητήρες DHT22 χρησιμοποιήθηκαν σε μεγάλη απόσταση χρησιμοποιώντας μια κατάλληλη αντίσταση έλξης 10kohm για την καταγραφή της υγρασίας στα μπάνια. Δεδομένου ότι τα BME280 και SHT21 επικοινωνούν μέσω του λεωφορείου I2C και αυτό είναι σημαντικά περιορισμένο όσον αφορά τα μήκη οδηγού λεωφορείου, οι αισθητήρες χρησιμοποιούνται κοντά στο Arduino στα δωμάτια.

Οι αισθητήρες θερμοκρασίας DS18B20 χωρίστηκαν σε 4 λεωφορεία, καθώς χρησιμοποιούνται δύο εξωτερικοί αισθητήρες, διευκολύνοντας τη σύνδεση τους σε ξεχωριστές πρίζες Arduino και, σε περίπτωση πτώσης αισθητήρα, είναι ευκολότερο να αντικατασταθούν καθώς δεν παραλύει τη λειτουργικότητα του συστήματος.

Για παράδειγμα, στην περίπτωση ενός από αυτά τα λεωφορεία OneWire, στο οποίο ευρετηριάζονται 4 αισθητήρες. Ο δείκτης συνδέεται με τη φυσική διεύθυνση των θερμόμετρων, οπότε εάν αλλάξετε έναν από τους αισθητήρες, ο νέος αισθητήρας μπορεί να εμφανιστεί στον δείκτη 0 - αρχικός ή ακόμη και 2, 3 ή τελευταίος. Έτσι, μειώνοντας τον αριθμό των αισθητήρων στα λεωφορεία, μπορούμε να αποφύγουμε μια τέτοια επιπλοκή που μπορεί να προκύψει όταν αντικατασταθεί ο αισθητήρας.

Βήμα 3: Ενότητα 2 - ΛΕΒΗΤΗΣ

Ενότητα 2 - ΛΕΒΗΤΗΣ
Ενότητα 2 - ΛΕΒΗΤΗΣ
Ενότητα 2 - ΛΕΒΗΤΗΣ
Ενότητα 2 - ΛΕΒΗΤΗΣ
Ενότητα 2 - ΛΕΒΗΤΗΣ
Ενότητα 2 - ΛΕΒΗΤΗΣ

Εκτός από τη λειτουργία της οθόνης, η μονάδα 2 - BOILER έχει επίσης έναν πιο σημαντικό ρόλο, δηλαδή τον έλεγχο των ηλεκτρομαγνητικών βαλβίδων ή των ρελέ για τον έλεγχο των βαλβίδων του ψυγείου. Η μονάδα λειτουργεί ανεξάρτητα από την οικιακή θέρμανση. Η μονάδα δεν αλλάζει θέρμανση ή λέβητα. Η μονάδα φροντίζει μόνο για το άνοιγμα, κλείνοντας τη βαλβίδα του ψυγείου, εάν η θερμοκρασία του δωματίου είναι χαμηλότερη / υψηλότερη από τη ρύθμιση - λεγόμενη. θερμοκρασία αναφοράς. Σε κάθε δωμάτιο όπου ελέγχεται η βαλβίδα του ψυγείου μπορεί να εκχωρηθεί ένα συγκεκριμένο θερμόμετρο από τη μονάδα 2. Εκτός από αυτό - αυτόματη λειτουργία, υπάρχει επίσης μια χειροκίνητη λειτουργία όπου η βαλβίδα μπορεί να ανοίξει / κλείσει χειροκίνητα από τη διεπαφή ιστού επ 'αόριστον - σκληρά. Οι ψηφιακές είσοδοι μπορούν να χρησιμοποιηθούν για να επαληθεύσετε ότι η ηλεκτρομαγνητική βαλβίδα / ρελέ / βαλβίδα έχει ανοίξει / κλείσει κατόπιν αιτήματος με το Arduina - η δυνατότητα σύγκρισης αν η έξοδος είναι ίση με την είσοδο.

Βήμα 4: Τι προσφέρει η διεπαφή ιστού;

Τι Διασύνδεση Ιστού προσφέρει
Τι Διασύνδεση Ιστού προσφέρει
Τι Διασύνδεση Ιστού προσφέρει
Τι Διασύνδεση Ιστού προσφέρει

Και για τις δύο ενότητες υπάρχει επίσης μια γραφική αναπαράσταση ενός γραφήματος γραμμών για την ανάπτυξη μεμονωμένων μεταβλητών - θερμοκρασία, υγρασία σε 24 ώρες, 7 ημέρες. Η διεπαφή ιστού προσφέρει επίσης προβολή της μέγιστης / ελάχιστης, μέσης τιμής σε 24 ώρες, 7 ημέρες για κάθε θερμόμετρο / υγρόμετρο. Στη μονάδα 1, εξετάστηκε αρχικά ένα ζευγάρι αισθητήρων SHT21, αλλά επειδή δεν έχουν δυνατότητα αλλαγής της διεύθυνσης I2C, θα ήταν απαραίτητο να χρησιμοποιηθεί ένας πολυπλέκτης για την επικοινωνία ενός διαύλου από δύο αισθητήρες με την ίδια διεύθυνση I2C. Σε περίπτωση ελαττωματικών δεδομένων αισθητήρα, το όνομα του αισθητήρα αποθηκεύεται σε ένα αρχείο καταγραφής που ο διαχειριστής συστήματος μπορεί να ανοίξει ανά πάσα στιγμή για να επισκευάσει το δίαυλο OneWire και να αντικαταστήσει τον ελαττωματικό αισθητήρα, για παράδειγμα.

Το Watchdog έχει εφαρμοστεί σε προγράμματα Arduino, το οποίο σε περίπτωση λανθασμένης προετοιμασίας, "παγώματος", ένα άλλο σφάλμα επανεκκινείται με ασφάλεια και στην αρχή του προγράμματος απενεργοποιεί όλες τις εξόδους μέχρι να πραγματοποιηθεί η σύνδεση με τη διεπαφή ιστού, όπου συγχρονίζεται πλήρως όρους εκροών, τους οποίους στη συνέχεια εφαρμόζει.

Περισσότερα έργα μπορείτε να βρείτε στη διεύθυνση: https://arduino.php5.sk?lang=en Δωρεά για περισσότερα παραδείγματα:

Συνιστάται: