Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
De temperatuur en de relatieve vochtigheid zijn belangrijk
weergegevens in de omgevingen. De twee kunnen de gegevens zijn die een mini-weerstation levert. Het aflezen van uw temperatuur en relatieve vochtigheid met Raspberry Pi kan worden bereikt met behulp van verschillende soorten modules en add-ons. In deze zelfstudie gebruiken we een gewone sensor DHT11 om de temperatuur te lezen en geven we de gegevens weer op een 16-bits LCD-scherm.
Stap 1: DHT-sensor
De DHT11-sensor kan relatieve vochtigheid en temperatuur meten met de volgende specificaties:
Temperatuurbereik: 0-50°C
Temperatuurnauwkeurigheid: ±2 °C
Vochtigheidsbereik: 20-90% RH
Vochtigheid Nauwkeurigheid: ±5 %
Stap 2: De Adafruit LCD-bibliotheek installeren op Raspberry Pi:
Met de schil van je Raspberry pi open, volg je de onderstaande instructies om de Adafruit LCD-displaybibliotheek in de Raspberry pi te installeren. De waarde van de temperatuur en vochtigheid wordt weergegeven op een LCD-scherm
Stap 1: Installeer git op je Raspberry Pi met behulp van de onderstaande regel. Met Git kun je alle projectbestanden op Github klonen en op je Raspberry pi gebruiken. Onze bibliotheek staat op Github, dus we moeten git installeren om die bibliotheek naar pi te downloaden.
apt-get install git
Stap 2: De volgende regel linkt naar de GitHub-pagina waar de bibliotheek aanwezig is, voer gewoon de regel uit om het projectbestand in de Pi-thuismap te klonen
git clone git://github.com/adafruit/Adafruit_Python_CharLCD
Stap 3: Gebruik de onderstaande opdracht om de directoryregel te wijzigen om in het projectbestand te komen dat we zojuist hebben gedownload. De opdrachtregel wordt hieronder gegeven:
cd Adafruit_Python_CharLCD
Stap 4: In de map staat een bestand met de naam setup.py, we moeten het installeren om de bibliotheek te installeren. Gebruik de volgende code om de bibliotheek te installeren:
sudo python setup.py installeren
Stap 3: De Adafruit DHT11-bibliotheek installeren op Raspberry Pi:
De DHT11-bibliotheek van Adafruit kan ook worden gebruikt voor DHT11, DHT22 en andere eendraadstemperatuursensoren. De procedure voor het installeren van de DHT11-bibliotheek is ook vergelijkbaar met de procedure die wordt gevolgd voor het installeren van de LCD-bibliotheek. De enige regel die zou veranderen, is de link van de GitHub-pagina waarop de DHT-bibliotheek is opgeslagen.
Voer de vier opdrachtregels één voor één in op de terminal om de DHT-bibliotheek te installeren
git clone
cd Adafruit_Python_DHT
sudo apt-get install build-essentiële python-dev
sudo python setup.py installeren
Stap 4: Schakelschema
De DHT11-module wordt geleverd in 3 pinnen, sluit de Vcc aan op 5V op de pi, sluit de grondpin aan op een grondpin op de pi en sluit de datapin aan op de GPIO-pin van je keuze op de pi, in deze tutorial gebruiken we GPIO 17 dat is pin nummer 11 op de pi.
OPMERKING: De DHT11 wordt geleverd in module- of sensortype, degene die wordt weergegeven in het onderstaande schema is het sensortype met 4 pinnen, er is een weerstand aangesloten tussen de datapin en de Vcc, als u het moduletype gebruikt met slechts 3 pinnen, is de weerstand niet nodig.
Raadpleeg het onderstaande diagram voor de pinout van de Raspberry Pi-pinnen.
Stap 5:
Hieronder staat het volledige schema voor de aansluiting. Omdat het LCD-scherm de twee 5V die beschikbaar zijn op de pi zal gebruiken, kunnen we een breadboard gebruiken om de 5V te delen tussen het LCD-scherm en de DHT11-module. De LCD-pinnen worden in de volgende volgorde op de pi aangesloten. Houd er rekening mee dat pin 7, 8, 9 en 10 van het LCD-scherm niet worden gebruikt
Stap 6:
De volledige code voor het lezen van de gegevens en het weergeven ervan op het LCD-scherm wordt hieronder weergegeven:
van tijd import slaap import Adafruit_DHT van Adafruit_CharLCD import Adafruit_CharLCD sensor = Adafruit_DHT. DHT11 pin = 17 vochtigheid, temperatuur = Adafruit_DHT.read_retry(sensor, pin) lcd = Adafruit_CharLCD(rs=26, en=19, d4=13, d5=6, d6=5, d7=11, cols=16, lines=2) #DISPLAY EEN STATISCHE TEKST lcd.clear() als de vochtigheid niet Geen is en de temperatuur niet Geen: print('Temp={0:0.1f}*C Vochtigheid={1:0.1f}%'.format(temperatuur, vochtigheid)) lcd.message('Temp={0:0.1f}*C \nVochtigheid={1:0.1f}%'.format(temperatuur, vochtigheid)) else: print('Kan niet worden gelezen. Probeer het opnieuw!') lcd.message('Kan niet worden gelezen. Probeer het opnieuw!')