Cuprins:
- Provizii
- Pasul 1: configurați Raspberry Pi
- Pasul 2: Măsurați senzorii de lumină și temperatură
- Pasul 3: conectați-vă circuitul
- Pasul 4: Cod
- Pasul 5: Depanare
Video: Citirea și graficarea datelor senzorului de lumină și temperatură cu Raspberry Pi: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
În acest Instructable veți învăța cum să citiți un senzor de lumină și temperatură cu raspberry pi și convertizor analogic digital ADS1115 și să-l graficați folosind matplotlib. Să începem cu materialele necesare.
Provizii
- Raspberry pi (oricine o va face, deși eu folosesc un 4)
- Card MicroSD cu Raspbian instalat (tutorial bun:
- Monitor HDMI și sursă de alimentare
- Cablu micro USB
- Convertor analogic digital Adafruit ADS 1115:
- Sârme de jumper
- senzor de lumină (LDR)
- senzor de temperatura
- potențiometrul x2 (valoarea va fi punctul mediu al gamei de rezistență a senzorilor dvs. de temperatură și lumină, pe care o vom măsura mai târziu)
- Pană de pâine
Pasul 1: configurați Raspberry Pi
1. Urmați acest tutorial pentru a configura raspberry pi: https://www.raspberrypi.org/help/noobs-setup/2/2. Activați I2C: faceți clic pe simbolul zmeură pi din stânga sus. Mergeți la preferințe> configurație raspberry pi> interfețe> și bifați caseta „activați” pe I2C. Apoi faceți clic pe OK. Acum deschideți o fereastră de terminal. Pe linia de comandă tastați:
sudo apt-get upgrade
sudo pip3 instalați adafruit-circuitpython-ads1x15
sudo apt-get install python-matplotlib
Pasul 2: Măsurați senzorii de lumină și temperatură
Acum va trebui să măsurăm rezistența senzorilor de lumină și temperatură. Luați un voltmetru pentru setarea măsurării rezistenței și măsurați cablurile senzorului de lumină în lumină și întuneric. Înregistrați valorile. Acum, luați voltmetrul pe cablurile senzorului de temperatură la cald și la rece (am folosit apă). Înregistrați valorile. Le vom folosi mai târziu în circuitul nostru.
Pasul 3: conectați-vă circuitul
1. Adunați materialele enumerate în lista de consumabile. Pentru potențiometre, utilizați o valoare care este media maximelor și minimelor (lumină și întuneric, cald și rece).
(mare-mic) / 2
2. Urmați schema de circuit de mai sus:
- Conectați SDA pe convertorul analogic digital la SDA pe pi
- Conectați SCL pe convertorul analogic la digital la SCL pe pi
- Conectați VDD pe convertorul analogic la digital la 3.3v pe pi
- Conectați GND la convertorul analogic la digital la masă pe pi
- Conectați restul componentelor conform schemei de circuit.
Pasul 4: Cod
1. Tastați terminalul:
nano digital.py
2. Lipiți codul pe care îl am mai jos sau pe Github în editorul de text care ar trebui să apară.
importați matplotlib.pyplot ca 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 (ads, 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 ('Timp (minute)') plt.ylabel (' Nivel ') plt.title (' Lumina și temperatura în timp ') plt.legend () în timp ce 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. Apăsați CTRL + X pentru a ieși, apăsați y pentru a salva, apoi apăsați Enter.
Rulați programul tastând terminalul:
sudo python3 digital.py
4. Reglați potențiometrele astfel încât graficul să prezinte o gamă largă de valori. Încercați să luminați senzorul și să opriți luminile din cameră pentru a vă asigura că graficul prezintă o gamă largă de valori.
Dacă oricare dintre valori scade sub partea inferioară, încercați să coborâți divizorul corespunzător (rândurile 29 și 31).
Dacă oricare dintre valori depășește partea de sus, încercați să măriți divizorul corespunzător (rândurile 29 și 31).
Pasul 5: Depanare
1. Verificați dublu toate conexiunile în raport cu schema circuitului
2. I2C detect - Vă va arăta toate dispozitivele conectate prin i2c:
Tastați terminalul:
sudo apt-get install i2c-tools
sudo i2cdetect - y 1
Recomandat:
IoT: Vizualizarea datelor senzorului de lumină folosind Node-RED: 7 pași
IoT: Vizualizarea datelor senzorului de lumină folosind Node-RED: În acest instructiv, veți afla cum să creați un senzor conectat la internet! Voi folosi un senzor de lumină ambientală (TI OPT3001) pentru această demonstrație, dar orice senzor la alegere (temperatură, umiditate, potențiometru etc.) ar funcționa. Valorile senzorului
Trimiterea datelor senzorului de vibrații și temperatură fără fir către Excel folosind Node-RED: 25 de pași
Trimiterea datelor senzorului de vibrații și temperatură fără fir către Excel folosind Node-RED: Prezentarea senzorului de temperatură și vibrații wireless IoT Industrial Long Range IoT, oferind până la o rază de 2 mile utilizarea unei structuri de rețea fără fir mesh. Incorporând un senzor de precizie de vibrație și temperatură pe 16 biți, acest dispozitiv
Citirea datelor senzorului cu ultrasunete (HC-SR04) pe un ecran LCD 128 × 128 și vizualizarea acestuia folosind Matplotlib: 8 pași
Citirea datelor senzorului cu ultrasunete (HC-SR04) pe un ecran LCD de 128 × 128 și vizualizarea acestuia folosind Matplotlib: În acest instructable, vom folosi MSP432 LaunchPad + BoosterPack pentru a afișa datele unui senzor ultrasonic (HC-SR04) pe un 128 × 128 LCD și trimiteți datele către PC în serie și vizualizați-le folosind Matplotlib
Citirea și scrierea datelor pe EEPROM externă folosind Arduino: 5 pași
Citirea și scrierea de date către EEPROM externă Utilizând Arduino: EEPROM înseamnă Memorie numai în citire programabilă ștergibil electric. EEPROM este foarte importantă și utilă, deoarece este o formă de memorie nevolatilă. Aceasta înseamnă că, chiar și când placa este oprită, cipul EEPROM păstrează în continuare programul care
Trimiterea datelor senzorului de temperatură și umiditate fără fir IoT pe termen lung către foaia Google: 39 de pași
Trimiterea datelor senzorului de temperatură și umiditate fără fir IoT pe termen lung către foaia Google: Folosim aici senzorul de temperatură și umiditate NCD, dar pașii rămân egali pentru oricare dintre produsele ncd, deci dacă aveți alți senzori fără fir ncd, experiența este gratuită. alături de pe lângă. Prin oprirea acestui text, trebuie să