Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Konfigurer din Raspberry Pi
- Trin 2: Mål dine lys- og temperatursensorer
- Trin 3: Tilslut dit kredsløb
- Trin 4: Kode
- Trin 5: Fejlfinding
Video: Læsning og tegning af lys- og temperatursensordata med hindbær Pi: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
I denne instruks kan du lære at læse en lys- og temperatursensor med hindbær pi og ADS1115 analog til digital konverter og tegne den ved hjælp af matplotlib. Lad os starte med de nødvendige materialer.
Forbrugsvarer
- Hindbær pi (enhver vil gøre, selvom jeg bruger en 4)
- MicroSD -kort med Raspbian installeret (god vejledning:
- HDMI -skærm og strømkilde
- Micro USB kabel
- Adafruit ADS 1115 analog til digital konverter:
- Jumper ledninger
- lyssensor (LDR)
- temperatur måler
- potentiometer x2 (værdien vil være midtpunktet i modstandsområdet for dine temperatur- og lyssensorer, som vi måler senere)
- Brødbræt
Trin 1: Konfigurer din Raspberry Pi
1. Følg denne vejledning for at konfigurere din hindbær pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Aktiver I2C: klik på hindbær pi -symbolet øverst til venstre. Gå til præferencer> hindbær pi -konfiguration> grænseflader> og marker afkrydsningsfeltet "aktiver" på I2C. Klik derefter på OK.3. Åbn nu et terminalvindue. Skriv på kommandolinjen:
sudo apt-get opgradering
sudo pip3 installer adafruit-circuitpython-ads1x15
sudo apt-get install python-matplotlib
Trin 2: Mål dine lys- og temperatursensorer
Nu skal vi måle lys- og temperatursensorernes modstand. Tag en voltmåler på indstilling af modstandsmåling og mål på tværs af ledningerne på din lyssensor i lys og mørke. Registrer værdierne. Tag nu din voltmåler på ledningerne på din temperatursensor i varmt og koldt (jeg brugte vand). Registrer værdierne. Vi vil bruge dem senere i vores kredsløb.
Trin 3: Tilslut dit kredsløb
1. Saml de materialer, der er angivet på forsyningslisten. For potentiometrene skal du bruge en værdi, der er gennemsnittet af op- og nedture (lys og mørk, varm og kold).
(høj-lav) / 2
2. Følg kredsløbsdiagrammet ovenfor:
- Tilslut SDA på den analoge til digitale konverter til SDA på pi
- Tilslut SCL på den analoge til digitale konverter til SCL på pi
- Tilslut VDD på den analoge til digitale omformer til 3,3v på pi
- Tilslut GND på den analoge til digitale konverter til jord på pi
- Tilslut resten af komponenterne i henhold til kredsløbsdiagrammet.
Trin 4: Kode
1. Indtast terminal:
nano digital.py
2. Indsæt koden, jeg har nedenfor eller på Github, i teksteditoren, der skal vises.
import 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 (annoncer, ADS. P0) temp = AnalogIn (annoncer, 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 () mens 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. Tryk nu på CTRL+X for at afslutte, tryk på y for at gemme, og tryk derefter på enter.
Kør dit program ved at skrive i terminal:
sudo python3 digital.py
4. Juster potentiometrene, så grafen viser en lang række værdier. Prøv at skinne et lys ved sensoren og slukke lyset i rummet for at sikre, at grafen viser en lang række værdier.
Hvis en af værdierne falder under bunden, kan du prøve at sænke den tilsvarende divisor (linje 29 og 31).
Hvis en af værdierne går over toppen, kan du prøve at øge den tilsvarende divisor (linje 29 og 31).
Trin 5: Fejlfinding
1. Dobbelttjek alle forbindelser mod kredsløbsdiagrammet
2. I2C -registrering - Viser dig alle enheder, der er tilsluttet via i2c:
Indtast terminal:
sudo apt-get install i2c-værktøjer
sudo i2cdetect - y 1
Anbefalede:
Vejrstation: ESP8266 Med dyb søvn, SQL, tegning efter kolbe og plott: 3 trin
Weather Station: ESP8266 Med Deep Sleep, SQL, Graphing by Flask & Plotly: Ville det være sjovt at kende temperaturen, fugtigheden eller lysintensiteten på din altan? Jeg ved, jeg ville. Så jeg lavede en simpel vejrstation til at indsamle sådanne data. De følgende afsnit er de trin, jeg tog for at bygge en. Lad os komme i gang
Sådan laver du en stemning og læsning, lampe med højttalere: 10 trin
Sådan laver du en stemning og læsning, lampe med højttalere: Start af dette projekt var langsomt, vi var nødt til at gå igennem designtænkningsprocessen, denne proces er empati, definition, idé, prototyper og endelig testning. Vi startede med #1, Empathizing, og vi gennemgik en række interviews med
Battery Eater - en Robot Joule Tyvskulptur som læsning / nattelys: 3 trin (med billeder)
Battery Eater - en Robot Joule Tyvskulptur som læsning / natlys: Velkommen til min første Instructable, håber du kan lide det, og mit dårlige engelsk er ikke så meget en barriere.: X Jeg havde nogle dele liggende og ville bygge en lille robot . Da jeg vil lave en med en funktion, søgte jeg og fandt Joule-Thief Instr
Læsning af LED -tommelfinger: 6 trin (med billeder)
Læse -LED -tommelfinger: Som du måske ved, er der sideholder / læsering, som folk kan læse med en hånd. Jeg har aldrig brugt det, så jeg vil have en, der 1) fungerer på samme måde, men tillader mig at 2) læse i mørket, inden jeg sover; det skal også være 3) slukket
LEGO Delta Robot Scanning og tegning: 7 trin (med billeder)
LEGO Delta Robot Scanning og tegning: Brug af LEGO NXT til at bygge en Delta Robot. Kombineret scanning og tegning