INHOUDSOPGAWE:

Lees en grafiek van lig- en temperatuursensordata met Framboos Pi: 5 stappe
Lees en grafiek van lig- en temperatuursensordata met Framboos Pi: 5 stappe

Video: Lees en grafiek van lig- en temperatuursensordata met Framboos Pi: 5 stappe

Video: Lees en grafiek van lig- en temperatuursensordata met Framboos Pi: 5 stappe
Video: BE553 -Topic 2 Tutorial 2: Analysing viability assays and IC50s 2024, November
Anonim
Gegee data en lig en temperatuur sensor data met framboos Pi
Gegee data en lig en temperatuur sensor data met framboos Pi

In hierdie instruksies leer u hoe u 'n lig- en temperatuursensor kan lees met framboos pi en ADS1115 analoog na digitaal omskakelaar en dit met matplotlib kan teken. Kom ons begin met die nodige materiaal.

Voorrade

  1. Framboos pi (enige een sal doen, alhoewel ek 'n 4 gebruik)
  2. MicroSD -kaart met Raspbian geïnstalleer (goeie handleiding:
  3. HDMI -monitor en kragbron
  4. Mikro USB kabel
  5. Adafruit ADS 1115 analoog na digitaal omskakelaar:
  6. Springdrade
  7. ligsensor (LDR)
  8. Temperatuur sensor
  9. potensiometer x2 (waarde is die middelpunt van die weerstandsbereik van u temperatuur- en ligsensors, wat ons later sal meet)
  10. Broodbord

Stap 1: Stel u Framboos Pi op

1. Volg hierdie tutoriaal om die framboos-pi op te stel: https://www.raspberrypi.org/help/noobs-setup/2/2. Aktiveer I2C: klik op die framboos pi -simbool links bo. Gaan na voorkeure> framboos pi -konfigurasie> koppelvlakke> en merk die kassie "aktiveer" op I2C. Klik dan op OK.3. Maak nou 'n terminale venster oop. Tik op die opdragreël:

sudo apt-get upgrade

sudo pip3 installeer adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Stap 2: Meet u lig- en temperatuursensors

Nou moet ons die weerstand van lig- en temperatuursensors meet. Neem 'n voltmeter oor die weerstandsmeting en meet in die lig en in die lig van die ligsensor. Teken die waardes aan. Neem nou u voltmeter op die leidings van u temperatuursensor in warm en koue (ek het water gebruik). Teken die waardes aan. Ons sal dit later in ons kring gebruik.

Stap 3: Skakel u stroombaan op

Maak 'n draai by jou kring
Maak 'n draai by jou kring

1. Versamel die materiaal wat in die voorraadlys verskyn. Gebruik vir die potensiometers 'n waarde wat die gemiddelde van die hoogte- en laagtepunte is (lig en donker, warm en koud).

(hoog- laag) / 2

2. Volg die stroombaan diagram hierbo:

  1. Koppel SDA op die analoog na digitale omskakelaar aan SDA op die pi
  2. Koppel SCL op die analoog na digitale omskakelaar aan SCL op die pi
  3. Koppel VDD op die analoog -na -digitale omskakelaar aan op 3.3v op die pi
  4. Koppel GND op die analoog -na -digitale omskakelaar aan op die pi
  5. Verbind die res van die komponente volgens die stroombaandiagram.

Stap 4: Kode

1. Tik terminale in:

nano digital.py

2. Plak die kode wat ek hieronder of op Github het in die teksredigeerder wat moet verskyn.

voer matplotlib.pyplot in as 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 (advertensies, ADS. P0) temp = AnalogIn (advertensies, 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 () terwyl True: x += 5 Y1.append (light.value/30) X1.append (x) Y2.append (temp.value /3) X2.voeg (x) plt.plot (X1, Y1, label = "light", color = '#0069af') plt.plot (X2, Y2, label = "Temp", color = '#ff8000') pouse (300)

3. Druk nou CTRL+X om af te sluit, druk y om op te slaan en druk dan op enter.

Begin u program deur in terminale te tik:

sudo python3 digital.py

4. Pas die potensiometers aan sodat die grafiek 'n wye reeks waardes toon. Probeer 'n lig by die sensor skyn en die ligte in die kamer afskakel om te verseker dat die grafiek 'n wye reeks waardes toon.

As een van die waardes onder die bodem val, probeer om die ooreenstemmende verdeler (reël 29 en 31) te verlaag.

As een van die waardes bo die bokant gaan, probeer om die ooreenstemmende deler (reël 29 en 31) te verhoog.

Stap 5: Probleemoplossing

1. Kontroleer alle aansluitings teen die kringdiagram

2. I2C -opsporing - sal u alle toestelle wys wat met i2c verbind is:

Tik terminale in:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Aanbeveel: