Spisu treści:

Odczytywanie i wykresy danych z czujnika światła i temperatury za pomocą Raspberry Pi: 5 kroków
Odczytywanie i wykresy danych z czujnika światła i temperatury za pomocą Raspberry Pi: 5 kroków

Wideo: Odczytywanie i wykresy danych z czujnika światła i temperatury za pomocą Raspberry Pi: 5 kroków

Wideo: Odczytywanie i wykresy danych z czujnika światła i temperatury za pomocą Raspberry Pi: 5 kroków
Wideo: Raspberry Pi Inteligentny Dom 2024, Czerwiec
Anonim
Odczytywanie i wykresy danych z czujnika światła i temperatury za pomocą Raspberry Pi
Odczytywanie i wykresy danych z czujnika światła i temperatury za pomocą Raspberry Pi

W tej instrukcji dowiesz się, jak odczytać czujnik światła i temperatury z konwerterem analogowo-cyfrowym raspberry pi i ADS1115 i wykreślić go za pomocą matplotlib. Zacznijmy od potrzebnych materiałów.

Kieszonkowe dzieci

  1. Raspberry pi (każdy zrobi, chociaż używam 4)
  2. Karta MicroSD z zainstalowanym Raspbianem (dobry samouczek:
  3. Monitor HDMI i źródło zasilania
  4. Kabel micro USB
  5. Konwerter analogowo-cyfrowy Adafruit ADS 1115:
  6. Przewody połączeniowe
  7. czujnik światła (LDR)
  8. czujnik temperatury
  9. potencjometr x2 (wartość będzie środkiem zakresu rezystancji twoich czujników temperatury i światła, które zmierzymy później)
  10. Deska do krojenia chleba

Krok 1: Skonfiguruj swoje Raspberry Pi

1. Postępuj zgodnie z tym samouczkiem, aby skonfigurować raspberry pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Włącz I2C: kliknij symbol raspberry pi w lewym górnym rogu. Przejdź do preferencji> konfiguracja raspberry pi> interfejsy> i zaznacz pole „włącz” na I2C. Następnie kliknij OK.3. Teraz otwórz okno terminala. W wierszu poleceń wpisz:

sudo apt-get upgrade

sudo pip3 zainstaluj adafruit-circuitpython-ads1x15

sudo apt-get zainstaluj python-matplotlib

Krok 2: Zmierz czujniki światła i temperatury

Teraz będziemy musieli zmierzyć rezystancję czujników światła i temperatury. Weź woltomierz do ustawienia pomiaru rezystancji i zmierz na przewodach czujnika światła w świetle i ciemności. Zapisz wartości. Teraz weź woltomierz na wyprowadzeniach czujnika temperatury w gorącej i zimnej (użyłem wody). Zapisz wartości. Użyjemy ich później w naszym obwodzie.

Krok 3: Podłącz obwód

Podłącz swój obwód
Podłącz swój obwód

1. Zbierz materiały wymienione na liście materiałów eksploatacyjnych. Dla potencjometrów użyj wartości, która jest średnią górną i dolną (jasny i ciemny, gorący i zimny).

(wysoki-niski) / 2

2. Postępuj zgodnie z powyższym schematem obwodu:

  1. Podłącz SDA na konwerterze analogowo-cyfrowym do SDA na pi
  2. Podłącz SCL na konwerterze analogowo-cyfrowym do SCL na pi
  3. Podłącz VDD na konwerterze analogowo-cyfrowym do 3.3 v na pi
  4. Podłącz GND na konwerterze analogowo-cyfrowym do masy na pi
  5. Połącz pozostałe elementy zgodnie ze schematem połączeń.

Krok 4: Kod

1. Wpisz terminal:

nano digital.py

2. Wklej kod, który mam poniżej lub na Github do edytora tekstu, który powinien się pojawić.

importuj matplotlib.pyplot jako plt

import numpy jako np import tablicy import busio import czasu import adafruit_ads1x15.ads1115 jako ADS z adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C(board. SCL, board. SDA) ads = ADS. ADS1115(i2c) x = 0 light = AnalogIn (reklamy, ADS. P0) temp = AnalogIn(reklamy, ADS. P1) X1 = X2 = Y1 = Y2 = plt.ylim(-50, 1000) plt.plot(X1, Y1, label = "jasny", kolor = '#0069af') plt.plot(X2, Y2, label = "Temp", kolor = '#ff8000') plt.xlabel('Czas(minuty)') plt.ylabel(' Poziom') plt.title('Światło i temperatura w czasie') plt.legend() podczas gdy True: x += 5 Y1.append(wartość.światła/30) X1.append(x) Y2.append(wartość.temp. /3) X2.append(x) plt.plot(X1, Y1, label = "jasny", kolor = '#0069af') plt.plot(X2, Y2, label = "Temp", kolor = '#ff8000')) pl.pauza(300)

3. Teraz naciśnij CTRL+X, aby wyjść, naciśnij y, aby zapisać, a następnie naciśnij enter.

Uruchom swój program, wpisując terminal:

sudo python3 digital.py

4. Ustaw potencjometry tak, aby wykres pokazywał szeroki zakres wartości. Spróbuj oświetlić czujnik i zgasić światło w pomieszczeniu, aby wykres pokazywał szeroki zakres wartości.

Jeśli którakolwiek z wartości spadnie poniżej dna, spróbuj obniżyć odpowiedni dzielnik (linia 29 i 31).

Jeśli któraś z wartości przekracza górną część, spróbuj zwiększyć odpowiedni dzielnik (linia 29 i 31).

Krok 5: Rozwiązywanie problemów

1. Dokładnie sprawdź wszystkie połączenia ze schematem połączeń

2. Wykrywanie I2C - pokaże wszystkie urządzenia podłączone przez i2c:

Wpisz terminal:

sudo apt-get zainstaluj i2c-tools

sudo i2cdetect - y 1

Zalecana: