Digitale Barometer (BME280)

Bosch heeft een prachtige sensor beschikbaar, de BME280, die relatieve vochtigheid, barometrische druk en omgevingstemperatuur meet. Deze sensor is geweldig voor alle soorten weerwaarneming en kan worden gebruikt met zowel I2C als SPI. 
Deze precisiesensor van Bosch is de beste en goedkoopste oplossing voor het meten van de barometerdruk met ± 1 hPa absolute nauwkeurigheid en temperatuur met nauwkeurigheid van ± 1,0 °C. Omdat de druk verandert met de hoogte en de drukmetingen zo goed zijn, kun je deze ook gebruiken als een hoogtemeter met een nauwkeurigheid van ± 1 meter.

Verschil tussen de BME280 en de BMP280
Zoals gezegd kan de BME280 kan luchtdruk, temperatuur en relatieve luchtvochtigheid meten, terwijl de BMP280 alleen luchtdruk en temperaturen kan meten. De BME280-chip is een upgrade van BMP280 en tevens wat duurder dan de BMP280.

Ofschoon picademie.nl verschillende tutorials beschikbaar stelt kunnen beide modules op dezelfde wijze worden aangestuurd.

Specificaties
– Werkspanning : 1,71 – 3,6 VDC
– Laag stroomverbruik : 4μA
– Communicatie-interface: I2C of SPI

De module komt in meerdere vormen voor. Hieronder zie je twee verschillende uitvoeringen waarbij de pin aanduiding van de blauwe versie pas echt duidelijk wordt als je de paarse ernaast zet.

Aansluitschema
De module wordt als volgt met de Raspberry Pi verbonden.

Achtergrond
Hieronder wat achtergrond informatie van de signaalaansluitingen van de veelzijdige module.

Voedingsspanning
VCC : voedingspin. De werkspanning voor de chip is 1,71-3,6V. Sommige modules zijn voorzien van een spanningsregelaar waarbij je 5V op de module kunt aansluiten.

I2C-interface
De I2C-interface gebruikt de volgende pinnen:
SCK : seriële klok (SCL)
SDI : seriële data (SDA)
SDO : het I2C-adres bepaalt of de pin gebruikt wordt. Als SDO verbinding maakt met GND (0), is het adres 0x76, als het wordt verbonden met het Digital Interface supply VddIO (1), is het adres 0x77.
CSB : moet zijn aangesloten op VddIO om de I2C-interface te selecteren.

SPI-interface
De SPI-interface gebruikt de volgende pinnen:
CSB : chip select, actief laag en heeft een geïntegreerde pull-up-weerstand
SCK : seriële klok
SDI : seriële gegevensinvoer; data invoer / uitvoer in 3-draadsmodus
SDO : seriële gegevensuitvoer; hi-Z in 3-draadsmodus

I2C inschakelen
Om de module te kunnen gebruiken dien je de I2Cinterface voor de Raspberry Pi in te schakelen als je dat nog niet hebt gedaan. De eenvoudigste manier is dit via de desktop te doen. Klik op het Start Menu en op Voorkeuren en Raspberry Pi-configuratie programma.

Raspi-config
Natuurlijk kun je de interface ook activeren met de SSH verbinding, zoals Putty. Type hiervoor achter de prompt: sudo raspi-config. Ga vervolgens naar Interfacing Options en selecteer I2C en vervolgens <Ja> en OK. Ga naar <FINISH> om het venster te sluiten. Reboot vervolgens de Raspberry Pi om de interfaces te activeren.

Kijk of de module door de Raspberry Pi gezien wordt met: i2cdetect -y 1

Als het goed is verschijnt de volgende tabel met daarin de interface op adres 0x76:

Het BME280 script
Matt Hawkins heeft weer een juweeltje geleverd die we kunnen gebruiken. Ik heb het script aangepast naar Python 3 omdat het script van Matt op basis van Python 2 was.

Het script gaat ervan uit dat het moduleadres 0x76 is. Je kunt dit wijzigen door de DEVICE-variabele in bme280_v1.py met de editor te bewerken.

Voer het script uit met:
python bme280_v1.py

Als het goed is zie je het volgende verschijnen:

Have A Nice Day!

Geef als eerste een reactie

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd.


*