Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
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
- Hallon pi (någon kommer att göra, även om jag använder en 4)
- MicroSD -kort med Raspbian installerat (bra handledning:
- HDMI -skärm och strömkälla
- Micro USB -kabel
- Adafruit ADS 1115 analog till digital omvandlare:
- Bygelkablar
- ljussensor (LDR)
- temperatursensor
- potentiometer x2 (värdet är mittpunkten för motståndsområdet för dina temp- och ljussensorer, som vi kommer att mäta senare)
- 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
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:
- Anslut SDA på den analoga till digitala omvandlaren till SDA på pi
- Anslut SCL på den analoga till digitala omvandlaren till SCL på pi
- Anslut VDD på den analoga till digitala omvandlaren till 3,3v på pi
- Anslut GND på den analoga till digitala omvandlaren till jord på pi
- 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