İçindekiler:
- Gereçler
- 1. Adım: Raspberry Pi'nizi Kurun
- Adım 2: Işık ve Sıcaklık Sensörlerinizi Ölçün
- Adım 3: Devrenizi Bağlayın
- 4. Adım: Kod
- Adım 5: Sorun Giderme
Video: Raspberry Pi ile Işık ve Sıcaklık Sensörü Verilerini Okuma ve Grafikleme: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
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
- Ahududu pi (4 kullanmama rağmen herhangi biri yapacak)
- Raspbian yüklü MicroSD kart (iyi eğitim:
- HDMI monitör ve güç kaynağı
- Mikro USB kablosu
- Adafruit ADS 1115 analogdan dijitale dönüştürücü:
- Atlama telleri
- ışık sensörü (LDR)
- Sıcaklık sensörü
- potansiyometre x2 (değer, daha sonra ölçeceğimiz sıcaklık ve ışık sensörlerinizin direnç aralığının orta noktası olacaktır)
- 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
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:
- Analog-dijital dönüştürücü üzerindeki SDA'yı pi üzerindeki SDA'ya bağlayın
- Analog-dijital dönüştürücüdeki SCL'yi pi üzerindeki SCL'ye bağlayın
- Analog-dijital dönüştürücüdeki VDD'yi pi üzerindeki 3.3v'ye bağlayın
- Analogdan dijitale dönüştürücü üzerindeki GND'yi pi üzerinde toprağa bağlayın
- 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:
MSP432 LaunchPad ve Python Kullanarak Bir Sıcaklık Sensörünün (TMP006) Canlı Verilerini Çizme: 9 Adım
MSP432 LaunchPad ve Python Kullanarak Bir Sıcaklık Sensörünün (TMP006) Canlı Verilerinin Çizilmesi: TMP006, bir nesnenin sıcaklığını nesneyle temas etmeye gerek kalmadan ölçen bir sıcaklık sensörüdür. Bu eğitimde Python kullanarak BoosterPack'ten (TI BOOSTXL-EDUMKII) canlı sıcaklık verilerini çizeceğiz
IoT: Node-RED Kullanarak Işık Sensörü Verilerini Görselleştirme: 7 Adım
IoT: Node-RED Kullanarak Işık Sensörü Verilerini Görselleştirme: Bu talimatta, internete bağlı bir sensörün nasıl oluşturulacağını öğreneceksiniz! Bu demo için bir ortam ışığı sensörü (TI OPT3001) kullanacağım, ancak seçtiğiniz herhangi bir sensör (sıcaklık, nem, potansiyometre vb.) işe yarayacaktır. Sensör değerleri
Node-RED Kullanarak Kablosuz Titreşim ve Sıcaklık Sensörü Verilerini Excel'e Gönderme: 25 Adım
Node-RED Kullanarak Kablosuz Titreşim ve Sıcaklık Sensörü Verilerini Excel'e Gönderme: NCD'nin Uzun Menzilli IoT Endüstriyel kablosuz titreşim ve sıcaklık sensörü ile tanışın, kablosuz ağ yapısı kullanımı 2 mil menzile sahiptir. Hassas bir 16-bit titreşim ve sıcaklık sensörü içeren bu cihaz, trans
Arduino Uno ile LM35 Sıcaklık Sensörü Kullanarak Sıcaklık Okuma: 4 Adım
Arduino Uno ile LM35 Sıcaklık Sensörü Kullanarak Sıcaklık Okuma: Merhaba arkadaşlar bu derste LM35'i Arduino ile nasıl kullanacağımızı öğreneceğiz. Lm35, -55 °C ile 150 °C arasındaki sıcaklık değerlerini okuyabilen bir sıcaklık sensörüdür. Sıcaklıkla orantılı analog voltaj sağlayan 3 terminalli bir cihazdır. Yüksek
IoT Uzun Menzilli Kablosuz Sıcaklık ve Nem Sensörü Verilerini Google Sayfasına Gönderme: 39 Adım
IoT Uzun Menzilli Kablosuz Sıcaklık ve Nem Sensörü Verilerini Google Sayfasına Gönderme: Burada NCD'nin Sıcaklık ve Nem sensörünü kullanıyoruz, ancak adımlar herhangi bir ncd ürünü için eşit kalıyor, bu nedenle başka ncd kablosuz sensörleriniz varsa, gözlemlemekten çekinmeyin yanında yanında. Bu metnin stopu ile yapmanız gereken