Kazalo:

Branje in zapisovanje podatkov senzorja svetlobe in temperature z Raspberry Pi: 5 korakov
Branje in zapisovanje podatkov senzorja svetlobe in temperature z Raspberry Pi: 5 korakov

Video: Branje in zapisovanje podatkov senzorja svetlobe in temperature z Raspberry Pi: 5 korakov

Video: Branje in zapisovanje podatkov senzorja svetlobe in temperature z Raspberry Pi: 5 korakov
Video: Изучите Arduino за 30 минут: примеры и проекты 2024, Julij
Anonim
Branje in zapisovanje podatkov senzorja svetlobe in temperature z Raspberry Pi
Branje in zapisovanje podatkov senzorja svetlobe in temperature z Raspberry Pi

V tem navodilu se boste naučili brati svetlobni in temperaturni senzor z malinovim pi in ADS1115 analogno -digitalnim pretvornikom in ga grafično prikazati z matplotlibom. Začnimo s potrebnimi materiali.

Zaloge

  1. Raspberry pi (vsak bo naredil, čeprav uporabljam 4)
  2. Kartica MicroSD z nameščenim Raspbianom (dobra vadnica:
  3. HDMI monitor in vir napajanja
  4. Kabel mikro USB
  5. Adafruit ADS 1115 analogno -digitalni pretvornik:
  6. Mostične žice
  7. svetlobni senzor (LDR)
  8. temperaturni senzor
  9. potenciometer x2 (vrednost bo sredina razpona odpornosti vaših temperaturnih in svetlobnih senzorjev, ki ga bomo merili kasneje)
  10. Ogledna plošča

1. korak: Nastavite svoj Raspberry Pi

1. Sledite tej vadnici, da nastavite svoj malinov pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Omogoči I2C: kliknite simbol maline pi v zgornjem levem kotu. Pojdite na nastavitve> konfiguracija maline pi> vmesniki> in potrdite polje »omogoči« na I2C. Nato kliknite V redu. Zdaj odprite terminalsko okno. V ukazno vrstico vnesite:

sudo apt-get nadgradnja

sudo pip3 namestite adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

2. korak: Izmerite senzorje svetlobe in temperature

Zdaj bomo morali izmeriti upor svetlobnih in temperaturnih senzorjev. Vzemite voltmeter pri nastavitvi merjenja upora in merite po vodih senzorja svetlobe v svetlobi in temi. Zapišite vrednosti. Sedaj vzemite merilnik volta na kable temperaturnega tipala v vročem in hladnem (uporabil sem vodo). Zapišite vrednosti. Kasneje jih bomo uporabili v našem krogu.

3. korak: Povežite vezje

Ožičite svoje vezje
Ožičite svoje vezje

1. Zberite materiale, navedene na seznamu zalog. Za potenciometre uporabite vrednost, ki je povprečje vzponov in padcev (svetlo in temno, vroče in hladno).

(visoko- nizko) / 2

2. Sledite zgornjemu vezju:

  1. Priključite SDA na analogno -digitalnem pretvorniku v SDA na pi
  2. Priključite SCL na analogno -digitalnem pretvorniku v SCL na pi
  3. Priključite VDD na analogno -digitalnem pretvorniku v 3.3v na pi
  4. GND na analogno -digitalnem pretvorniku povežite z maso na pi
  5. Ostale komponente povežite v skladu s shemo vezja.

4. korak: Koda

1. Vnesite terminal:

nano digital.py

2. Prilepite kodo, ki jo imam spodaj ali na Githubu, v urejevalnik besedil, ki bi se moral pojaviti.

uvozite matplotlib.pyplot kot plt

uvoz numpy kot np uvozna plošča uvoz busio čas uvoza uvoz adafruit_ads1x15.ads1115 kot 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 ('Čas (minute)') plt.ylabel (' Raven ') plt.title (' Svetloba in temp skozi čas ') plt.legend (), medtem ko 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. Zdaj pritisnite CTRL+X za izhod, pritisnite y za shranjevanje, nato pritisnite enter.

Zaženite program tako, da vtipkate terminal:

sudo python3 digital.py

4. Potenciometre prilagodite tako, da graf prikazuje širok razpon vrednosti. Poskusite osvetliti senzor in ugasniti luči v prostoru, da zagotovite, da graf prikazuje širok razpon vrednosti.

Če se katera od vrednosti spusti pod dno, poskusite znižati ustrezni delilec (vrstica 29 in 31).

Če je katera od vrednosti nad vrhom, poskusite povečati ustrezen delitelj (vrstica 29 in 31).

5. korak: Odpravljanje težav

1. Dvakrat preverite vse povezave glede na shemo vezja

2. Zaznavanje I2C - prikaže vse naprave, povezane prek i2c:

Vnesite terminal:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Priporočena: