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

Ανάγνωση και γραφική παράσταση δεδομένων αισθητήρα φωτός και θερμοκρασίας με Raspberry Pi: 5 βήματα
Ανάγνωση και γραφική παράσταση δεδομένων αισθητήρα φωτός και θερμοκρασίας με Raspberry Pi: 5 βήματα

Βίντεο: Ανάγνωση και γραφική παράσταση δεδομένων αισθητήρα φωτός και θερμοκρασίας με Raspberry Pi: 5 βήματα

Βίντεο: Ανάγνωση και γραφική παράσταση δεδομένων αισθητήρα φωτός και θερμοκρασίας με Raspberry Pi: 5 βήματα
Βίντεο: Σεμινάριο για την εφαρμογή Phyphox - II 2024, Νοέμβριος
Anonim
Ανάγνωση και γραφική παράσταση δεδομένων αισθητήρα φωτός και θερμοκρασίας με το Raspberry Pi
Ανάγνωση και γραφική παράσταση δεδομένων αισθητήρα φωτός και θερμοκρασίας με το Raspberry Pi

Σε αυτό το Instructable θα μάθετε πώς να διαβάζετε έναν αισθητήρα φωτός και θερμοκρασίας με βατόμουρο pi και ADS1115 αναλογικό σε ψηφιακό μετατροπέα και να τον γράφετε χρησιμοποιώντας το matplotlib. Ας ξεκινήσουμε με τα απαραίτητα υλικά.

Προμήθειες

  1. Raspberry pi (οποιοσδήποτε θα το κάνει, αν και χρησιμοποιώ 4)
  2. Κάρτα MicroSD με εγκατεστημένο το Raspbian (καλό σεμινάριο:
  3. Οθόνη HDMI και πηγή ενέργειας
  4. Καλώδιο Micro USB
  5. Μετατροπέας αναλογικού σε ψηφιακό Adafruit ADS 1115:
  6. Καλώδια βραχυκυκλωτήρων
  7. αισθητήρας φωτός (LDR)
  8. αισθητήρας θερμοκρασίας
  9. ποτενσιόμετρο x2 (η τιμή θα είναι το μέσο σημείο του εύρους αντίστασης των αισθητήρων θερμοκρασίας και φωτός, το οποίο θα μετρήσουμε αργότερα)
  10. 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: Συνδέστε το κύκλωμά σας

Wire Up Your Circuit
Wire Up Your Circuit

1. Συγκεντρώστε τα υλικά που αναφέρονται στη λίστα αναλωσίμων. Για τα ποτενσιόμετρα, χρησιμοποιήστε μια τιμή που είναι ο μέσος όρος των υψηλών και χαμηλών (ελαφρύ και σκοτεινό, ζεστό και κρύο).

(υψηλό-χαμηλό) / 2

2. Ακολουθήστε το διάγραμμα κυκλώματος παραπάνω:

  1. Συνδέστε το SDA στον αναλογικό σε ψηφιακό μετατροπέα σε SDA στο pi
  2. Συνδέστε το SCL στον αναλογικό σε ψηφιακό μετατροπέα σε SCL στο pi
  3. Συνδέστε το VDD στον αναλογικό σε ψηφιακό μετατροπέα σε 3,3v στο pi
  4. Συνδέστε το GND στον αναλογικό σε ψηφιακό μετατροπέα στη γείωση στο pi
  5. Συνδέστε τα υπόλοιπα εξαρτήματα σύμφωνα με το διάγραμμα κυκλώματος.

Βήμα 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

Συνιστάται: