Raspberry Pi Pico W BH1750 Helligkeitssensor

Aus Laub-Home Wiki

Mit dem Raspberry Pi Pico oder Raspberry Pi Pico w ist es möglich den BH1750 Helligkeitssensor auszulesen. Dieses Setup kann man zum Beispiel nutzen, um dauerhaft die Helligkeit in einem Raum zu messen. Es ist möglich den Pico mit einem Battery Pack zu nutzen, was ihn dann somit sehr flexibel der Örtlichkeiten macht. Verbindet man den Pico W mit einem Wlan ist es auch möglich die Werte zum Beispiel via MQTT an das Smart Home senden.

Seid ihr auf der Suche nach einer Anleitung den BH1750 Sensor an einem Raspberry Pi zum laufen zu bekommen, schaut hier weiter:

Voraussetzungen

Wenn ihr noch keine Erfahrung mit dem Raspberry Pi Pico gesammelt habt, dann schaut am besten erst einmal hier rein:

Anschluss des Sensors am GPIO

Raspberry Pi Pico Pinbelegung
Raspberry Pi Pico W Pinbelegung

Wir schließen den Sensor wie folgt an:

Raspberry Pi Pico BME680
Pin 36 3V3 (OUT) VCC
Pin 28 GND GND
Pin 27 GP21(I2C0 SCL) SCL
Pin 26 GP20(I2C0 SDA) SDA

Auslesen der Daten

Mit dem folgenden MicroPython Scripten kann man die Werte des BME680 Sensors auslesen:

Das "Treiber" Script müsst ihr vorher auf jeden Fall auf den Pico übertragen, am besten legt es unter /lib ab. Ihr könnt es hier herunterladen:

lib/bh1750.py

als nächstes könnt ihr mit dem folgenden Script einen ersten Test vagen, ob der Sensor alle Werte ausliefert:

bh1750_sample.py

# -*- coding: utf-8 -*-
"""BH1750 Sensor 
reads iluminance of a BH1750 sensor
you need to download first bh1750.py from:
* https://raw.githubusercontent.com/alaub81/rpi_pico_scripts/main/lib/bh1750.py
and upload it to the lib or root folder of your pico
"""

#import machine
from machine import I2C, Pin
from bh1750 import BH1750

# Initialize I2C-Pins
i2c_sda = Pin(20)
i2c_scl = Pin(21)

bh1750 = BH1750(I2C(0, sda=i2c_sda,scl=i2c_scl))

while True:
    bh1750.luminance(BH1750.ONCE_HIRES_1)
    print("Iluminance: %f lux" % bh1750.luminance(BH1750.ONCE_HIRES_1))

Die Konsolen Ausgabe sieht dann wie folgt aus.

>>> Running bh1750_sample.py
 
Iluminance: 10.833333 lux 

Iluminance: 10.833333 lux 

Das Script könnt ihr auch hier herunterladen:

Mehr Pico MicroPython Scripte findet ihr hier:

Quellen