Seite 1
Willkommen Vielen Dank, dass Sie sich für unseren Temperatur-, Feuchtigkeits- und Luftdrucksensor AZ-Delivery BME280 entschieden haben. Auf den folgenden Seiten erfahren Sie, wie Sie dieses Gerät bedienen und einrichten können. Viel Spaß!
Anwendungsbereiche Bildung und Lehre: Einsatz in Schulen, Hochschulen und Ausbildungseinrichtungen zur Vermittlung von Grundlagen der Elektronik, Programmierung und eingebetteten Systemen. Forschung und Entwicklung: Verwendung in Forschungs- und Ent- wicklungsprojekten zur Erstellung von Prototypen und Experimenten in den Bereichen Elektronik und Informatik. Prototypen- entwicklung: Einsatz in der Entwicklung und Erprobung neuer elektronischer Schaltungen und Geräte.
Seite 3
Anforderungen der RoHS-Richtlinie (2011/65/EU) entspricht und keine gefährlichen Stoffe in über den Grenzwerten zulässigen Mengen enthält, können dennoch Rückstände vorhanden sein. Beachten Sie die folgenden Sicherheitshinweise, um chemische Gefährdungen zu vermeiden: Achtung: Beim Löten können Dämpfe entstehen, die gesundheitsschädlich sein können. Hin- weis: Verwenden Sie einen Lötdampfabsauger oder arbeiten Sie in einem gut belüfteten Bereich.
Inhaltsverzeichnis Einführung.....................3 Spezifikationen....................4 Einrichten der Arduino IDE................5 Einrichten mit Raspberry Pi und Python............9 Pinbelegung....................10 Verbinden des Moduls mit dem Mikrocontroller...........11 Arduino IDE Bibliothek.................12 Beispiel Sketch..................14 Anschließen des Sensors mit Raspberry Pi..........19 Freigeben der I2C Schnittstelle..............20 Python Skripte..................22 - 2 -...
Reaktionszeit machen ihn zu einem perfekten Kandidaten für die Erweiterung der Funktionalität vieler anderer Geräte der Wahl. Der BME280 unterstützt die serielle Schnittstelle I2C. Der Sensor hat die vordefinierte I2C-Adresse, 0x76. Die I2C-Adresse kann auf den Wert 0x77 geändert werden, was in diesem eBook nicht behandelt wird.
Spezifikationen » Betriebs-Spannungsbereich: von 3.3V bis 5V DC » Stromverbrauch: < 1mA » Temperaturbereich: von -40°C bis 85 °C » Temperaturgenauigkeit: ±1.0°C » Druckbereich: von 300 bis 1100 hPa » Druckgenauigkeit: ±1hPa » Luftfeuchtigkeitsbereich: von 0 bis 100% RH » Genauigkeit der Feuchte: ±3% »...
Pinbelegung Der Sensor BME280 hat vier Pins. Die Pinbelegung ist in der folgenden Abbildung dargestellt: Der Sensor hat einen on-board LM6206 3,3V Spannungsregler und einen Spannungspegelübersetzer. Die Pins des BME280-Sensors können mit Spannungen im Bereich von 3,3V bis 5V betrieben werden, ohne dass eine Gefahr für den Sensor selbst besteht.
Einrichten der Arduino IDE Wenn die Arduino IDE nicht installiert ist, folgen Sie dem link und laden Sie die Installationsdatei für das Betriebssystem Ihrer Wahl herunter. Für Windows-Benutzer doppelklicken Sie auf die heruntergeladene .exe- Datei und folgen Sie den Anweisungen im Installationsfenster. - 6 -...
Seite 9
Für Linux-Benutzer laden Sie eine Datei mit der Erweiterung .tar.xz herunter, die extrahiert werden muss. Wenn sie entpackt ist, gehen Sie in das extrahierte Verzeichnis und öffnen Sie das Terminal in diesem Verzeichnis. Zwei .sh-Skripte müssen ausgeführt werden, das erste heißt arduino-linux-setup.sh und das zweite heißt install.sh.
Seite 10
Auf fast allen Betriebssystemen ist ein Texteditor vorinstalliert (z. B. Windows mit Notepad, Linux Ubuntu mit Gedit, Linux Raspbian mit Leafpad usw.). Alle diese Texteditoren sind für den Zweck des eBooks vollkommen in Ordnung. Als nächstes müssen Sie überprüfen, ob Ihr PC ein Microcntroller-Board erkennen kann.
Seite 11
Wenn die Arduino IDE unter Windows verwendet wird, lauten die Portnamen wie folgt: Für Linux-Benutzer lautet der Name des Anschlusses beispielsweise /dev/ttyUSBx, wobei x eine ganze Zahl zwischen 0 und 9 darstellt. - 9 -...
Einrichten des Raspberry Pi und Python Für den Raspberry Pi muss zunächst das Betriebssystem installiert werden, dann muss alles so eingerichtet werden, dass er im Headless-Modus verwendet werden kann. Der Headless-Modus ermöglicht eine Remote- Verbindung zum Raspberry Pi, ohne dass ein PC-Bildschirm Monitor, Maus oder Tastatur benötigt wird.
Verbinden des Moduls mit dem Mikrocontroller Verbinden Sie den Sensor BME280 mit dem Mikrocontroller wie im folgenden Anschlussplan dargestellt: BME280 pin MC pin Wiring color 3.3V Red wire Black wire Orange wire Blue wire - 11 -...
öffnen Sie die Arduino IDE und gehen Sie zu: Werkzeuge > Bibliotheken verwalten Wenn sich ein neues Fenster öffnet, geben Sie BME280 in das Suchfeld ein und installieren Sie die Bibliothek namens Adafruit BME280 Library von Adafruit, wie auf dem folgenden Bild gezeigt: Wenn die Schaltfläche Installieren angeklickt wird, wird die Aufforderung zur...
Seite 15
Klicken Sie auf alle installieren, um die Installation der Adafruit BME280- Bibliothek abzuschließen. - 13 -...
Seite 18
Laden Sie den Sketch auf den Mikrocontroller hoch und öffnen Sie den Serial Monitor (Werkzeuge > Serial Monitor). Das Ergebnis sollte wie die Ausgabe auf dem folgenden Bild aussehen: - 16 -...
Seite 19
Der Sketch beginnt mit der Einbindung von drei Bibliotheken: Wire, Adafruit_Sensor und Adafruit_BME280. nächstes wird Objekt namens folgenden Codezeile erstellt: Adafruit_BME280 bme; In der Funktion setup() wird die serielle Kommunikation mit der Baudrate von 9600bps gestartet. Dann wird das bme-Objekt mit der folgenden Codezeile initialisiert: bme.begin(0x76) wobei 0x76 die I2C-Adresse des Sensors ist.
Seite 20
Funktion loop() werden Temperatur-, Druck- Feuchtigkeitsdaten mit den folgenden Codezeilen gelesen: bme.readTemperature() bme.readPressure() / 100.0F bme.readHumidity() Danach werden die Daten im Serial Monitor mit folgenden Codezeilen angezeigt: Serial.print(bme.readTemperature()); Serial.print(bme.readPressure() / 100.0F); Serial.print(bme.readHumidity()); Es gibt eine Pause von einer Sekunde zwischen zwei Messungen am Ende der loop() Funktion: delay(1000);...
Anschließen des Sensors mit Raspberry Pi Verbinden Sie den BME280-Sensor mit dem Raspberry Pi wie auf dem folgenden Anschlussplan dargestellt: BME280 pin Raspberry Pi pin Physical pin No. Wire color Black wire Red wire GPIO3 Blue wire GPIO2 Green wire...
Freigeben der I2C Schnittstelle Um das Modul mit dem Raspberry Pi verwenden zu können, muss die I2C- Schnittstelle aktiviert werden. Öffnen Sie folgendes Menü: Application Menu > Preferences > Raspberry Pi Configuration Aktivieren Sie im neuen Fenster auf der Registerkarte "Interfaces" das Optionsfeld "I2C", wie auf dem folgenden Bild gezeigt: - 20 -...
Seite 23
Um die I2C-Adresse des an der I2C-Schnittstelle des Raspberry Pi angeschlossenen Sensors zu ermitteln, muss das Tool i2c-tools installiert sein, falls nicht, öffnen Sie das Terminal und führen Sie den folgenden Befehl aus: sudo apt-get install i2c-tools Um die I2C-Adresse zu ermitteln, öffnen Sie das Terminal und führen Sie den folgenden Befehl aus: i2cdetect -y 1 Das Ergebnis sollte wie die Ausgabe auf dem folgenden Bild aussehen:...
Python Skripte Es werden zwei Skripte erstellt, eines für alle Funktionen und das andere für die Verwendung dieser Funktionen, wegen der besseren Lesbarkeit. Der Code für das erste Skript sieht wie folgt aus: import smbus import time from ctypes import c_short from ctypes...
Seite 25
getUChar(data, index): # return one byte from data as an unsigned char result = data[index] & 0xFF return result readBME280ID(addr=DEVICE): # Chip ID Register Address REG_ID 0xD0 (chip_id, chip_version) bus.read_i2c_block_data(addr, REG_ID, 2) return (chip_id, chip_version) readBME280All(addr=DEVICE): # Register Addresses REG_DATA 0xF7 REG_CONTROL 0xF4...
Seite 26
# one tab # Convert byte data to word values dig_T1 getUShort(cal1, 0) dig_T2 getShort(cal1, 2) dig_T3 getShort(cal1, 4) dig_P1 getUShort(cal1, 6) dig_P2 getShort(cal1, 8) dig_P3 getShort(cal1, 10) dig_P4 getShort(cal1, 12) dig_P5 getShort(cal1, 14) dig_P6 getShort(cal1, 16) dig_P7 getShort(cal1, 18) dig_P8 getShort(cal1, 20) dig_P9...
Seite 28
# one tab humidity > 100: humidity elif humidity < humidity return temperature 100.0, pressure 100.0, humidity Speichern Sie das Skript unter dem Namen bme280.py. Der Skriptcode wird aus dem script modifiziert. - 26 -...
Seite 29
Im Folgenden finden Sie den Code für das Hauptskript: import bme280 from time import sleep u'\xb0' print('[Press CTRL + C to end the script!]') try: while(True): temperature,pressure,humidity bme280.readBME280All() print('Temperature = {}{}C'.format(temperature, dgr)) print('Humidity = {.2f}%'.format(humidity)) print('Pressure = {.2f}hPa\n'.format(pressure)) sleep(1) except...
Seite 30
Speichern Sie das Skript unter dem Namen bme280main.py in das gleiche Verzeichnis, in dem Sie das Skript bme280.py gespeichert haben. Um das Hauptskript auszuführen, öffnen Sie das Terminal in dem Verzeichnis, in dem die Skripte gespeichert sind, und führen Sie den folgenden Befehl aus: python3 bme280main.py...
Seite 31
Das Skript bme280main.py beginnt mit dem Import des Skripts bme280 und der Funktion sleep aus der Bibliothek time. Dann wird die dgr-Variable erstellt, in der der UTF-Grad-Vorzeichenwert gespeichert wird. Als nächstes wird der try-except-Codeblock erstellt. Im try-Codeblock wird der Endlosschleifenblock (while True:) erstellt. Innerhalb dieses Codeblocks wird die Funktion readBME280All() verwendet, um die Sensordaten zu lesen.
Seite 32
Sie mit Hilfe von vielen Beispielskripten und anderen Tutorials tun, die Sie im Internet finden können. Wenn Sie auf der Suche nach dHochwertige Mikroelektronik und Zubehör sind, sind Sie bei der AZ-Delivery Vertriebs GmbH genau richtig. Sie erhalten zahlreiche Anwendungsbeispiele, vollständige Installationsanleitungen, eBooks, Bibliotheken und Unterstützung durch unsere technischen Experten.