Seite 1
Herzlich willkommen! Vielen Dank, dass Sie sich für unser AZ-Delivery GY-302 (BH1750) Lichtsensormodul entschieden haben. Auf den folgenden Seiten erfahren Sie, wie Sie dieses praktische Gerät verwenden 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.
Inhaltsübersicht Einführung ........................3 Spezifikationen ......................4 Die Pinbelegung ......................6 Einrichten der Arduino IDE..................7 Wie man den Raspberry Pi und Python einrichtet..........11 Verbinden des Moduls mit dem Atmega328P Board..........12 Bibliothek für Arduino IDE ...................13 Beispiel-Skizze ......................14 Verbinden des Moduls mit dem Raspberry Pi............16 Bibliothek und Werkzeuge für Python ...............17 Python-Skript ......................18 - 2 -...
Einführung Das Lichtsensormodul GY-302 (BH1750) ist ein Gerät, das die Intensität von sichtbarem Licht (Wellenlänge etwa 400 - 700 nm) messen kann. Das Modul basiert auf dem BH1750 Lichtsensorchip, im Prinzip eine Fotodiode mit einem internen Verstärker und einem 16 Bit ADC (Analog-Digital-Wandler).
Seite 6
von der Lichtmenge, der er ausgesetzt wurde. - 4 -...
Spezifikationen Betriebsspannungsbereich: von 3,3V bis 5V DC Maximaler Betriebsstrom: 190µA (max) Auflösung des Sensors 16 Bits Spitzen-Wellenlänge 560nm Messbereich von 1 bis 65535lx Genauigkeit +/-20% Schnittstelle I2C (Adresse 0x23 oder 0x5C) Betriebstemperatur -40°C ~ 85°C Abmessungen: 19 x 14 x 2mm [0.7 x 0.5 x 0.1in] Der BH1750 verfügt über sechs verschiedene Messmodi, die in zwei Gruppen unterteilt sind: kontinuierliche und einmalige Messungen.
Die Pinbelegung Das Lichtsensormodul hat fünf Pins. Das Pinbelegungsdiagramm ist in der folgenden Abbildung dargestellt: VCC - Stromversorgungspin GND - Erdungsanschlussstift SCL - I2C Serielle Taktleitung Anschlusspin SDA - I2C Serielle Datenleitung Anschlusspin ADDR - Geräteadress-Pin, wird verwendet, um die Adresse auszuwählen, wenn mehr als ein Modul an denselben I2C-Bus angeschlossen ist.
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. Die für dieses E-Book verwendete Arduino-IDE-Version ist 1.8.12. Windows-Benutzer doppelklicken auf die heruntergeladene .exe-Datei und folgen den Anweisungen im Installationsfenster.
Seite 11
Für Linux-Benutzer laden Sie eine Datei mit der Erweiterung .tar.xz herunter, die entpackt werden muss. Nach dem Entpacken wechseln Sie in das entpackte Verzeichnis und öffnen 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 12
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 E-Books vollkommen ausreichend. Als Nächstes müssen Sie überprüfen, ob Ihr PC ein Arduino-Board erkennen kann.
Seite 13
Wenn die Arduino IDE unter Windows verwendet wird, lauten die Portnamen wie folgt: Für Linux-Benutzer lautet der Name des Anschlusses zum Beispiel /dev/ttyUSBx, wobei x steht für eine ganzzahlige Zahl zwischen 0 und 9. - 11 -...
Seite 14
So richten Sie den Raspberry Pi und Python ein Auf dem 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 Fernverbindung mit dem Raspberry Pi, ohne dass ein PC-Bildschirm, eine Maus oder eine Tastatur benötigt werden.
Verbinden des Moduls mit dem Atmega328P Board Verbinden Sie das Modul mit der Mikrocontroller-Platine wie im folgenden Anschlussplan dargestellt: Modul-Stift Mikrocontroller-Pin Farbe des Kabels DATEN Blauer Draht Grüner Draht Schwarzer Draht Rotes Kabel - 13 -...
Bibliothek für Arduino IDE Um das Sensormodul mit einem Mikrocontroller-Board zu verwenden, empfiehlt es sich, eine externe Bibliothek herunterzuladen. Die Bibliothek, die wir verwenden werden, heißt BH1750. Die Version der Bibliothek, die wir verwenden, ist 1.1.4. Um sie herunterzuladen und zu installieren, öffnen Sie die Arduino IDE und gehen Sie zu: Werkzeuge >...
Seite 18
Laden Sie den Sketch auf das Mikrocontroller-Board hoch und starten Sie den Serial Monitor (Tools > Serial Monitor). Das Ergebnis sollte wie in der folgenden Abbildung aussehen: - 16 -...
Verbinden des Moduls mit dem Raspberry Pi Verbinden Sie das Modul mit dem Raspberry Pi wie im folgenden Anschlussplan dargestellt: Modul-Stift Raspberry Pi Stift Physikalisch Farbe des e Nadel Kabels Rotes Kabel GPIO2 Grüner Draht GPIO3 Blaues Kabel Schwarzes - 17 -...
Bibliothek und Werkzeuge für Python Um das Modul mit dem Raspberry Pi zu verwenden, müssen die verschiedenen Bibliotheken installiert werden. Um die Bibliotheken zu installieren, öffnen Sie das Terminal und führen Sie die folgenden Befehle nacheinander aus: sudo apt-get update && sudo apt-get upgrade sudo apt-get install python-smbus python3-smbus python- dev python3-dev i2c-tools - 19 -...
Freischaltung der I2C-Schnittstelle Um den Sensor mit dem Raspberry Pi verwenden zu können, muss die I2C- Schnittstelle a m Raspberry Pi aktiviert werden. Gehen Sie dazu auf: Anwendungsmenü > Einstellungen > Raspberry Pi Konfiguration Wenn sich ein neues Fenster öffnet, suchen Sie die Registerkarte "Schnittstellen".
Seite 23
Um die I2C-Adresse des Moduls zu ermitteln, sollten die i2ctools installiert werden. Um es zu installieren, öffnen Sie das Terminal und führen Sie den folgenden Befehl aus: sudo apt-get install i2ctools -y Die Überprüfung der I2C-Adresse erfolgt durch Ausführen des folgenden Befehls im Terminal: i2cdetect -y 1 Die Terminalausgabe sollte wie in der folgenden Abbildung aussehen:...
Python-Skript smbus importieren Zeit importieren 0x23 GERÄT POWER_DOWN 0x00 NETZ_EIN 0x01 RESET 0x07 CONTINUOUS_LOW_RES_MODE 0x13 CONTINUOUS_HIGH_RES_MODE_1 0x10 CONTINUOUS_HIGH_RES_MODE_2 0x11 ONE_TIME_HIGH_RES_MODE_1 0x20 ONE_TIME_HIGH_RES_MODE_2 0x21 ONE_TIME_LOW_RES_MODE 0x23 smbus.SMBus(1) convertToNumber(data): result=(data[1] (256 data[0])) return ergebnis readLight(addr=DEVICE): data bus.read_i2c_block_data(addr, ONE_TIME_HIGH_RES_MODE_1) return convertToNumber(data) print('[Drücken Sie CTRL + C, um das Skript zu beenden!]') try: while True:...
Seite 25
Speichern Sie das Skript unter dem Namen gy302.py. Um das Skript auszuführen, öffnen Sie das Terminal in dem Verzeichnis, in dem das Skript gespeichert ist, und führen Sie den folgenden Befehl aus: python3 gy302.py Das Ergebnis sollte wie in der folgenden Abbildung aussehen: Um das Skript zu stoppen, drücken Sie 'CTRL + C' auf der Tastatur.
Seite 26
Zu Beginn des Skripts werden die Bibliotheken smbus und time importiert. Dann werden die verschiedenen Variablen definiert. Die erste Variable namens DEVICE ist die I2C-Adresse des Sensors, die den Wert 0x23 hat. zweite Variable Bezeichnung POWER_DOWN hexadezimalen Wert 0x00, der den nicht aktiven Zustand des Sensors darstellt.
Der vierte Messmodus beginnt mit Luxwerten bis zu 1lx und wird als einmaliger hochauflösender Modus bezeichnet. Die Messzeit in diesem Modus beträgt etwa 120 ms. Der Registerwert für diesen Abtastmodus ist 0x20. Der fünfte Messmodus beginnt mit Luxwerten bis zu 0,5lx und wird als einmaliger hochauflösender Modus bezeichnet.
Seite 30
Anschließend wird der try-except-Codeblock erstellt. Im try-Block wird die unendliche Schleife erstellt. Hier ist der Algorithmus, der die Daten vom Sensor liest und im Terminal anzeigt. Zwischen zwei Schleifen der unendlichen Schleife liegt 1 Sekunde Pause. Der Ausnahme-Codeblock wird ausgeführt, wenn die Tastenkombination STRG Tastatur gedrückt...
Seite 31
Wenn Sie microelettronica e accessori di alta qualità suchen, sind Sie bei der AZ- Delivery Vertriebs GmbH an der richtigen Adresse. Sie werden zahlreichen Anwendungsbeispielen, vollständigen Installationsanleitungen, eBooks, Bibliotheken und Unterstützung durch unsere technischen Experten versorgt. https://az-delivery.de Viel Spaß! Impressum https://az-delivery.de/pages/about-us - 29 -...