İçindekiler:

Raspberry Pi ile Işık ve Sıcaklık Sensörü Verilerini Okuma ve Grafikleme: 5 Adım
Raspberry Pi ile Işık ve Sıcaklık Sensörü Verilerini Okuma ve Grafikleme: 5 Adım

Video: Raspberry Pi ile Işık ve Sıcaklık Sensörü Verilerini Okuma ve Grafikleme: 5 Adım

Video: Raspberry Pi ile Işık ve Sıcaklık Sensörü Verilerini Okuma ve Grafikleme: 5 Adım
Video: Raspberry Pi ve IoT Uygulamaları 2024, Kasım
Anonim
Raspberry Pi ile Işık ve Sıcaklık Sensörü Verilerini Okuma ve Grafikleme
Raspberry Pi ile Işık ve Sıcaklık Sensörü Verilerini Okuma ve Grafikleme

Bu Eğitilebilir Kitapta, ahududu pi ve ADS1115 analogdan dijitale dönüştürücü ile bir ışık ve sıcaklık sensörünün nasıl okunacağını ve matplotlib kullanarak grafiğinin nasıl çizileceğini öğreneceksiniz. Gerekli malzemelerle başlayalım.

Gereçler

  1. Ahududu pi (4 kullanmama rağmen herhangi biri yapacak)
  2. Raspbian yüklü MicroSD kart (iyi eğitim:
  3. HDMI monitör ve güç kaynağı
  4. Mikro USB kablosu
  5. Adafruit ADS 1115 analogdan dijitale dönüştürücü:
  6. Atlama telleri
  7. ışık sensörü (LDR)
  8. Sıcaklık sensörü
  9. potansiyometre x2 (değer, daha sonra ölçeceğimiz sıcaklık ve ışık sensörlerinizin direnç aralığının orta noktası olacaktır)
  10. ekmek tahtası

1. Adım: Raspberry Pi'nizi Kurun

1. Ahududu pi'nizi ayarlamak için bu öğreticiyi izleyin:https://www.raspberrypi.org/help/noobs-setup/2/2. I2C'yi etkinleştirin: sol üstteki ahududu pi sembolüne tıklayın. Tercihler > ahududu pi konfigürasyonu > arayüzler > seçeneğine gidin ve I2C'de "etkinleştir" kutusunu işaretleyin. Ardından Tamam'a tıklayın.3. Şimdi bir terminal penceresi açın. Komut satırına şunu yazın:

sudo apt-get yükseltme

sudo pip3 adafruit-circuitpython-ads1x15'i kurun

sudo apt-get install python-matplotlib

Adım 2: Işık ve Sıcaklık Sensörlerinizi Ölçün

Şimdi ışık ve sıcaklık sensörlerinin direncini ölçmemiz gerekecek. Direnç ölçümü ayarında bir volt metre alın ve ışık sensörünüzün ışık ve karanlıkta uçlarını ölçün. Değerleri kaydedin. Şimdi voltmetrenizi sıcak ve soğukta sıcaklık sensörünüzün uçlarına alın (su kullandım). Değerleri kaydedin. Bunları daha sonra devremizde kullanacağız.

Adım 3: Devrenizi Bağlayın

Devrenizi Bağlayın
Devrenizi Bağlayın

1. Sarf malzemeleri listesinde listelenen malzemeleri toplayın. Potansiyometreler için en yüksek ve en düşük değerlerin (açık ve koyu, sıcak ve soğuk) ortalaması olan bir değer kullanın.

(yüksek-düşük) / 2

2. Yukarıdaki devre şemasını takip edin:

  1. Analog-dijital dönüştürücü üzerindeki SDA'yı pi üzerindeki SDA'ya bağlayın
  2. Analog-dijital dönüştürücüdeki SCL'yi pi üzerindeki SCL'ye bağlayın
  3. Analog-dijital dönüştürücüdeki VDD'yi pi üzerindeki 3.3v'ye bağlayın
  4. Analogdan dijitale dönüştürücü üzerindeki GND'yi pi üzerinde toprağa bağlayın
  5. Geri kalan bileşenleri devre şemasına göre bağlayın.

4. Adım: Kod

1. Terminali yazın:

nano dijital.py

2. Aşağıda veya Github'da bulunan kodu, çıkması gereken metin düzenleyiciye yapıştırın.

matplotlib.pyplot'u plt olarak içe aktar

numpy'yi np olarak içe aktar kartı içe aktar busio içe aktar zamanı içe aktar adafruit_ads1x15.ads1115'i adafruit_ads1x15.analog_in'den ADS olarak içe aktar AnalogIn i2c = busio. I2C(board. SCL, board. SDA) ads = ADS. ADS1115(i2c) x = 0 light =In AnalogIn (ads, ADS. P0) temp = AnalogIn(ads, ADS. P1) X1 = X2 = Y1 = Y2 = plt.ylim(-50, 1000) plt.plot(X1, Y1,) etiket = "hafif", renk = '#0069af') plt.plot(X2, Y2, etiket = "Sıcaklık", renk = '#ff8000') plt.xlabel('Zaman(dakika)') plt.ylabel(' Level') plt.title('Zaman içinde ışık ve sıcaklık') plt.legend() while True: x += 5 Y1.append(light.value/30) X1.append(x) Y2.append(temp.value) /3) X2.append(x) plt.plot(X1, Y1, etiket = "hafif", renk = '#0069af') plt.plot(X2, Y2, etiket = "Sıcaklık", renk = '#ff8000') plt.duraklat(300)

3. Şimdi çıkmak için CTRL+X'e basın, kaydetmek için y'ye basın, ardından enter'a basın.

Terminalde yazarak programınızı çalıştırın:

sudo python3 dijital.py

4. Potansiyometreleri, grafik geniş bir değerler aralığı gösterecek şekilde ayarlayın. Grafiğin çok çeşitli değerler gösterdiğinden emin olmak için sensöre bir ışık tutmayı ve odadaki ışıkları kapatmayı deneyin.

Değerlerden herhangi biri dibin altına düşerse, karşılık gelen böleni düşürmeyi deneyin (satır 29 ve 31).

Değerlerden herhangi biri üstten yukarı çıkarsa, karşılık gelen böleni artırmayı deneyin (satır 29 ve 31).

Adım 5: Sorun Giderme

1. Tüm bağlantıları devre şemasına göre iki kez kontrol edin

2. I2C algılama - i2c üzerinden bağlanan tüm cihazları size gösterir:

Terminali yazın:

sudo apt-get install i2c araçları

sudo i2cdetect - y 1

Önerilen: