Obsah:

Čtení a vykreslování dat světelných a teplotních senzorů s Raspberry Pi: 5 kroků
Čtení a vykreslování dat světelných a teplotních senzorů s Raspberry Pi: 5 kroků

Video: Čtení a vykreslování dat světelných a teplotních senzorů s Raspberry Pi: 5 kroků

Video: Čtení a vykreslování dat světelných a teplotních senzorů s Raspberry Pi: 5 kroků
Video: Honzův cyklovlog - díl 4. - Garmin Edge 840 - vyplatí se upgrade? dlouhodobý test a hodnocení 2024, Červenec
Anonim
Čtení a vykreslování dat senzoru světla a teploty pomocí Raspberry Pi
Čtení a vykreslování dat senzoru světla a teploty pomocí Raspberry Pi

V tomto Instructable se naučíte číst světelný a teplotní senzor s převodníkem maliny pi a analogového digitálního převodníku ADS1115 a grafovat jej pomocí matplotlib. Začněme s potřebnými materiály.

Zásoby

  1. Raspberry pi (někdo to udělá, i když používám 4)
  2. Karta MicroSD s nainstalovaným Raspbianem (dobrý návod:
  3. HDMI monitor a zdroj napájení
  4. Micro USB kabel
  5. Adafruit ADS 1115 analogově digitální převodník:
  6. Propojovací vodiče
  7. světelný senzor (LDR)
  8. senzor teploty
  9. potenciometr x2 (hodnota bude středem rozsahu odporu vašich teplotních a světelných senzorů, které změříme později)
  10. Prkénko

Krok 1: Nastavte si Raspberry Pi

1. Podle tohoto tutoriálu nastavte svůj malinový pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Povolit I2C: klikněte na symbol malinového pi vlevo nahoře. Přejděte do předvoleb> konfigurace raspberry pi> rozhraní> a zaškrtněte políčko „povolit“na I2C. Poté klikněte na OK. 3. Nyní otevřete okno terminálu. Na příkazovém řádku zadejte:

sudo apt-get upgrade

sudo pip3 nainstalujte adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Krok 2: Změřte si senzory světla a teploty

Nyní budeme muset změřit odpor senzorů světla a teploty. Vezměte voltmetr na nastavení měření odporu a změřte kabely světelného senzoru ve světle a ve tmě. Zaznamenejte hodnoty. Nyní vezměte voltmetr na přívody teplotního senzoru v horkém a studeném (použil jsem vodu). Zaznamenejte hodnoty. Použijeme je později v našem okruhu.

Krok 3: Zapojte obvod

Zapojte svůj obvod
Zapojte svůj obvod

1. Shromážděte materiály uvedené v seznamu spotřebního materiálu. Pro potenciometry použijte hodnotu, která je průměrem maxim a minim (světlých a tmavých, horkých a studených).

(vysoké- nízké) / 2

2. Postupujte podle výše uvedeného schématu zapojení:

  1. Připojte SDA na analogově digitální převodník k SDA na pí
  2. Připojte SCL na analogově digitální převodník k SCL na pí
  3. Připojte VDD na analogově digitální převodník na 3,3 V na pí
  4. Připojte GND na analogovém převodníku k uzemnění na pí
  5. Připojte ostatní součásti podle schématu zapojení.

Krok 4: Kód

1. Zadejte terminál:

nano digital.py

2. Vložte kód, který mám níže nebo na Githubu, do textového editoru, který by se měl objevit.

importovat matplotlib.pyplot jako 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 (' Level ') plt.title (' Light and temp over time ') plt.legend () while True: x += 5 Y1.append (light.value/30) X1.append (x) Y2.append (temp.value /3) X2. připojit (x) plt.plot (X1, Y1, label = "light", color = '#0069af') plt.plot (X2, Y2, label = "Temp", color = '#ff8000') plt.pause (300)

3. Nyní stiskněte CTRL+X pro ukončení, stiskněte y pro uložení, poté stiskněte enter.

Spusťte program zadáním terminálu:

sudo python3 digital.py

4. Upravte potenciometry tak, aby graf zobrazoval široký rozsah hodnot. Zkuste si posvítit na senzor a zhasnout světla v místnosti, abyste zajistili, že graf ukazuje široký rozsah hodnot.

Pokud některá z hodnot klesne pod dno, zkuste snížit odpovídající dělič (řádek 29 a 31).

Pokud některá z hodnot překračuje horní hranici, zkuste zvýšit odpovídající dělitel (řádek 29 a 31).

Krok 5: Odstraňování problémů

1. Zkontrolujte všechna připojení podle schématu zapojení

2. Detekce I2C - zobrazí vám všechna zařízení připojená přes i2c:

Zadejte terminál:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Doporučuje: