Talaan ng mga Nilalaman:

Ang Pagbasa at Pag-grap ng Banayad at Temperatura ng Sensor ng Data Sa Raspberry Pi: 5 Hakbang
Ang Pagbasa at Pag-grap ng Banayad at Temperatura ng Sensor ng Data Sa Raspberry Pi: 5 Hakbang

Video: Ang Pagbasa at Pag-grap ng Banayad at Temperatura ng Sensor ng Data Sa Raspberry Pi: 5 Hakbang

Video: Ang Pagbasa at Pag-grap ng Banayad at Temperatura ng Sensor ng Data Sa Raspberry Pi: 5 Hakbang
Video: Вот это постанова ► 6 Прохождение Silent Hill Origins (PS2) 2024, Nobyembre
Anonim
Pagbasa at Pagkuha ng Banayad at Temperatura ng Sensor ng Data Sa Raspberry Pi
Pagbasa at Pagkuha ng Banayad at Temperatura ng Sensor ng Data Sa Raspberry Pi

Sa Instructable na ito matututunan mo kung paano basahin ang isang ilaw at temperatura sensor na may raspberry pi at ADS1115 analog sa digital converter at i-grap ito gamit ang matplotlib. Magsisimula tayo sa mga kinakailangang materyal.

Mga gamit

  1. Raspberry pi (anumang gagawin, kahit na gumagamit ako ng 4)
  2. MicroSD card na may naka-install na Raspbian (magandang tutorial:
  3. HDMI monitor at mapagkukunan ng kuryente
  4. Micro USB cable
  5. Adafruit ADS 1115 analog sa digital converter:
  6. Jumper wires
  7. light sensor (LDR)
  8. temperatura sensor
  9. potentiometer x2 (ang halaga ay magiging midpoint ng saklaw ng paglaban ng iyong temp at light sensor, na susukat namin sa paglaon)
  10. Breadboard

Hakbang 1: I-set up ang Iyong Raspberry Pi

1. Sundin ang tutorial na ito upang mai-set up ka ng raspberry pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Paganahin ang I2C: i-click ang simbolo ng raspberry pi sa kaliwang itaas. Pumunta sa mga kagustuhan> pagsasaayos ng raspberry pi> mga interface> at lagyan ng tsek ang kahon na "paganahin" sa I2C. Pagkatapos i-click ang OK.3. Ngayon buksan ang isang window ng terminal. Sa uri ng linya ng utos:

sudo apt-get upgrade

sudo pip3 i-install ang adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Hakbang 2: Sukatin ang Iyong Mga Sensor ng Ilaw at Temperatura

Ngayon ay kakailanganin nating sukatin ang paglaban ng ilaw at temperatura ng mga sensor. Kumuha ng isang volt meter sa setting ng pagsukat ng pagtutol at sukatin ang mga lead ng iyong light sensor sa ilaw at sa dilim. Itala ang mga halaga. Ngayon kunin ang iyong volt meter sa mga lead ng iyong temperatura sensor sa mainit at sa lamig (Gumamit ako ng tubig). Itala ang mga halaga. Gagamitin namin ang mga ito sa ibang pagkakataon sa aming circuit.

Hakbang 3: Wire Up Ang iyong Circuit

Wire Up Ang iyong Circuit
Wire Up Ang iyong Circuit

1. Ipunin ang mga nakalistang materyales sa listahan ng mga supply. Para sa mga potensyal, gumamit ng isang halaga na ang average ng mga matataas at mababa (magaan at madilim, mainit at malamig).

(mataas- mababa) / 2

2. Sundin ang circuit diagram sa itaas:

  1. Ikonekta ang SDA sa analog sa digital converter sa SDA sa pi
  2. Ikonekta ang SCL sa analog sa digital converter sa SCL sa pi
  3. Ikonekta ang VDD sa analog sa digital converter sa 3.3v sa pi
  4. Ikonekta ang GND sa analog sa digital converter sa ground sa pi
  5. Ikonekta ang natitirang bahagi ayon sa diagram ng circuit.

Hakbang 4: Code

1. Mag-type sa terminal:

nano digital.py

2. Idikit ang code na mayroon ako sa ibaba o sa Github sa text editor na dapat lumitaw.

i-import ang matplotlib.pyplot bilang 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 (ads, ADS. P0) temp = AnalogIn (ads, 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 ('Oras (minuto)') plt.ylabel (' Antas ') plt.title (' Banayad at temp sa paglipas ng panahon ') plt.legend () habang Totoo: 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. Ngayon pindutin ang CTRL + X upang lumabas, pindutin ang y upang makatipid, pagkatapos ay pindutin ang enter.

Patakbuhin ang iyong programa sa pamamagitan ng pagta-type sa terminal:

sudo python3 digital.py

4. Ayusin ang mga potentiometers upang ang grap ay nagpapakita ng isang malawak na hanay ng mga halaga. Subukang magningning ng ilaw sa sensor at patayin ang mga ilaw sa silid upang matiyak na ang grap ay nagpapakita ng isang malawak na hanay ng mga halaga.

Kung ang alinman sa mga halagang isawsaw sa ibaba ng ibaba, subukang babaan ang kaukulang tagahati (linya 29 at 31).

Kung ang alinman sa mga halagang nagpunta sa itaas ng tuktok, subukang dagdagan ang kaukulang tagahati (linya 29 at 31).

Hakbang 5: Pag-troubleshoot

1. I-double check ang lahat ng mga koneksyon laban sa diagram ng circuit

2. Nakita ng I2C - Ipapakita sa iyo ang lahat ng mga aparato na konektado sa pamamagitan ng i2c:

I-type sa terminal:

sudo apt-get install i2c-tool

sudo i2cdetect - y 1

Inirerekumendang: