Innehållsförteckning:

Läsa och rita ljus- och temperatursensordata med Raspberry Pi: 5 steg
Läsa och rita ljus- och temperatursensordata med Raspberry Pi: 5 steg

Video: Läsa och rita ljus- och temperatursensordata med Raspberry Pi: 5 steg

Video: Läsa och rita ljus- och temperatursensordata med Raspberry Pi: 5 steg
Video: Can we create new senses for humans? | David Eagleman 2024, Juli
Anonim
Läsa och rita ljus- och temperatursensordata med Raspberry Pi
Läsa och rita ljus- och temperatursensordata med Raspberry Pi

I den här instruktionsboken lär du dig att läsa en ljus- och temperatursensor med hallon pi och ADS1115 analog till digital omvandlare och rita den med matplotlib. Låt oss börja med det material som behövs.

Tillbehör

  1. Hallon pi (någon kommer att göra, även om jag använder en 4)
  2. MicroSD -kort med Raspbian installerat (bra handledning:
  3. HDMI -skärm och strömkälla
  4. Micro USB -kabel
  5. Adafruit ADS 1115 analog till digital omvandlare:
  6. Bygelkablar
  7. ljussensor (LDR)
  8. temperatursensor
  9. potentiometer x2 (värdet är mittpunkten för motståndsområdet för dina temp- och ljussensorer, som vi kommer att mäta senare)
  10. Bakbord

Steg 1: Konfigurera din Raspberry Pi

1. Följ denna handledning för att konfigurera din hallon pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Aktivera I2C: klicka på hallon pi -symbolen längst upp till vänster. Gå till inställningar> hallon pi -konfiguration> gränssnitt> och markera rutan "aktivera" på I2C. Klicka sedan på OK.3. Öppna nu ett terminalfönster. Skriv på kommandoraden:

sudo apt-get uppgradering

sudo pip3 installera adafruit-circuitpython-ads1x15

sudo apt-get install python-matplotlib

Steg 2: Mät dina ljus- och temperatursensorer

Nu kommer vi att behöva mäta ljus- och temperaturgivares motstånd. Ta en voltmätare på inställning av motståndsmätning och mät över ledningarna på din ljussensor i ljuset och mörkret. Anteckna värdena. Ta nu din voltmätare på ledningarna på din temperatursensor i varmt och kallt (jag använde vatten). Anteckna värdena. Vi kommer att använda dem senare i vår krets.

Steg 3: Koppla upp din krets

Koppla upp din krets
Koppla upp din krets

1. Samla ihop materialet i listan med förbrukningsmaterial. För potentiometrarna, använd ett värde som är genomsnittet för toppar och dalar (ljus och mörk, varm och kall).

(hög-låg) / 2

2. Följ kretsschemat ovan:

  1. Anslut SDA på den analoga till digitala omvandlaren till SDA på pi
  2. Anslut SCL på den analoga till digitala omvandlaren till SCL på pi
  3. Anslut VDD på den analoga till digitala omvandlaren till 3,3v på pi
  4. Anslut GND på den analoga till digitala omvandlaren till jord på pi
  5. Anslut resten av komponenterna enligt kretsschemat.

Steg 4: Kod

1. Skriv in terminal:

nano digital.py

2. Klistra in koden jag har nedan eller på Github i textredigeraren som ska visas.

importera matplotlib.pyplot som plt

import numpy as np import board import busio import time import adafruit_ads1x15.ads1115 as ADS from adafruit_ads1x15.analog_in import AnalogIn i2c = busio. I2C (board. SCL, board. SDA) ads = ADS. ADS1115 (i2c) x = 0 light = AnalogIn (annonser, ADS. P0) temp = AnalogIn (annonser, 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 (' Light and temp over time ') plt.legend () medan 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') pauspaus (300)

3. Tryck nu på CTRL+X för att avsluta, tryck på y för att spara och tryck sedan på enter.

Kör ditt program genom att skriva i terminal:

sudo python3 digital.py

4. Justera potentiometrarna så att grafen visar ett brett spektrum av värden. Prova att tända ett ljus på sensorn och stänga av lamporna i rummet för att säkerställa att grafen visar ett brett spektrum av värden.

Om något av värdena faller under botten, försök att sänka motsvarande divisor (rad 29 och 31).

Om något av värdena går över toppen, försök öka motsvarande divisor (rad 29 och 31).

Steg 5: Felsökning

1. Dubbelkontrollera alla anslutningar mot kretsschemat

2. I2C -detektering - Visar dig alla enheter som är anslutna via i2c:

Skriv in terminal:

sudo apt-get install i2c-verktyg

sudo i2cdetect - y 1

Rekommenderad: