Inhoudsopgave:

Licht- en temperatuursensorgegevens lezen en grafisch weergeven met Raspberry Pi - Ajarnpa
Licht- en temperatuursensorgegevens lezen en grafisch weergeven met Raspberry Pi - Ajarnpa

Video: Licht- en temperatuursensorgegevens lezen en grafisch weergeven met Raspberry Pi - Ajarnpa

Video: Licht- en temperatuursensorgegevens lezen en grafisch weergeven met Raspberry Pi - Ajarnpa
Video: Master GPIO with Raspberry Pi Pico & MicroPython - Part 2 2024, Juli-
Anonim
Licht- en temperatuursensorgegevens lezen en grafisch weergeven met Raspberry Pi
Licht- en temperatuursensorgegevens lezen en grafisch weergeven met Raspberry Pi

In deze Instructable leer je hoe je een licht- en temperatuursensor leest met Raspberry Pi en ADS1115 analoog naar digitaal converter en deze in een grafiek zet met behulp van matplotlib. Laten we beginnen met de benodigde materialen.

Benodigdheden

  1. Raspberry pi (iedereen zal het doen, hoewel ik een 4) gebruik
  2. MicroSD-kaart met Raspbian geïnstalleerd (goede tutorial:
  3. HDMI-monitor en stroombron
  4. Micro-USB-kabel
  5. Adafruit ADS 1115 analoog naar digitaal converter:
  6. Doorverbindingsdraden
  7. lichtsensor (LDR)
  8. temperatuursensor
  9. potentiometer x2 (waarde is het middelpunt van het weerstandsbereik van uw temperatuur- en lichtsensoren, die we later zullen meten)
  10. Breadboard

Stap 1: Stel uw Raspberry Pi in

1. Volg deze tutorial om je raspberry pi in te stellen:https://www.raspberrypi.org/help/noobs-setup/2/2. I2C inschakelen: klik op het framboos pi-symbool in de linkerbovenhoek. Ga naar voorkeuren > raspberry pi-configuratie > interfaces > en vink het vakje "inschakelen" op I2C aan. Klik vervolgens op OK.3. Open nu een terminalvenster. Typ op de opdrachtregel:

sudo apt-get upgrade

sudo pip3 installeer adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Stap 2: Meet uw licht- en temperatuursensoren

Nu gaan we de weerstand van de licht- en temperatuursensoren moeten meten. Neem een voltmeter bij de instelling van de weerstandsmeting en meet over de draden van uw lichtsensor in het licht en in het donker. Noteer de waarden. Neem nu uw voltmeter op de draden van uw temperatuursensor in warm en koud (ik gebruikte water). Noteer de waarden. We zullen ze later in ons circuit gebruiken.

Stap 3: Sluit uw circuit aan

Sluit uw circuit aan
Sluit uw circuit aan

1. Verzamel de materialen die in de lijst met benodigdheden staan. Gebruik voor de potentiometers een waarde die het gemiddelde is van de hoogte- en dieptepunten (licht en donker, warm en koud).

(hoog- laag) / 2

2. Volg het bovenstaande schakelschema:

  1. Sluit SDA op de analoog naar digitaal omzetter aan op SDA op de pi
  2. Sluit SCL op de analoog naar digitaal converter aan op SCL op de pi
  3. Sluit VDD op de analoog naar digitaal omzetter aan op 3.3v op de pi
  4. Sluit GND op de analoog naar digitaal omzetter aan op aarde op de pi
  5. Sluit de overige componenten aan volgens het schakelschema.

Stap 4: Coderen

1. Typ terminal in:

nano digital.py

2. Plak de code die ik hieronder of op Github heb in de teksteditor die zou moeten verschijnen.

importeer matplotlib.pyplot als plt

import numpy als np import board import busio import time import adafruit_ads1x15.ads1115 als ADS van adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C(board. SCL, board. SDA) ads = ADS. ADS1115(i2c) x = 0 light = AnalogIn (advertenties, 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('Time(minutes)') plt.ylabel(' Level') plt.title('Licht en temp in de tijd') plt.legend() while 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.pauze(300)

3. Druk nu op CTRL+X om af te sluiten, druk op y om op te slaan en druk vervolgens op enter.

Voer uw programma uit door terminal in te typen:

sudo python3 digital.py

4. Stel de potentiometers zo af dat de grafiek een breed scala aan waarden laat zien. Probeer een licht op de sensor te schijnen en de lichten in de kamer uit te doen om ervoor te zorgen dat de grafiek een breed scala aan waarden weergeeft.

Als een van de waarden onder de bodem zakt, probeer dan de corresponderende deler te verlagen (regel 29 en 31).

Als een van de waarden boven de top komt, probeer dan de corresponderende deler te vergroten (regel 29 en 31).

Stap 5: Problemen oplossen

1. Controleer alle verbindingen nogmaals met het schakelschema

2. I2C-detectie - Toont alle apparaten die via i2c zijn aangesloten:

Typ terminal in:

sudo apt-get install i2c-tools

sudo i2cdetect - y 1

Aanbevolen: