Obsah:

Čítanie a vykresľovanie údajov senzora svetla a teploty pomocou Raspberry Pi: 5 krokov
Čítanie a vykresľovanie údajov senzora svetla a teploty pomocou Raspberry Pi: 5 krokov
Anonim
Čítanie a vykresľovanie údajov senzora svetla a teploty pomocou Raspberry Pi
Čítanie a vykresľovanie údajov senzora svetla a teploty pomocou Raspberry Pi

V tomto návode sa naučíte čítať snímač svetla a teploty s analógovým a digitálnym prevodníkom maliny pi a ADS1115 a vykresľovať ho pomocou matplotlib. Začnime s potrebnými materiálmi.

Zásoby

  1. Raspberry pi (urobí to každý, aj keď používam 4)
  2. Karta MicroSD s nainštalovaným Raspbianom (dobrý návod:
  3. HDMI monitor a zdroj napájania
  4. Micro USB kábel
  5. Adafruit ADS 1115 analógovo -digitálny prevodník:
  6. Prepojovacie vodiče
  7. svetelný senzor (LDR)
  8. teplotný senzor
  9. potenciometer x2 (hodnota bude stredným bodom rozsahu odporu vašich senzorov teploty a svetla, ktorý zmeriame neskôr)
  10. Breadboard

Krok 1: Nastavte si Raspberry Pi

1. Podľa tohto tutoriálu nastavte svoj malinový pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Povoliť I2C: kliknite na symbol malinového pi vľavo hore. Prejdite na predvoľby> konfigurácia maliny pi> rozhrania> a začiarknite políčko „povoliť“na I2C. Potom kliknite na tlačidlo OK. 3. Teraz otvorte okno terminálu. Na príkazovom riadku zadajte:

sudo apt-get upgrade

sudo pip3 nainštalujte adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Krok 2: Zmerajte si senzory svetla a teploty

Teraz budeme musieť zmerať odpor senzorov svetla a teploty. Vykonajte voltmetr na nastavení merania odporu a zmerajte naprieč vodičmi senzora svetla vo svetle a tme. Zaznamenajte hodnoty. Teraz vezmite voltmeter na vodiče teplotného senzora v horúcom a studenom (použil som vodu). Zaznamenajte hodnoty. Neskôr ich použijeme v našom obvode.

Krok 3: Zapojte obvod

Zapojte svoj obvod
Zapojte svoj obvod

1. Zhromaždite materiály uvedené v zozname spotrebných materiálov. Pre potenciometre použite hodnotu, ktorá je priemerom najvyšších a najnižších hodnôt (svetlých a tmavých, teplých a studených).

(vysoké- nízke) / 2

2. Postupujte podľa schémy zapojenia vyššie:

  1. Pripojte SDA na analógovo -digitálnom prevodníku k SDA na obrázku
  2. Pripojte SCL na analógovo -digitálnom prevodníku k SCL na pi
  3. Pripojte VDD na analógovo -digitálnom prevodníku k 3,3 V na pi
  4. Pripojte GND na analógovo -digitálnom prevodníku k zemi na pi
  5. Pripojte ostatné komponenty podľa schémy zapojenia.

Krok 4: Kód

1. Zadajte terminál:

nano digital.py

2. Vložte kód, ktorý mám nižšie alebo na Github, do textového editora, ktorý by sa mal objaviť.

import matplotlib.pyplot ako 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 ('Time (minutes)') plt.ylabel (' Úroveň ') plt.title (' Svetlo a teplota v priebehu času ') plt.legend () while True: x += 5 Y1.append (light.value/30) X1.append (x) Y2.append (teplota tepl. /3) X2. pridať (x) plt.plot (X1, Y1, label = "light", color = '#0069af') plt.plot (X2, Y2, label = "Temp", color = '#ff8000') plt.pause (300)

3. Teraz stlačením klávesov CTRL+X ukončite operáciu, stlačením y uložte a potom stlačte kláves Enter.

Spustite program zadaním terminálu:

sudo python3 digital.py

4. Nastavte potenciometre tak, aby graf zobrazoval široký rozsah hodnôt. Skúste posvietiť na snímač a vypnúť svetlá v miestnosti, aby ste sa presvedčili, že graf zobrazuje široký rozsah hodnôt.

Ak niektorá z hodnôt klesne pod dno, skúste znížiť príslušný deliteľ (riadok 29 a 31).

Ak niektorá z hodnôt prekročí vrchol, skúste zvýšiť príslušný deliteľ (riadok 29 a 31).

Krok 5: Riešenie problémov

1. Dvakrát skontrolujte všetky pripojenia podľa schémy zapojenia

2. Detekcia I2C - zobrazí vám všetky zariadenia pripojené prostredníctvom i2c:

Zadajte terminál:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Odporúča: