Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Ρυθμίστε το Raspberry Pi σας
- Βήμα 2: Μετρήστε τους αισθητήρες φωτός και θερμοκρασίας
- Βήμα 3: Συνδέστε το κύκλωμά σας
- Βήμα 4: Κωδικός
- Βήμα 5: Αντιμετώπιση προβλημάτων
Βίντεο: Ανάγνωση και γραφική παράσταση δεδομένων αισθητήρα φωτός και θερμοκρασίας με Raspberry Pi: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Σε αυτό το Instructable θα μάθετε πώς να διαβάζετε έναν αισθητήρα φωτός και θερμοκρασίας με βατόμουρο pi και ADS1115 αναλογικό σε ψηφιακό μετατροπέα και να τον γράφετε χρησιμοποιώντας το matplotlib. Ας ξεκινήσουμε με τα απαραίτητα υλικά.
Προμήθειες
- Raspberry pi (οποιοσδήποτε θα το κάνει, αν και χρησιμοποιώ 4)
- Κάρτα MicroSD με εγκατεστημένο το Raspbian (καλό σεμινάριο:
- Οθόνη HDMI και πηγή ενέργειας
- Καλώδιο Micro USB
- Μετατροπέας αναλογικού σε ψηφιακό Adafruit ADS 1115:
- Καλώδια βραχυκυκλωτήρων
- αισθητήρας φωτός (LDR)
- αισθητήρας θερμοκρασίας
- ποτενσιόμετρο x2 (η τιμή θα είναι το μέσο σημείο του εύρους αντίστασης των αισθητήρων θερμοκρασίας και φωτός, το οποίο θα μετρήσουμε αργότερα)
- Breadboard
Βήμα 1: Ρυθμίστε το Raspberry Pi σας
1. Ακολουθήστε αυτό το σεμινάριο για να ρυθμίσετε το raspberry pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Ενεργοποίηση I2C: κάντε κλικ στο σύμβολο raspberry pi επάνω αριστερά. Μεταβείτε στις προτιμήσεις> διαμόρφωση raspberry pi> διεπαφές> και επιλέξτε το πλαίσιο "ενεργοποίηση" στο I2C. Στη συνέχεια, κάντε κλικ στο κουμπί OK.3. Τώρα ανοίξτε ένα παράθυρο τερματικού. Στη γραμμή εντολών πληκτρολογήστε:
sudo apt-get αναβάθμιση
sudo pip3 εγκατάσταση adafruit-circuitpython-ads1x15
sudo apt-get install python-matplotlib
Βήμα 2: Μετρήστε τους αισθητήρες φωτός και θερμοκρασίας
Τώρα θα χρειαστεί να μετρήσουμε την αντίσταση των αισθητήρων φωτός και θερμοκρασίας. Πάρτε ένα βολτόμετρο στη ρύθμιση μέτρησης αντίστασης και μετρήστε στα καλώδια του αισθητήρα φωτός σας στο φως και το σκοτάδι. Καταγράψτε τις τιμές. Τώρα πάρτε το βολτόμετρό σας στα καλώδια του αισθητήρα θερμοκρασίας σε ζεστό και κρύο (χρησιμοποίησα νερό). Καταγράψτε τις τιμές. Θα τα χρησιμοποιήσουμε αργότερα στο κύκλωμά μας.
Βήμα 3: Συνδέστε το κύκλωμά σας
1. Συγκεντρώστε τα υλικά που αναφέρονται στη λίστα αναλωσίμων. Για τα ποτενσιόμετρα, χρησιμοποιήστε μια τιμή που είναι ο μέσος όρος των υψηλών και χαμηλών (ελαφρύ και σκοτεινό, ζεστό και κρύο).
(υψηλό-χαμηλό) / 2
2. Ακολουθήστε το διάγραμμα κυκλώματος παραπάνω:
- Συνδέστε το SDA στον αναλογικό σε ψηφιακό μετατροπέα σε SDA στο pi
- Συνδέστε το SCL στον αναλογικό σε ψηφιακό μετατροπέα σε SCL στο pi
- Συνδέστε το VDD στον αναλογικό σε ψηφιακό μετατροπέα σε 3,3v στο pi
- Συνδέστε το GND στον αναλογικό σε ψηφιακό μετατροπέα στη γείωση στο pi
- Συνδέστε τα υπόλοιπα εξαρτήματα σύμφωνα με το διάγραμμα κυκλώματος.
Βήμα 4: Κωδικός
1. Πληκτρολογήστε τερματικό:
nano digital.py
2. Επικολλήστε τον κωδικό που έχω παρακάτω ή στο Github στον επεξεργαστή κειμένου που πρέπει να εμφανιστεί.
εισαγωγή matplotlib.pyplot ως plt
import numpy as np import board import busio time import import adafruit_ads1x15.ads1115 as ADS from adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C (board. SCL, board. SDA) ads = ADS. ADS1115 (i2c) x = 0 light = AnalogIn (διαφημίσεις, ADS. P0) temp = AnalogIn (διαφημίσεις, ADS. P1) X1 = X2 = Y1 = Y2 = plt.ylim (-50, 1000) plt.plot (X1, Y1, label = "light", color = '#0069af') plt.plot (X2, Y2, label = "Temp", color = '#ff8000') plt.xlabel ('Time (minutes)') plt.ylabel (' Level ') plt.title (' Light and temp over time ') plt.legend () while True: x += 5 Y1.append (light.value/30) X1.append (x) Y2.append (temp.value /3) X2.append (x) plt.plot (X1, Y1, label = "light", color = '#0069af') plt.plot (X2, Y2, label = "Temp", color = '#ff8000' plt.pause (300)
3. Τώρα πατήστε CTRL+X για έξοδο, πατήστε y για αποθήκευση και μετά πατήστε enter.
Εκτελέστε το πρόγραμμά σας πληκτρολογώντας το τερματικό:
sudo python3 digital.py
4. Ρυθμίστε τα ποτενσιόμετρα έτσι ώστε το γράφημα να δείχνει ένα ευρύ φάσμα τιμών. Δοκιμάστε να ρίξετε ένα φως στον αισθητήρα και να σβήσετε τα φώτα στο δωμάτιο για να διασφαλίσετε ότι το γράφημα εμφανίζει ένα ευρύ φάσμα τιμών.
Εάν κάποια από τις τιμές βουτήξει κάτω από το κάτω μέρος, δοκιμάστε να χαμηλώσετε τον αντίστοιχο διαιρέτη (γραμμή 29 και 31).
Εάν κάποια από τις τιμές είναι πάνω από την κορυφή, δοκιμάστε να αυξήσετε τον αντίστοιχο διαιρέτη (γραμμή 29 και 31).
Βήμα 5: Αντιμετώπιση προβλημάτων
1. Ελέγξτε ξανά όλες τις συνδέσεις με το διάγραμμα κυκλώματος
2. Ανίχνευση I2C - Θα σας δείξει όλες τις συσκευές που είναι συνδεδεμένες μέσω i2c:
Πληκτρολογήστε τερματικό:
sudo apt-get install i2c-tools
sudo i2cdetect - y 1
Συνιστάται:
Μετεωρολογικός σταθμός: ESP8266 με βαθύ ύπνο, SQL, γραφική παράσταση κατά φιάλη & συνοπτικά: 3 βήματα
Μετεωρολογικός σταθμός: ESP8266 Με βαθύ ύπνο, SQL, Graphing by Flask & Plotly: Θα ήταν διασκεδαστικό να γνωρίζετε τη θερμοκρασία, την υγρασία ή την ένταση του φωτός στο μπαλκόνι σας; Ξέρω ότι θα το έκανα. Έτσι έφτιαξα έναν απλό μετεωρολογικό σταθμό για να συλλέξω τέτοια δεδομένα. Οι ακόλουθες ενότητες είναι τα βήματα που έκανα για να δημιουργήσω ένα. Ας ξεκινήσουμε
Γραφική παράσταση της αλλαγής θερμοκρασίας από την κλιματική αλλαγή στην Python: 6 βήματα
Απεικόνιση της αλλαγής θερμοκρασίας από την κλιματική αλλαγή στην Python: Η κλιματική αλλαγή είναι ένα μεγάλο πρόβλημα. Και πολλοί άνθρωποι δεν γνωρίζουν τώρα πόσο έχει ανέβει. Σε αυτό το διδακτικό, θα γράψουμε τη μεταβολή της θερμοκρασίας στο κλίμα λόγω της κλιματικής αλλαγής. Για ένα φύλλο εξαπάτησης, μπορείτε να δείτε το αρχείο python παρακάτω
Ανάγνωση δεδομένων υπερηχητικού αισθητήρα (HC-SR04) Δεδομένων σε οθόνη LCD 128 × 128 και οπτικοποίηση χρησιμοποιώντας Matplotlib: 8 βήματα
Ανάγνωση δεδομένων υπερηχητικού αισθητήρα (HC-SR04) Δεδομένων σε LCD 128 × 128 και οπτικοποίηση χρησιμοποιώντας Matplotlib: Σε αυτό το διδακτικό, θα χρησιμοποιήσουμε το MSP432 LaunchPad + BoosterPack για την εμφάνιση δεδομένων υπερήχων αισθητήρων (HC-SR04) σε 128 × 128 LCD και στείλτε τα δεδομένα στον Η / Υ σειριακά και οπτικοποιήστε τα χρησιμοποιώντας το Matplotlib
Ανάγνωση θερμοκρασίας με χρήση αισθητήρα θερμοκρασίας LM35 με Arduino Uno: 4 βήματα
Ανάγνωση θερμοκρασίας με χρήση αισθητήρα θερμοκρασίας LM35 με Arduino Uno: Γεια σας παιδιά σε αυτό το εκπαιδευτικό εγχειρίδιο θα μάθουμε πώς να χρησιμοποιούμε το LM35 με το Arduino. Το Lm35 είναι ένας αισθητήρας θερμοκρασίας που μπορεί να διαβάσει τιμές θερμοκρασίας από -55 ° C έως 150 ° C. Είναι μια τερματική συσκευή που παρέχει αναλογική τάση ανάλογη της θερμοκρασίας. Υψηλή
Αποθήκευση και γραφική παράσταση δεδομένων EC/pH/ORP Με τη στοίβα TICK και την πλατφόρμα NoCAN: 8 βήματα
Αποθήκευση και γραφική παράσταση δεδομένων EC/pH/ORP Με την πλατφόρμα TICK Stack και NoCAN: Θα εξεταστεί ο τρόπος χρήσης της πλατφόρμας NoCAN από τους αισθητήρες Omzlo και uFire για τη μέτρηση EC, pH και ORP. Όπως λέει ο ιστότοπός τους, μερικές φορές είναι ευκολότερο να τρέξετε κάποιο καλώδιο στους κόμβους αισθητήρων σας. Η CAN έχει το πλεονέκτημα της επικοινωνίας και της ισχύος σε ένα