Aujourd’hui, nous aimerions vous offrir le Module de détection BME280 Imaginer.
Le module est équipé d’un capteur ambiant de Bosch. Ceci combine les 3 types différents de capteur : capteur de pression, capteur d’humidité et capteur de température. Tout cela dans un petit boîtier de 8 broches.
Il est situé sur une petite planche avec 4 broches: VIN, GND, SCL et SDA.
Il est donc très facile de connecter le capteur à un microcontrôleur via I2C.
Dans cet exemple, nous utilisons un Microcontrôleur AZ-Delivery, compatible avec Arduino Uno-R3.
Nous connectons les broches suivantes :
Microcontrôleur AZ-Delivery, compatible avec Arduino Uno R3 |
BME280 Module |
3.3v |
Vin (Vin) |
Gnd |
Gnd |
Scl |
Scl |
Sda |
Sda |
Nous utilisons 2 bibliothèques d’Adafruit pour notre projet : « Capteurs unifiés d’adafruit » et « Bibliothèque BME280 d’Adafruit »
S’ils ne sont pas encore installés, le moyen le plus simple de les intégrer est par l’intermédiaire du directeur de la bibliothèque de l’IDE Arduino.
Ensuite, via "File" - "Exemples" - "Adafruit BME280 Library" - "bme280test" ouvrent le croquis d’essai.
Une fois l’esquisse compilée et téléchargée, nous ouvrons le moniteur de série en cliquant sur l’icône en haut à droite (ou avec la combinaison de clés Ctrl-Shift-M) :
Si le message "Impossible de trouver un capteur BME280 valide, vérifier le câblage!" apparaît comme ici, une ligne doit être ajustée dans l’esquisse.
statut bme.begin ();
Sur
statut bme.begin(0x76);
Maintenant, le capteur est lu correctement:
Nous espérons que notre blog aujourd’hui avec le nouveau Capteur BME280et nous sommes impatients de vous entendre. Jusqu’au prochain post de AZ-Delivery, votre expert en microélectronique!
4 commentaires
Lollo7579
Hatte das selbe Problem wie foto2004 an einem ESP32 Wroom bis mir die Idee kam SCA & SCL mal zu tauschen und siehe da Sensor läuft. ;-)
Simon Kellner
Habe den Sensor zuerst auch mit I2C-Adresse 0×76 nicht zum Laufen bekommen.
Habe dann die Adafruit-Library erweitert, um vorab die Chip-ID auszulesen.
Diese war nicht 0×58 (Default in Adafruit) sondern 0×60. Danach wurden auch die Werte ausgelesen.
→ status = bme.begin(0×76, 0×60);
foto2004
Also ich bekomme das Teil absolut nicht zum laufen.
Ich habe es an einem ESP-32 NodeMCU Developmentboard :
VIN = 3V3
GND = GND
SCL = G5
SDA = G4
Hat da jemand eine Idee, es kommt bei mir in dem Testsketch immer dass er das Board nicht finden kann. Habe auch schon versucht die Adresse zu ändern ohne Erfolg .
Dino Schmitz
Hallo,
eine Frage zum Raspberry (3b mit aktuellem Rasbian Stretch). Mit den i2ctools (i2cdetect -y 1) wird der Sensor bei mir erkannt mit adresse x76. Bei Ansprache unter Python wird unabhängig von der verwendeten Bibliothek ein Fehler geworfen. Z.B.:
File “bme280.py”, line 56, in readBME280ID
(chip_id, chip_version) = bus.read_i2c_block_data(addr, REG_ID, 2)
IOError: [Errno 121] Remote I/O error
Ist eine funktionierende Bibliothek bekannt oder gibt es eine andere Lösung?
Vielen Dank