Indholdsfortegnelse:

Læsning og tegning af lys- og temperatursensordata med hindbær Pi: 5 trin
Læsning og tegning af lys- og temperatursensordata med hindbær Pi: 5 trin

Video: Læsning og tegning af lys- og temperatursensordata med hindbær Pi: 5 trin

Video: Læsning og tegning af lys- og temperatursensordata med hindbær Pi: 5 trin
Video: Brug af Melexis MLX90614 Infrarødt termometer med Arduino 2024, Juli
Anonim
Læsning og tegning af lys- og temperatursensordata med hindbær Pi
Læsning og tegning af lys- og temperatursensordata med hindbær Pi

I denne instruks kan du lære at læse en lys- og temperatursensor med hindbær pi og ADS1115 analog til digital konverter og tegne den ved hjælp af matplotlib. Lad os starte med de nødvendige materialer.

Forbrugsvarer

  1. Hindbær pi (enhver vil gøre, selvom jeg bruger en 4)
  2. MicroSD -kort med Raspbian installeret (god vejledning:
  3. HDMI -skærm og strømkilde
  4. Micro USB kabel
  5. Adafruit ADS 1115 analog til digital konverter:
  6. Jumper ledninger
  7. lyssensor (LDR)
  8. temperatur måler
  9. potentiometer x2 (værdien vil være midtpunktet i modstandsområdet for dine temperatur- og lyssensorer, som vi måler senere)
  10. Brødbræt

Trin 1: Konfigurer din Raspberry Pi

1. Følg denne vejledning for at konfigurere din hindbær pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Aktiver I2C: klik på hindbær pi -symbolet øverst til venstre. Gå til præferencer> hindbær pi -konfiguration> grænseflader> og marker afkrydsningsfeltet "aktiver" på I2C. Klik derefter på OK.3. Åbn nu et terminalvindue. Skriv på kommandolinjen:

sudo apt-get opgradering

sudo pip3 installer adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Trin 2: Mål dine lys- og temperatursensorer

Nu skal vi måle lys- og temperatursensorernes modstand. Tag en voltmåler på indstilling af modstandsmåling og mål på tværs af ledningerne på din lyssensor i lys og mørke. Registrer værdierne. Tag nu din voltmåler på ledningerne på din temperatursensor i varmt og koldt (jeg brugte vand). Registrer værdierne. Vi vil bruge dem senere i vores kredsløb.

Trin 3: Tilslut dit kredsløb

Forbind dit kredsløb
Forbind dit kredsløb

1. Saml de materialer, der er angivet på forsyningslisten. For potentiometrene skal du bruge en værdi, der er gennemsnittet af op- og nedture (lys og mørk, varm og kold).

(høj-lav) / 2

2. Følg kredsløbsdiagrammet ovenfor:

  1. Tilslut SDA på den analoge til digitale konverter til SDA på pi
  2. Tilslut SCL på den analoge til digitale konverter til SCL på pi
  3. Tilslut VDD på den analoge til digitale omformer til 3,3v på pi
  4. Tilslut GND på den analoge til digitale konverter til jord på pi
  5. Tilslut resten af komponenterne i henhold til kredsløbsdiagrammet.

Trin 4: Kode

1. Indtast terminal:

nano digital.py

2. Indsæt koden, jeg har nedenfor eller på Github, i teksteditoren, der skal vises.

import matplotlib.pyplot som plt

import numpy as np import board import busio import time 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 (annoncer, ADS. P0) temp = AnalogIn (annoncer, 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 () mens 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. Tryk nu på CTRL+X for at afslutte, tryk på y for at gemme, og tryk derefter på enter.

Kør dit program ved at skrive i terminal:

sudo python3 digital.py

4. Juster potentiometrene, så grafen viser en lang række værdier. Prøv at skinne et lys ved sensoren og slukke lyset i rummet for at sikre, at grafen viser en lang række værdier.

Hvis en af værdierne falder under bunden, kan du prøve at sænke den tilsvarende divisor (linje 29 og 31).

Hvis en af værdierne går over toppen, kan du prøve at øge den tilsvarende divisor (linje 29 og 31).

Trin 5: Fejlfinding

1. Dobbelttjek alle forbindelser mod kredsløbsdiagrammet

2. I2C -registrering - Viser dig alle enheder, der er tilsluttet via i2c:

Indtast terminal:

sudo apt-get install i2c-værktøjer

sudo i2cdetect - y 1

Anbefalede: