Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Σε αυτό το 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