BME680 – Een allesomvattende gids over de omgevingssensor
Over het algemeen vereisen verschillende elementen detectie en evaluatie, zoals vochtigheid, licht, temperatuur, gas, waterniveau, enz. De meest gebruikelijke methode voor het uitvoeren van de metingen is dus via detectieapparatuur zoals thermometers, gassensorchips, enz. Ondanks dat ze efficiënt zijn , ze voelen maar één element. En dus brengen we een multifunctionele sensor, BME680, onder uw aandacht.
De BME680-sensor is een 4-in-1 omgevingsparameter met een barometersensor, temperatuursensor, enz. Bovendien weet u hoe u de BME680 kunt verbinden met een Arduino-printplaat nadat u de benodigde bibliotheken in dit artikel hebt geïnstalleerd.
Wat is de BME680?
BME680 is een omgevingssensor die zeer nauwkeurige, hoge lineariteit temperatuur-, vochtigheids-, atmosferische/barometrische druk- en VOC-gassensoren bevat. Kort gezegd, BME680-gassensoren detecteren een breed gasbereik, bijvoorbeeld VOC (vluchtige organische stoffen), voordat de kwaliteit van de binnenlucht wordt gemeten.
Vaak garanderen sensoren een hoge EMC-robuustheid, stabiliteit op lange termijn en geoptimaliseerd verbruik, afhankelijk van een bepaalde operatie.
BME680 omgevingssensor
Verder is het vooral toepasbaar bij een laag stroomverbruik en compacte producten zoals draagbare en mobiele apparaten.
BME680-nauwkeurigheid
De onderstaande tabel toont de absolute nauwkeurigheid van BME68 in druk-, vochtigheids- en temperatuursensor.
BME680 werkbereik
TDe tweede tabel toont het werkingsbereik voor de druk-, vochtigheids- en temperatuursensoren van de BME680.
BME680 pinout
BME680-apparaatconfiguratie
BME 680-sensor heeft zes pinnen die hieronder worden weergegeven;
Schema – Arduino met BME 680
BME60-sensor communiceert en ondersteunt zowel een SPI-interface als een I2C-communicatieprotocol. Verder zijn de benodigde componenten onder meer jumperdraden, breadboard, Arduino UNO en BME680-sensormodule.
BME680-sensor verbinden met Arduino UNO met behulp van jumperdraden/kabels
Arduino UNO met BME680 met I2C
Arduino UNO met BME680 met SPI
Opmerking;
- Zoek de Adafruit BME680-bibliotheek op en installeer vervolgens de BME680-bibliotheek/sensormodule in uw Arduino IDE voor de vereiste sensormetingen.
- Begin dan opnieuw met uw Arduino IDE na de installatie van de bibliotheek.
- Vervolgens vereist het gebruik van de BME680 de installatie van de Adafruit_sensor-bibliotheek. Daarom is onze volgende stap het toevoegen van de Adafruit_sensor-bibliotheek aan de Arduino IDE.
Hoe krijg je metingen van de BME680-sensormodule?
We gebruiken een schetsvoorbeeld uit de AdafruitBME680-bibliotheek om de sensormeting van vochtigheid, temperatuur, druk en gas te krijgen.
Open eerst uw Arduino IDE met de geïnstalleerde Adafruit_sensor en BME680-bibliotheek. Ga dan verder met bme680async vanuit bestanden, voorbeelden en Adafruit BM680-bibliotheek.
Dus, hier is een lay-out van de onbewerkte code;
Hoe de code werkt
Benodigde bibliotheken
De eerste onbewerkte code begint als volgt met het invoegen van de vereiste bibliotheken;
- Adafruit_BME680 en Adafruit_Sensor-bibliotheken voor BME 680-sensorinterface,
- SPI-bibliotheek, en
- I2C-bibliotheek.
SPI- of I2C-communicatie
Vervolgens kunt u een SPI- of I2C-communicatieprotocol gebruiken met BME680, aangezien beide de vereiste codes hebben.
Onze code is voor het I2C-protocol, zorg er daarom voor dat u de coderegels hieronder die SPI-pinnen definiëren, verwijdert.
De druk van de zeespiegel
In het derde deel is er een gecreëerde variabele die bekend staat als SEALEVELPRESSURE_HPA en die de druk op zeeniveau in hectopascal bespaart.
Vaak vergelijkt de variabele de druk op zeeniveau met een bepaalde druk om een geschatte hoogte te krijgen. En aangezien het een standaardwaarde heeft, gebruikt u de exacte huidige drukwaarde op zeeniveau voor een betere nauwkeurigheid.
I2C
Zoals we eerder zeiden, is I2C het standaard communicatieprotocol. Daarom toont de onderstaande regel bme (Adafruit_BME680-object) op uw Arduino I2C-pinnen, d.w.z. D4/SDA en D5/SCL.
U kunt ook de onderstaande coderegel verwijderen wanneer u SPI gebruikt en commentaar geven op de bovenstaande regel.
Setup()
Ten vijfde helpt de setup () bij het starten van een seriële communicatie.
BME 680-sensor initialiseren
De zesde codestap vereist het initialiseren van de BME 680-sensor.
Stel daarna de parameters voor de gasverwarming, het filter en de oversampling in voor de BME 680.
Loop()
Ons laatste lus()-stapproces geeft ons BME 680-sensormetingen waarbij het de sensor opdracht geeft om een asynchrone meting te beginnen met behulp van bme.begin reading(). Vervolgens zal het helpen om de tijd te kennen om de lezing te ontvangen.
Beëindig of blokkeer later de asynchrone meting met behulp van de methode end reading().
Ten slotte krijgen we nu de sensormetingen die bestaan uit:
Praktische demonstratie
Nu we weten hoe de code werkt, zullen we deze uploaden naar het Arduino UNO-bord. Open vervolgens de seriële monitor (115200 baudrate) om de sensormetingen weer te geven. Druk vervolgens op de knop die op het bord van RST is geschreven, en het zou eruit moeten zien als het onderstaande diagram;
BME 680-toepassingen
Toepassingen van de BME 680-sensor omvatten;
(Smartwatches – soorten draagbare apparaten)
(Een sensor die de hoeveelheid fijnstof in de lucht laat zien)
(stappenteller)
Conclusie
Kort samengevat is de BME 680 een digitale omgevingssensor die gas meet zoals koolmonoxide, luchtdruk, vochtigheid en temperatuur.
Als u meer wilt weten over BME 680 of vragen heeft, neem dan contact met ons op.
Industriële technologie
- De milieu-impact van grensoverschrijdende e-commerce
- De complete gids voor 3D-printen
- Wat is AIaaS? De ultieme gids voor AI as a Service
- De experthandleiding voor Field Service Management
- De essentiële gids voor logistiek management
- De complete gids voor voorraadbeheer
- De ultieme gids voor onderhoudsbeheer
- De ultieme gids voor supply chain management
- De ultieme CMMS-aankoopgids
- 74LS74:een allesomvattende gids voor de dubbele flip-flop
- Mq-3 gassensor: De ultieme gids voor een alcoholsensor