Mundarija:

Raspberry Pi yordamida yorug'lik va harorat sensori ma'lumotlarini o'qish va chizish: 5 qadam
Raspberry Pi yordamida yorug'lik va harorat sensori ma'lumotlarini o'qish va chizish: 5 qadam

Video: Raspberry Pi yordamida yorug'lik va harorat sensori ma'lumotlarini o'qish va chizish: 5 qadam

Video: Raspberry Pi yordamida yorug'lik va harorat sensori ma'lumotlarini o'qish va chizish: 5 qadam
Video: Raspberry Pi Pico PLC bilan sanoat 4-20mA datchiklarni qanday ulash mumkin | Mitsubishi FX1N PLC 2024, Noyabr
Anonim
Raspberry Pi yordamida yorug'lik va harorat sensori ma'lumotlarini o'qish va chizish
Raspberry Pi yordamida yorug'lik va harorat sensori ma'lumotlarini o'qish va chizish

Ushbu yo'riqnomada siz malina pi va ADS1115 analogli yorug'lik va harorat sensori bilan raqamli konvertorni o'qishni va matplotlib yordamida grafik chizishni o'rganasiz. Keling, kerakli materiallardan boshlaylik.

Ta'minotlar

  1. Raspberry pi (har kim qiladi, lekin men 4 dan foydalanayotgan bo'lsam ham)
  2. Raspbian o'rnatilgan MicroSD karta (yaxshi qo'llanma:
  3. HDMI monitor va quvvat manbai
  4. Mikro USB kabeli
  5. Adafruit ADS 1115 analogdan raqamli konvertorga:
  6. Jumper simlari
  7. yorug'lik sensori (LDR)
  8. harorat sensori
  9. potentsiometr x2 (qiymat sizning harorat va yorug'lik sezgichlaringiz qarshiligining o'rta nuqtasi bo'ladi, biz buni keyinroq o'lchaymiz)
  10. Non paneli

1 -qadam: Raspberry Pi -ni o'rnating

1. Malinali pi ni o'rnatish uchun ushbu qo'llanmani bajaring: https://www.raspberrypi.org/help/noobs-setup/2/2. I2C -ni yoqish: yuqori chapdagi malina pi belgisini bosing. Parametrlar> malina pi konfiguratsiyasi> interfeyslar> ga o'ting va I2C -da "yoqish" katagiga belgi qo'ying. Keyin OK ni bosing. Endi terminal oynasini oching. Buyruqlar satrida quyidagilarni yozing:

sudo apt-get upgrade

sudo pip3 adafruit-circuitpython-ads1x15 ni o'rnating

sudo apt-get install python-matplotlib

2 -qadam: yorug'lik va harorat sensorlaringizni o'lchang

Endi biz yorug'lik va harorat sensori qarshiligini o'lchashimiz kerak. Qarshilik o'lchovini sozlash uchun voltli o'lchagichni oling va yorug'lik va qorong'uda yorug'lik sensori uchlarini o'lchang. Qiymatlarni yozib oling. Endi voltmetrni issiq va sovuqda harorat sensori uchlariga olib boring (men suv ishlatardim). Qiymatlarni yozib oling. Biz ularni keyinchalik davramizda ishlatamiz.

3 -qadam: O'chirish davrasini uzing

O'z davrangizni elektr tarmog'iga ulang
O'z davrangizni elektr tarmog'iga ulang

1. Materiallar ro'yxatida ko'rsatilgan materiallarni to'plang. Potentsiometrlar uchun balandlik va pastlik (yorug'lik va qorong'i, issiq va sovuq) o'rtacha bo'lgan qiymatdan foydalaning.

(yuqori-past) / 2

2. Yuqoridagi sxemaga amal qiling:

  1. Analogdagi SDA -ni raqamli konvertorni pi -dagi SDA -ga ulang
  2. SCL -ni analogdagi raqamli konvertorga pi -dagi SCL -ga ulang
  3. Analogdagi VDD -ni raqamli konvertorga pi -dagi 3.3v ga ulang
  4. GND -ni analogdagi raqamli konvertorga pi -ga ulang
  5. Qolgan komponentlarni sxemaga muvofiq ulang.

4 -qadam: kod

1. Terminalni kiriting:

nano raqamli.py

2. Quyida yoki Github -da menda mavjud bo'lgan kodni matn muharririga joylashtiring.

matplotlib.pyplotni plt sifatida import qilish

import raqami np import taxtasi import busio import vaqti import adafruit_ads1x15.ads1115 dan ADS sifatida adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C (board. SCL, board. SDA) ads = ADS. ADS1115 (i2c) x = 0 yorug'lik = 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 ('Vaqt (daqiqa)') plt.ylabel (' Darajasi ') plt.title (' Vaqt o'tishi bilan yorug'lik va harorat ') plt.legend () rost bo'lsa: x += 5 Y1. Qo'shish (yorug'lik.qiymat/30) X1.qo'llash (x) Y2.qo'llanma (temp.value) /3) X2.append (x) plt.plot (X1, Y1, label = "light", color = '#0069af') plt.plot (X2, Y2, label = "Temp", color = '#ff8000')) plt.pauza (300)

3. Endi chiqish uchun CTRL+X tugmalarini bosing, saqlash uchun y tugmachalarini bosing, keyin esa enter tugmalarini bosing.

Dasturni terminalda yozib ishga tushiring:

sudo python3 digital.py

4. Potentsiometrlarni shunday sozlangki, grafikda qiymatlar keng doirasi ko'rsatilsin. Grafika turli xil qiymatlarni ko'rsatishini ta'minlash uchun datchikka yorug'lik berib, xonadagi chiroqlarni o'chirib ko'ring.

Agar qiymatlardan biri pastdan pastga tushsa, mos keladigan bo'linishni tushirishga harakat qiling (29 va 31 -qator).

Agar qiymatlardan biri yuqoridan yuqoriga chiqsa, mos keladigan bo'linishni ko'paytirishga harakat qiling (29 va 31 -qator).

5 -qadam: Muammolarni bartaraf etish

1. Barcha ulanishlarni sxema bo'yicha ikki marta tekshiring

2. I2C aniqlash - Sizga i2c orqali ulangan barcha qurilmalarni ko'rsatadi:

Terminalni kiriting:

sudo apt-get i2c-tools ni o'rnating

sudo i2cdetect - y 1

Tavsiya: