Mündəricat:

Raspberry Pi ilə İşıq və İstilik Sensor Verilərinin Oxunması və Qrafiki: 5 Addım
Raspberry Pi ilə İşıq və İstilik Sensor Verilərinin Oxunması və Qrafiki: 5 Addım

Video: Raspberry Pi ilə İşıq və İstilik Sensor Verilərinin Oxunması və Qrafiki: 5 Addım

Video: Raspberry Pi ilə İşıq və İstilik Sensor Verilərinin Oxunması və Qrafiki: 5 Addım
Video: Zigbee датчик освещенности, температуры и влажности с экраном на электронных чернилах Moes 2024, Iyul
Anonim
Raspberry Pi ilə İşıq və İstilik Sensor Verilərinin Oxunması və Qrafiki
Raspberry Pi ilə İşıq və İstilik Sensor Verilərinin Oxunması və Qrafiki

Bu Təlimat kitabında, moruq pi və ADS1115 analoqlu bir işıq və temperatur sensoru rəqəmsal çeviriciyə necə oxuyacağınızı və matplotlib istifadə edərək qrafik qurmağı öyrənəcəksiniz. Lazımi materiallardan başlayaq.

Təchizat

  1. Raspberry pi (4 istifadə etsəm də hər kəs edəcək)
  2. Raspbian quraşdırılmış MicroSD kartı (yaxşı dərs:
  3. HDMI monitor və enerji mənbəyi
  4. Mikro USB kabeli
  5. Adafruit ADS 1115 analoqdan rəqəmsal çeviriciyə:
  6. Jumper telləri
  7. işıq sensoru (LDR)
  8. temperatur sensoru
  9. potensiometr x2 (dəyər daha sonra ölçəcəyimiz temp və işıq sensorlarınızın müqavimət aralığının orta nöqtəsi olacaq)
  10. Çörək lövhəsi

Addım 1: Raspberry Pi qurun

1. Moruq pi qurmaq üçün bu təlimatı izləyin: https://www.raspberrypi.org/help/noobs-setup/2/2. I2C -ni aktivləşdirin: sol üstdəki moruq pi simvolunu vurun. Tercihlər> moruq pi konfiqurasiyası> interfeyslər> bölməsinə gedin və I2C -də "aktiv et" qutusunu işarələyin. Sonra OK düyməsini basın. İndi terminal pəncərəsini açın. Komanda satırında yazın:

sudo apt-get yeniləmə

sudo pip3 adafruit-circuitpython-ads1x15 quraşdırın

sudo apt-get python-matplotlib quraşdırın

Addım 2: İşıq və İstilik Sensorlarınızı Ölçün

İndi işıq və temperatur sensörlərinin müqavimətini ölçməliyik. Müqavimətin ölçülməsi üçün bir volt ölçmə cihazı götürün və işıq sensörünüzün uclarını işıqda və qaranlıqda ölçün. Dəyərləri qeyd edin. İndi voltmetrinizi isti və soyuqda (su istifadə etdim) temperatur sensörünüzün uclarına aparın. Dəyərləri qeyd edin. Onları daha sonra dövrəmizdə istifadə edəcəyik.

Addım 3: Dövrənizi bağlayın

Dövrənizi bağlayın
Dövrənizi bağlayın

1. Təchizat siyahısında göstərilən materialları toplayın. Potensiometrlər üçün ən yüksək və ən aşağı (işıq və qaranlıq, isti və soyuq) ortalaması olan bir dəyərdən istifadə edin.

(yüksək-aşağı) / 2

2. Yuxarıdakı sxemə əməl edin:

  1. Analoqdakı SDA -nı pi üzərindəki SDA -ya rəqəmsal çeviriciyə qoşun
  2. SCL -ni analogdakı rəqəmsal çeviriciyə, pi -dəki SCL -ə qoşun
  3. VDD -ni analoqdakı rəqəmsal çeviriciyə pi -də 3.3v -ə qoşun
  4. GND -ni analoqdakı rəqəmsal çeviriciyə pi üzərindəki yerə bağlayın
  5. Qalan komponentləri dövrə sxeminə uyğun olaraq bağlayın.

Addım 4: Kod

1. Terminal daxil edin:

nano digital.py

2. Aşağıda və ya Github -da olan kodu görünməli olan mətn redaktoruna yapışdırın.

matplotlib.pyplotu plt olaraq idxal edin

np idxal lövhəsi kimi idxal idxalı busio idxal vaxtı idaf adafruit_ads1x15.analog_in idxalından ADS olaraq idxal AnalogIn i2c = busio. I2C (board. SCL, board. SDA) reklamlar = ADS. ADS1115 (i2c) x = 0 işıq = AnalogIn (reklamlar, ADS. P0) temp = AnalogIn (reklamlar, 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 ('Zaman (dəqiqə)') plt.ylabel (' Səviyyə ') plt.title (' Zamanla işıq və temp ') plt.legend () Doğru isə: x += 5 Y1. Əlavə (işıq.dəyər/30) X1. /3) X2.append (x) plt.plot (X1, Y1, label = "light", color = '#0069af') plt.plot (X2, Y2, label = "Temp", color = '#ff8000')) fasilə (300)

3. İndi çıxmaq üçün CTRL+X düymələrini, saxlamaq üçün y düyməsini, sonra isə enter düyməsini basın.

Proqramı terminalda yazaraq işə salın:

sudo python3 digital.py

4. Potensialiometrləri elə düzəldin ki, qrafik çox geniş dəyərlər göstərsin. Qrafikdə geniş bir dəyər aralığını təmin etmək üçün sensora bir işıq yandırmağa və otaqdakı işıqları söndürməyə çalışın.

Dəyərlərdən biri aşağıya düşərsə, uyğun bölücünü aşağı salmağa çalışın (sətir 29 və 31).

Dəyərlərdən biri yuxarıdan yuxarı çıxırsa, uyğun bölücünü artırmağa çalışın (sətir 29 və 31).

Addım 5: Problemlərin aradan qaldırılması

1. Bütün əlaqələri dövrə diaqramına uyğun olaraq iki dəfə yoxlayın

2. I2C təsbit - i2c vasitəsilə bağlı bütün cihazları sizə göstərəcək:

Terminal daxil edin:

sudo apt-get i2c alətlərini quraşdırın

sudo i2cdetect - y 1

Tövsiyə: