Sadržaj:
- Pribor
- Korak 1: Postavite svoj Raspberry Pi
- Korak 2: Izmjerite svjetlosne i temperaturne senzore
- Korak 3: Ožičite svoj krug
- Korak 4: Kodirajte
- Korak 5: Rješavanje problema
Video: Očitavanje i iscrtavanje podataka senzora svjetla i temperature s Raspberry Pi: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
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
- Raspberry pi (svatko će to učiniti, iako ja koristim 4)
- MicroSD kartica s instaliranim Raspbian -om (dobar vodič:
- HDMI monitor i izvor napajanja
- Mikro USB kabel
- Adafruit ADS 1115 analogno -digitalni pretvarač:
- Kratkospojne žice
- svjetlosni senzor (LDR)
- senzor temperature
- potenciometar x2 (vrijednost će biti sredina raspona otpora vaših senzora temperature i svjetlosti, što ćemo izmjeriti kasnije)
- 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
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:
- Spojite SDA na analogno -digitalnom pretvaraču u SDA na pi
- Spojite SCL na analogno -digitalnom pretvaraču u SCL na pi
- Spojite VDD na analogno -digitalnom pretvaraču na 3.3v na pi
- Spojite GND na analogno -digitalnom pretvaraču na masu na pi
- 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:
Slanje podataka iz Arduina u Excel (i iscrtavanje): 3 koraka (sa slikama)
Slanje podataka s Arduina u Excel (i iscrtavanje istih): Opširno sam tražio način na koji mogu iscrtati očitavanje Arduino senzora u stvarnom vremenu. Ne samo iscrtati, već i prikazati i pohraniti podatke za daljnje eksperimentiranje i ispravke. Najjednostavnije rješenje koje sam pronašao bilo je korištenje programa Excel, ali s
Iscrtavanje podataka uživo senzora temperature (TMP006) pomoću MSP432 LaunchPada i Pythona: 9 koraka
Iscrtavanje podataka uživo senzora temperature (TMP006) pomoću MSP432 LaunchPada i Pythona: TMP006 je temperaturni senzor koji mjeri temperaturu objekta bez potrebe za dodirom s objektom. U ovom ćemo vodiču iscrtati žive podatke o temperaturi iz BoosterPack-a (TI BOOSTXL-EDUMKII) pomoću Pythona
Očitavanje podataka ultrazvučnog senzora (HC-SR04) na LCD-u 128 × 128 i vizualizacija pomoću Matplotliba: 8 koraka
Čitanje podataka ultrazvučnog senzora (HC-SR04) na LCD-u 128 × 128 i vizualizacija pomoću Matplotliba: U ovoj uputi koristit ćemo MSP432 LaunchPad + BoosterPack za prikaz podataka ultrazvučnog senzora (HC-SR04) na 128 × 128 LCD i serijski pošaljite podatke na računalo te ih vizualizirajte pomoću Matplotliba
Očitavanje temperature pomoću LM35 osjetnika temperature s Arduino Uno: 4 koraka
Očitavanje temperature pomoću LM35 osjetnika temperature s Arduino Uno: Bok dečki, u ovim uputama naučit ćemo kako koristiti LM35 s Arduinom. Lm35 je temperaturni senzor koji može očitati vrijednosti temperature od -55 ° C do 150 ° C. To je 3-terminalni uređaj koji daje analogni napon proporcionalan temperaturi. Najviše
Slanje podataka-of-IOT-bežičnog-senzora temperature i vlažnosti-senzora-u-MySQL: 41 korak
Slanje-IOT-bežičnih-senzora temperature-i-vlažnosti-osjetnika-za-slanje-u-MySQL: predstavljanje NCD-ovog dugoročnog IoT osjetnika temperature i vlažnosti. S rasponom do 28 milja i bežičnom mrežnom arhitekturom, ovaj senzor prenosi podatke o vlažnosti (± 1,7%) i temperaturi (± 0,3 ° C) u intervalima koje definira korisnik, spavajući