Sadržaj:

Očitavanje i iscrtavanje podataka senzora svjetlosti i temperature sa Raspberry Pi: 5 koraka
Očitavanje i iscrtavanje podataka senzora svjetlosti i temperature sa Raspberry Pi: 5 koraka

Video: Očitavanje i iscrtavanje podataka senzora svjetlosti i temperature sa Raspberry Pi: 5 koraka

Video: Očitavanje i iscrtavanje podataka senzora svjetlosti i temperature sa Raspberry Pi: 5 koraka
Video: Изучите Arduino за 30 минут: примеры и проекты 2024, Juli
Anonim
Očitavanje i grafikoniranje podataka senzora svjetlosti i temperature s Raspberry Pi
Očitavanje i grafikoniranje podataka senzora svjetlosti i temperature s Raspberry Pi

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

Supplies

  1. Raspberry pi (bilo koji će to učiniti, iako ja koristim 4)
  2. MicroSD kartica sa instaliranim Raspbian -om (dobar vodič:
  3. HDMI monitor i izvor napajanja
  4. Mikro USB kabl
  5. Adafruit ADS 1115 analogno -digitalni pretvarač:
  6. Žice za kratkospojnike
  7. senzor svjetla (LDR)
  8. senzor temperature
  9. potenciometar x2 (vrijednost će biti sredina raspona otpora vaših senzora temperature i svjetlosti, što ćemo izmjeriti kasnije)
  10. Breadboard

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 raspberry pi> sučelja> i potvrdite okvir "omogući" na I2C. Zatim kliknite OK.3. Sada otvorite prozor terminala. Na komandnoj liniji 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 svjetlosti i temperature. Uzmite voltmetar na postavku mjerenja otpora i izmjerite preko kabela vašeg svjetlosnog senzora u svjetlu i mraku. Zapišite vrijednosti. Sada uzmite svoj voltmetar na žice vašeg senzora temperature za toplo i hladno (koristio sam vodu). Zapišite vrijednosti. Kasnije ćemo ih koristiti u našem krugu.

Korak 3: Povežite svoj krug

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

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

(visoko-nisko) / 2

2. Sledite gornji dijagram kola:

  1. Povežite SDA na analogno -digitalnom pretvaraču sa SDA na pi
  2. Priključite 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 kola.

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.

uvozite 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 (' Nivo ') plt.title (' Svjetlo i temp. Tokom 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 (red 29 i 31).

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

Korak 5: Rješavanje problema

1. Dvaput provjerite sve spojeve prema dijagramu kola

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čuje se: