Inhaltsverzeichnis:

Arduino DIY Lichtmesser mit BH1750 Sensor - Gunook
Arduino DIY Lichtmesser mit BH1750 Sensor - Gunook

Video: Arduino DIY Lichtmesser mit BH1750 Sensor - Gunook

Video: Arduino DIY Lichtmesser mit BH1750 Sensor - Gunook
Video: Measure Light Lux or Intensity with BH1750L Light Sensor Module 2024, November
Anonim
Image
Image
Arduino DIY Lichtmesser mit BH1750 Sensor
Arduino DIY Lichtmesser mit BH1750 Sensor

In diesem Instructable werde ich Ihnen zeigen, wie Sie mit Arduino einen Lichtmesser mit einem großen Nokia 5110 LCD-Display bauen.

Der Bau eines Lichtmessers ist eine großartige Lernerfahrung. Wenn Sie mit dem Bau dieses Projekts fertig sind, werden Sie besser verstehen, wie Lichtmesser funktionieren, und Sie werden in Aktion sehen, wie leistungsstark die Arduino-Plattform sein kann. Mit diesem Projekt als Basis und den gesammelten Erfahrungen können Sie in Zukunft auch komplexere Projekte problemlos aufbauen. Mit diesem Projekt können Sie die Lichtverhältnisse Ihrer Arbeitsumgebung, Ihrer Pflanzen usw. überwachen. Lassen Sie uns ohne weitere Verzögerung loslegen!

Schritt 1: Holen Sie sich alle Teile

Holen Sie sich alle Teile
Holen Sie sich alle Teile

Die Teile, die benötigt werden, um dieses Projekt zu bauen, sind diese:

  • Arduino Uno ▶
  • BH1750 ▶
  • Nokia 5110 LCD ▶
  • Kleines Breadboard ▶
  • Kabel ▶

Die Kosten für das Projekt betragen rund 12 US-Dollar.

Schritt 2: Der Lichtsensor BH1750

Der Lichtsensor BH1750
Der Lichtsensor BH1750

Der Lichtintensitätssensor BH1750 ist ein großartiger und sehr einfach zu bedienender Sensor. Dieses Breakout-Board verfügt über einen eingebauten 16-Bit-AD-Wandler, der ein digitales Signal direkt ausgeben kann, komplizierte Berechnungen sind nicht erforderlich.

Dieses Board ist besser als ein LDR, das nur eine Spannung ausgibt. Mit dem Lichtsensor BH1750 kann die Intensität direkt vom Luxmeter gemessen werden, ohne Berechnungen durchführen zu müssen. Die von diesem Sensor ausgegebenen Daten werden direkt in Lux (Lx) ausgegeben.

Der Sensor verwendet die I2C-Schnittstelle und ist daher sehr einfach mit Arduino zu verwenden. Sie müssen nur 2 Drähte anschließen.

Auch der Preis des Sensors ist sehr niedrig, er liegt bei etwa 2$.

Du bekommst es hier: ▶

Schritt 3: Nokia 5110 LCD

Image
Image
Bau des Belichtungsmessers
Bau des Belichtungsmessers

Das Nokia 5110 ist mein Lieblingsdisplay für meine Arduino-Projekte.

Das Nokia 5110 ist ein einfacher grafischer LCD-Bildschirm, der ursprünglich als Handy-Bildschirm gedacht war. Es verwendet den PCD8544-Controller, einen CMOS-LCD-Controller/-Treiber mit geringem Stromverbrauch. Aus diesem Grund hat dieses Display einen beeindruckenden Stromverbrauch. Es verbraucht nur 0,4 mA, wenn es eingeschaltet ist, aber die Hintergrundbeleuchtung ist deaktiviert. Es verbraucht weniger als 0,06 mA im Schlafmodus! Das ist einer der Gründe, die dieses Display zu meinem Favoriten machen. Die PCD8544 ist über eine serielle Busschnittstelle mit Mikrocontrollern verbunden. Das macht das Display sehr einfach mit Arduino zu verwenden.

Sie müssen nur 8 Drähte anschließen und die folgende Bibliothek verwenden:

Diese beeindruckende Bibliothek wurde von Henning Karlsen entwickelt, der große Anstrengungen unternommen hat, um die Arduino-Community mit seinen Bibliotheken voranzubringen.

Ich habe ein ausführliches Tutorial zur Verwendung des Nokia 5110 LCD-Displays mit Arduino vorbereitet. Ich habe dieses Video in diesem Instructable angehängt, es wird möglicherweise nützliche Informationen über die Anzeige liefern, daher ermutige ich Sie, es sorgfältig zu beobachten.

Die Kosten für das Display betragen etwa 4 US-Dollar.

Du bekommst es hier: ▶

Schritt 4: Aufbau des Lichtmessers

Bau des Belichtungsmessers
Bau des Belichtungsmessers

Verbinden wir nun alle Teile miteinander.

Als erstes schließen wir das BH1750 Lichtsensormodul an. Es hat nur 5 Pins, aber wir werden 4 davon verbinden.

Anschließen des Spannungssensors

Vcc Pin geht zu Arduinos 5V

GND Pin geht an Arduinos GND

SCL Pin geht an Analog Pin 5 des Arduino Uno

SDA Pin geht an Analog Pin 4 des Arduino Uno

Adress-Pin bleibt unverbunden

Der nächste Schritt besteht darin, das Nokia 5110 LCD-Display anzuschließen.

Anschließen des Nokia 5110 LCD-Displays

RST geht an Digital Pin 12 des Arduino

CE geht an Digital Pin 11 des Arduino

DC geht an Digital Pin 10 des Arduino

DIN geht an Digital Pin 9 des Arduino

CLK geht an Digital Pin 8 des Arduino

VCC geht an Arduino 3.3V LIGHT geht an Arduino GND (Hintergrundbeleuchtung an)

GND geht an Arduino GND

Nachdem wir alle Teile miteinander verbunden haben, müssen wir nur noch den Code laden. Ein Begrüßungsbildschirm wird für ein paar Sekunden angezeigt und dann können wir mit der Messung der Lichtintensität in Echtzeit beginnen!

Schritt 5: Der Code des Projekts

Image
Image
Testen des Projekts
Testen des Projekts

Der Code des Projekts besteht aus 3 Dateien.

splash.cui.c

ui.c

BH1750LightMeter.ino

Code - Begrüßungsbildschirmbild

In der ersten Datei splash.c befinden sich die Binärwerte des Begrüßungsbildschirms, der beim Hochfahren des Projekts auf dem LCD-Display des Nokia 5110 angezeigt wird. Bitte sehen Sie sich das angehängte Video an, das ich vorbereitet habe, um zu sehen, wie Sie Ihre benutzerdefinierten Grafiken in Ihr Arduino-Projekt laden.

ui.c Code - Die Benutzeroberfläche

In der Datei ui.c befinden sich die Binärwerte der Benutzeroberfläche, die angezeigt werden, nachdem das Projekt den Begrüßungsbildschirm anzeigt. Bitte sehen Sie sich das angehängte Video an, das ich vorbereitet habe, um zu sehen, wie Sie Ihre benutzerdefinierten Grafiken in Ihr Arduino-Projekt laden.

UVMeter.ino Code - Hauptprogramm

Der Hauptcode des Projekts ist sehr einfach. Wir müssen die Nokia 5110-Bibliothek einschließen. Als nächstes deklarieren wir einige Variablen. Wir initialisieren das Display und zeigen den Splash-Screen für 3 Sekunden an. Danach drucken wir das ui-Symbol einmal und lesen den Wert 150 Millisekunden vom Sensor. Die ganze Magie passiert in der Schleifenfunktion:

Void Schleife () { Int StringLength = 0; uint16_t lux = lightSensor.readLightLevel(); // Lesen Sie das Sensorlicht = String (lux); //Umwandlung in String stringLength = light.length(); //Wir müssen die Stringlänge kennen lcd.clrScr(); lcd.drawBitmap(0, 0, ui, 84, 48); printLight(stringLength); // Den String auf dem Display ausgeben lcd.update (); Verzögerung (150); }

Ich habe den Code diesem Instructable beigefügt. Um die neueste Version des Codes herunterzuladen, können Sie die Webseite des Projekts besuchen:

Schritt 6: Testen des Projekts

Testen des Projekts
Testen des Projekts
Testen des Projekts
Testen des Projekts

Nachdem der Code geladen wurde, können wir den Light Meter im Innen- und Außenbereich testen. Ich teste es an einem sonnigen Frühlingstag hier in Griechenland. Das Ergebnis ist fantastisch. Wir können die Lichtintensität mit einem einfach zu bauenden Projekt genau messen.

Wie Sie auf den beigefügten Fotos sehen können, funktioniert der Lichtmesser einwandfrei. Dieses Projekt ist eine großartige Demonstration dessen, wozu Open-Source-Hardware und -Software fähig sind. Innerhalb weniger Minuten kann man so ein beeindruckendes Projekt bauen! Dieses Projekt ist ideal für Anfänger und wie ich eingangs sagte, ist dieses Projekt eine großartige Lernerfahrung. Ich würde gerne Ihre Meinung zu diesem Projekt hören. Findest du es nützlich? Gibt es Verbesserungen, die an diesem Projekt umgesetzt werden können? Bitte posten Sie Ihre Kommentare oder Ideen im Kommentarbereich unten!

Empfohlen: