Obsah:
- Zásoby
- Krok 1: Nastavte si Raspberry Pi
- Krok 2: Změřte si senzory světla a teploty
- Krok 3: Zapojte obvod
- Krok 4: Kód
- Krok 5: Odstraňování problémů
Video: Čtení a vykreslování dat světelných a teplotních senzorů s Raspberry Pi: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
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
- Raspberry pi (někdo to udělá, i když používám 4)
- Karta MicroSD s nainstalovaným Raspbianem (dobrý návod:
- HDMI monitor a zdroj napájení
- Micro USB kabel
- Adafruit ADS 1115 analogově digitální převodník:
- Propojovací vodiče
- světelný senzor (LDR)
- senzor teploty
- potenciometr x2 (hodnota bude středem rozsahu odporu vašich teplotních a světelných senzorů, které změříme později)
- 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
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í:
- Připojte SDA na analogově digitální převodník k SDA na pí
- Připojte SCL na analogově digitální převodník k SCL na pí
- Připojte VDD na analogově digitální převodník na 3,3 V na pí
- Připojte GND na analogovém převodníku k uzemnění na pí
- 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:
Vykreslování živých dat teplotního senzoru (TMP006) pomocí MSP432 LaunchPad a Pythonu: 9 kroků
Vykreslování živých dat teplotního senzoru (TMP006) pomocí MSP432 LaunchPad a Pythonu: TMP006 je teplotní senzor, který měří teplotu objektu bez nutnosti kontaktu s objektem. V tomto tutoriálu vykreslíme data o živé teplotě z BoosterPack (TI BOOSTXL-EDUMKII) pomocí Pythonu
Několik infračervených teplotních senzorů - MLX90614: 4 kroky
Několik infračervených teplotních senzorů - MLX90614: Toto je stručný návod, jak nastavit více bezkontaktních teplotních senzorů MLX90614B přes sběrnici I2C s Arduino uno a zobrazovat údaje na sériovém monitoru Arduino IDE. Používám předem připravené desky, ale pokud si koupíte senzor b
Čtení dat ultrazvukového senzoru (HC-SR04) na displeji 128 × 128 LCD a jeho vizualizace pomocí Matplotlib: 8 kroků
Čtení dat ultrazvukového senzoru (HC-SR04) na displeji 128 × 128 LCD a jeho vizualizace pomocí Matplotlib: V tomto pokynu použijeme MSP432 LaunchPad + BoosterPack k zobrazení dat ultrazvukového senzoru (HC-SR04) na 128 × 128 LCD a odesílejte data sériově do PC a vizualizujte je pomocí Matplotlib
Síť teplotních senzorů: 6 kroků
Síť teplotních senzorů: Teplota a vlhkost jsou životně důležité údaje ve vaší laboratoři, kuchyni, výrobní lince, kanceláři, zabijáckých robotech a dokonce i ve vaší domácnosti. Pokud potřebujete monitorovat více míst nebo místností nebo prostor, potřebujete něco, co je spolehlivé, kompaktní, přesné a
Testování teplotních senzorů - který z nich pro mě?: 15 kroků (s obrázky)
Testování teplotních senzorů - který z nich pro mě? Čtyři z nejpopulárnějších senzorů jsou TMP36, který má analogový výstup a potřebuje převodník analogového na digitální signál, DS18B20, který