Inhaltsverzeichnis:

Lesen und grafische Darstellung von Licht- und Temperatursensordaten mit Raspberry Pi - Gunook
Lesen und grafische Darstellung von Licht- und Temperatursensordaten mit Raspberry Pi - Gunook

Video: Lesen und grafische Darstellung von Licht- und Temperatursensordaten mit Raspberry Pi - Gunook

Video: Lesen und grafische Darstellung von Licht- und Temperatursensordaten mit Raspberry Pi - Gunook
Video: Raspberry Pi, Temperatursensoren, Relais -Karte, GPIO, 1-wire, Heizungssteuerung, GUI, DS18B20 2024, November
Anonim
Lesen und grafische Darstellung von Licht- und Temperatursensordaten mit Raspberry Pi
Lesen und grafische Darstellung von Licht- und Temperatursensordaten mit Raspberry Pi

In diesem Instructable erfahren Sie, wie Sie einen Licht- und Temperatursensor mit Himbeer-Pi und ADS1115-Analog-Digital-Wandler lesen und mit Matplotlib grafisch darstellen. Beginnen wir mit den benötigten Materialien.

Lieferungen

  1. Raspberry Pi (jeder wird tun, obwohl ich einen 4 verwende)
  2. MicroSD-Karte mit installiertem Raspbian (gutes Tutorial:
  3. HDMI-Monitor und Stromquelle
  4. Micro-USB-Kabel
  5. Adafruit ADS 1115 Analog-Digital-Wandler:
  6. Überbrückungsdrähte
  7. Lichtsensor (LDR)
  8. Temperatursensor
  9. Potentiometer x2 (Wert ist der Mittelpunkt des Widerstandsbereichs Ihrer Temperatur- und Lichtsensoren, den wir später messen werden)
  10. Steckbrett

Schritt 1: Richten Sie Ihren Raspberry Pi ein

1. Folgen Sie diesem Tutorial, um Ihren Raspberry Pi einzurichten: https://www.raspberrypi.org/help/noobs-setup/2/2. I2C aktivieren: Klicken Sie oben links auf das Himbeer-Pi-Symbol. Gehen Sie zu Einstellungen> Himbeer-Pi-Konfiguration> Schnittstellen> und aktivieren Sie das Kontrollkästchen "Aktivieren" auf I2C. Klicken Sie dann auf OK.3. Öffnen Sie nun ein Terminalfenster. Geben Sie in der Befehlszeile Folgendes ein:

sudo apt-get upgrade

sudo pip3 installieren adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Schritt 2: Messen Sie Ihre Licht- und Temperatursensoren

Jetzt müssen wir den Widerstand der Licht- und Temperatursensoren messen. Nehmen Sie ein Voltmeter zur Einstellung der Widerstandsmessung und messen Sie über die Leitungen Ihres Lichtsensors im Hellen und im Dunkeln. Notieren Sie die Werte. Nehmen Sie nun Ihr Voltmeter an den Leitungen Ihres Temperatursensors in heiß und kalt (ich habe Wasser verwendet). Notieren Sie die Werte. Wir werden sie später in unserer Schaltung verwenden.

Schritt 3: Verdrahten Sie Ihre Schaltung

Verdrahten Sie Ihre Schaltung
Verdrahten Sie Ihre Schaltung

1. Sammeln Sie die in der Verbrauchsmaterialliste aufgeführten Materialien. Verwenden Sie für die Potentiometer einen Wert, der dem Durchschnitt der Höhen und Tiefen (hell und dunkel, heiß und kalt) entspricht.

(hoch-tief) / 2

2. Folgen Sie dem obigen Schaltplan:

  1. Verbinden Sie SDA auf dem Analog-Digital-Wandler mit SDA auf dem Pi
  2. Verbinden Sie SCL am Analog-Digital-Wandler mit SCL am Pi
  3. Verbinden Sie VDD am Analog-Digital-Wandler mit 3,3 V am Pi
  4. Verbinden Sie GND am Analog-Digital-Wandler mit Masse am Pi
  5. Schließen Sie die restlichen Komponenten gemäß Schaltplan an.

Schritt 4: Code

1. Terminal eingeben:

nano digital.py

2. Fügen Sie den Code, den ich unten oder auf Github habe, in den Texteditor ein, der erscheinen sollte.

import matplotlib.pyplot als plt

import numpy as np import board import busio import time import adafruit_ads1x15.ads1115 als ADS von adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C(board. SCL, board. SDA) ads = ADS. ADS1115(i2c) x = 0 light = AnalogIn (Werbung, ADS. P0) temp = AnalogIn(Werbung, 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('Licht und Temperatur im Laufe der Zeit') 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. Drücken Sie nun STRG+X zum Beenden, drücken Sie y zum Speichern und drücken Sie dann die Eingabetaste.

Führen Sie Ihr Programm aus, indem Sie im Terminal Folgendes eingeben:

sudo python3 digital.py

4. Stellen Sie die Potentiometer so ein, dass die Grafik einen breiten Wertebereich anzeigt. Versuchen Sie, den Sensor mit Licht zu beleuchten und das Licht im Raum auszuschalten, um sicherzustellen, dass die Grafik einen breiten Wertebereich anzeigt.

Wenn einer der Werte unter den Boden fällt, versuchen Sie, den entsprechenden Divisor zu senken (Zeile 29 und 31).

Wenn einer der Werte über die Spitze hinausgeht, versuchen Sie, den entsprechenden Divisor zu erhöhen (Zeile 29 und 31).

Schritt 5: Fehlerbehebung

1. Überprüfen Sie alle Anschlüsse anhand des Schaltplans

2. I2C-Erkennung - Zeigt alle über i2c angeschlossenen Geräte an:

Terminal eingeben:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Empfohlen: