Sadržaj:

Očitavanje i iscrtavanje podataka senzora svjetla i temperature s Raspberry Pi: 5 koraka
Očitavanje i iscrtavanje podataka senzora svjetla i temperature s Raspberry Pi: 5 koraka

Video: Očitavanje i iscrtavanje podataka senzora svjetla i temperature s Raspberry Pi: 5 koraka

Video: Očitavanje i iscrtavanje podataka senzora svjetla i temperature s Raspberry Pi: 5 koraka
Video: Домашняя автоматизация своими руками — ESP32, Raspberry Pi, Node Red, MQTT, Умный дом || Проект Интернета вещей. Часть 1. 2024, Srpanj
Anonim
Očitavanje i iscrtavanje podataka senzora svjetla i temperature s Raspberry Pi
Očitavanje i iscrtavanje podataka senzora svjetla i temperature s Raspberry Pi

U ovom Instructableu naučit ćete čitati svjetlosni i temperaturni senzor s malinom pi i ADS1115 analogno -digitalnim pretvaračem i iscrtati ga pomoću matplotliba. Počnimo s potrebnim materijalima.

Pribor

  1. Raspberry pi (svatko će to učiniti, iako ja koristim 4)
  2. MicroSD kartica s instaliranim Raspbian -om (dobar vodič:
  3. HDMI monitor i izvor napajanja
  4. Mikro USB kabel
  5. Adafruit ADS 1115 analogno -digitalni pretvarač:
  6. Kratkospojne žice
  7. svjetlosni senzor (LDR)
  8. senzor temperature
  9. potenciometar x2 (vrijednost će biti sredina raspona otpora vaših senzora temperature i svjetlosti, što ćemo izmjeriti kasnije)
  10. Oglasna ploča

Korak 1: Postavite svoj Raspberry Pi

1. Slijedite ovaj vodič za postavljanje vašeg malina pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Omogući I2C: kliknite simbol maline pi u gornjem lijevom kutu. Idite na postavke> konfiguracija maline pi> sučelja> i potvrdite okvir "omogući" na I2C. Zatim kliknite OK.3. Sada otvorite prozor terminala. U naredbeni redak upišite:

sudo apt-get nadogradnja

sudo pip3 instalirajte adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Korak 2: Izmjerite svjetlosne i temperaturne senzore

Sada ćemo morati izmjeriti otpor osjetnika svjetla i temperature. Uzmite voltmetar na postavku mjerenja otpora i izmjerite preko kabela vašeg svjetlosnog senzora na svjetlu i mraku. Zapišite vrijednosti. Sada uzmite svoj voltmetar na žice vašeg senzora temperature na vrućem i hladnom (koristio sam vodu). Zapišite vrijednosti. Kasnije ćemo ih koristiti u našem krugu.

Korak 3: Ožičite svoj krug

Ožičite svoj krug
Ožičite svoj krug

1. Prikupite materijale navedene na popisu potrošnog materijala. Za potenciometre upotrijebite vrijednost koja je prosjek uspona i padova (svijetlo i tamno, toplo i hladno).

(visoko-nisko) / 2

2. Slijedite gornji dijagram kruga:

  1. Spojite SDA na analogno -digitalnom pretvaraču u SDA na pi
  2. Spojite SCL na analogno -digitalnom pretvaraču u SCL na pi
  3. Spojite VDD na analogno -digitalnom pretvaraču na 3.3v na pi
  4. Spojite GND na analogno -digitalnom pretvaraču na masu na pi
  5. Ostale komponente spojite prema shemi strujnog kruga.

Korak 4: Kodirajte

1. Upišite terminal:

nano digital.py

2. Zalijepite kôd koji imam ispod ili na Github u uređivač teksta koji bi se trebao pojaviti.

uvesti matplotlib.pyplot kao plt

uvoz numpy kao np uvozna ploča uvoz busio vrijeme uvoza uvoz adafruit_ads1x15.ads1115 kao ADS iz adafruit_ads1x15.analog_in uvoz AnalogIn i2c = busio. I2C (board. SCL, board. SDA) ads = ADS. ADS1115 (i2c) x = 0 light = AnalogIn (oglasi, ADS. P0) temp = AnalogIn (oglasi, 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 ('Vrijeme (minute)') plt.ylabel (' Razina ') plt.title (' Svjetlo i temp tijekom vremena ') plt.legend () dok je True: x += 5 Y1.append (light.value/30) X1.append (x) Y2.append (temp.value /3) X2.append (x) plt.plot (X1, Y1, label = "light", color = '#0069af') plt.plot (X2, Y2, label = "Temp", color = '#ff8000') plt.pause (300)

3. Sada pritisnite CTRL+X za izlaz, pritisnite y za spremanje, a zatim pritisnite enter.

Pokrenite svoj program upisivanjem terminala:

sudo python3 digital.py

4. Podesite potenciometre tako da grafikon prikazuje širok raspon vrijednosti. Pokušajte osvijetliti senzor i isključiti svjetla u prostoriji kako biste bili sigurni da grafikon prikazuje širok raspon vrijednosti.

Ako bilo koja od vrijednosti padne ispod dna, pokušajte spustiti odgovarajući djelitelj (redak 29 i 31).

Ako neka od vrijednosti prelazi vrh, pokušajte povećati odgovarajući djelitelj (redak 29 i 31).

Korak 5: Rješavanje problema

1. Dvaput provjerite sve spojeve prema dijagramu strujnog kruga

2. Otkrivanje I2C - prikazat će vam se svi uređaji povezani putem i2c:

Upišite terminal:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Preporučeni: