Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Raspberry Pi-Lichtsensor:Eine einfache LDR-Anleitung

In diesem Raspberry Pi Lichtsensor-Tutorial zeige ich Ihnen, wie Sie den Fotowiderstandssensor richtig an die GPIO-Pins anschließen. Zuletzt zeige ich Ihnen, wie es in einem einfachen Python-Skript verwendet werden kann, damit Sie die Daten daraus sammeln und verwenden können.

Dies ist ein weiterer Sensor, den ich in zukünftige Projekte integrieren werde, wie zum Beispiel einen lichtaktivierten Wecker.

Ich erkläre ein bisschen weiter unten jeden der Teile, die ich in dieser Schaltung verwenden werde. Lesen Sie es unbedingt durch, wenn Sie weitere Informationen dazu benötigen. Es ist wichtig zu beachten, dass ich für dieses Tutorial nur einen einfachen Fotozellensensor verwende, obwohl diese für einige Aufgaben perfekt sind, sie möglicherweise nicht so genau sind, wie Sie es möchten.

Wenn Sie Schritt für Schritt visuell sehen möchten, wie Sie die Lichtsensorschaltung und den Code einrichten, sehen Sie sich das Video direkt unter der Ausrüstungsliste an.

Ausrüstung:

Sie benötigen die folgende Ausrüstung, um dieses Raspberry Pi-Lichtsensor-Tutorial abzuschließen. Sie können dies ohne Breadboard-Ausrüstung tun, aber ich würde dringend empfehlen, in einige zu investieren, wenn Sie viel Schaltungsarbeit leisten möchten.

Empfohlen:

Raspberry Pi

8 GB SD-Karte oder Micro-SD-Karte bei Verwendung eines Raspberry Pi 2 oder B+

Ethernetkabel oder WLAN-Dongle

Lichtsensor (LDR-Sensor)

1 1uF Kondensator

Optional:

Raspberry Pi-Gehäuse

USB-Tastatur

USB-Maus

GPIO-Breakout-Kit

Steckbrett

Steckbrett-Draht

Video

Das Video enthält fast alles, was die Textversion dieses Tutorials tut. Es ist perfekt, wenn Sie es vorziehen, Dinge visuell zu sehen. Sie werden auch sehen, wie die Schaltung funktionieren sollte, wenn Sie fertig sind.

Textanleitungen und Informationen findest du direkt unter dem Video.

Die Raspberry Pi Lichtsensorschaltung

Die Schaltung, die wir für dieses Tutorial erstellen werden, ist super einfach und eignet sich hervorragend für alle, die gerade erst mit Schaltungen beginnen.

Der lichtabhängige Widerstand oder auch als LDR-Sensor bekannt ist (natürlich) das wichtigste Gerät in unserer Schaltung. Ohne sie könnten wir nicht erkennen, ob es dunkel oder hell ist. Bei Licht hat dieser Sensor einen Widerstand von nur wenigen hundert Ohm, während er bei Dunkelheit einen Widerstand von mehreren Megaohm haben kann.

Der Kondensator in unserer Schaltung ist da, damit wir den Widerstand des LDR-Sensors messen können. Ein Kondensator verhält sich im Wesentlichen wie eine Batterie, die sich auflädt, während sie Strom erhält, und sich dann entlädt, wenn sie keinen Strom mehr erhält. Wenn wir dies in Reihe mit dem LDR verwenden, können wir herausfinden, wie viel Widerstand der LDR abgibt, also ob er hell oder dunkel ist.

Um die Lichtsensorschaltung richtig aufzubauen, befolgen Sie die folgenden Schritte oder sehen Sie sich den Schaltplan direkt unter den Schritten an. In den folgenden Schritten beziehe ich mich auf die physikalischen Nummern der Pins (Logische Reihenfolge).

  1. Verbinden Sie zuerst Pin Nr. 1 (3v3) mit der positiven Schiene auf dem Steckbrett.
  2. Verbinden Sie als nächstes Pin #6 (Masse) mit der Erdungsschiene auf dem Steckbrett.
  3. Platzieren Sie nun den LDR-Sensor auf der Platine und führen Sie einen Draht von einem Ende zur positiven Schiene.
  4. Auf der anderen Seite des LDR-Sensors platzieren Sie ein Kabel, das zurück zum Raspberry Pi führt. Hänge das an Pin #7 an.
  5. Legen Sie schließlich den Kondensator vom Draht zur negativen Schiene auf dem Steckbrett. Stellen Sie sicher, dass sich der negative Pin des Kondensators in der negativen Schiene befindet.

Wir sind jetzt bereit, zum Python-Code überzugehen. Wenn Sie Probleme mit der Schaltung haben, sehen Sie sich das Diagramm unten an.

Der Kodex

Der Code für dieses Projekt ist ziemlich einfach und sagt uns ungefähr, ob es hell, schattig oder ganz dunkel ist.

Das größte Problem, dem wir bei dieser Schaltung gegenüberstehen, ist die Tatsache, dass der Pi keine analogen Pins hat. Sie sind alle digital, sodass wir die Widerstandsvarianz unserer Eingabe nicht genau messen können. Dieser Mangel an analogen Pins war im Bewegungssensor-Tutorial kein Problem, da der Ausgang entweder hoch oder niedrig (digital) war. Stattdessen messen wir die Zeit, die der Kondensator braucht, um sich aufzuladen und den Pin hoch zu senden. Diese Methode ist eine einfache, aber ungenaue Methode, um zu erkennen, ob es hell oder dunkel ist.

Ich werde den Raspberry Pi-Lichtsensorcode kurz erklären und was er tut. Wenn Sie den Code haben möchten, können Sie ihn kopieren und unten einfügen oder von meinem GitHub herunterladen.

Zu Beginn importieren wir das GPIO-Paket, das wir benötigen, um mit den GPIO-Pins kommunizieren zu können. Wir importieren auch das Zeitpaket, damit wir das Skript bei Bedarf in den Ruhezustand versetzen können.

#!/usr/local/bin/pythonimport RPi.GPIO als GPIOimport-Zeit 

Wir setzen dann den GPIO-Modus auf GPIO.BOARD. Dies bedeutet, dass sich die gesamte Nummerierung, die wir in diesem Skript verwenden, auf die physische Nummerierung der Pins bezieht. Da wir nur einen Input/Output-Pin haben, müssen wir nur eine Variable setzen. Setzen Sie diese Variable auf die Nummer des Pins, den Sie als Eingangs-/Ausgangs-Pin haben.

GPIO.setmode(GPIO.BOARD)#definiere den Pin, der zum Circuit gehtpin_to_circuit =7 

Als nächstes haben wir eine Funktion namens rc_time das erfordert einen Parameter, der die Pin-Nummer der Schaltung ist. In dieser Funktion initialisieren wir eine Variable namens count. Wir geben diesen Wert zurück, sobald der Pin auf High geht.

Wir stellen dann unseren Pin als Ausgang ein und setzen ihn dann auf Low, dann lassen wir das Skript 10 ms lang schlafen.

Danach setzen wir den Pin als Input und geben dann eine while-Schleife ein. Wir bleiben in dieser Schleife, bis der Pin auf High geht, dann lädt sich der Kondensator auf etwa 3/4 auf. Sobald er hoch wird, geben wir den Zählwert an die Hauptfunktion zurück. Sie können diesen Wert verwenden, um eine LED ein- und auszuschalten, etwas anderes zu aktivieren oder die Daten zu protokollieren und Statistiken über jede Lichtabweichung zu führen.

def rc_time (pin_to_circuit):count =0 #Ausgabe am Pin für GPIO.setup(pin_to_circuit, GPIO.OUT) GPIO.output(pin_to_circuit, GPIO.LOW) time.sleep(0.1) #Ändere die Pin zurück zum Eingang GPIO.setup(pin_to_circuit, GPIO.IN) #Zählen, bis der Pin hoch geht, während (GPIO.input(pin_to_circuit) ==GPIO.LOW):count +=1 return count#Catch, wenn das Skript unterbrochen wird, Aufräumen korrekt versuchen:# Main loop while True:print rc_time(pin_to_circuit)außer KeyboardInterrupt:passfinally:GPIO.cleanup() 

Bereitstellen und Ausführen des Codes auf Ihrem Raspberry Pi

Dieser Schritt ist unglaublich einfach, aber ich werde die Schritte schnell durchgehen, damit Sie ihn so schnell und reibungslos wie möglich auf Ihrem Pi zum Laufen bringen können. Wie alle Tutorials auf dieser Website verwende ich Raspbian, wenn Sie Hilfe bei der Installation von Raspbian benötigen, lesen Sie meine Anleitung zur Installation von Raspbian.

In einigen Fällen sollten zwar alle Softwarepakete bereits installiert sein, dies ist jedoch möglicherweise nicht der Fall. Wenn Sie mehr über die GPIO-Pins und das Aktualisieren und Installieren der Software erfahren möchten, dann lesen Sie unbedingt mein Tutorial zum Einrichten der GPIO-Pins auf dem Raspberry Pi.

Sie können den Code mit git clone herunterladen. Der folgende Befehl macht genau das:

git-Klon https://github.com/pimylifeup/Light_Sensor/cd ./Light_Sensor 

Alternativ können Sie den Code kopieren und einfügen, nur stellen Sie sicher, dass die Datei ein Python-Skript ist.

sudo nano light_sensor.py 

Wenn Sie mit der Datei fertig sind, verwenden Sie einfach Strg x dann y zum Speichern und Beenden.

Führen Sie schließlich den Code mit dem folgenden Befehl aus:

sudo python light_sensor.py 

Ich hoffe, das Skript funktioniert jetzt und Sie erhalten Daten, die die Lichtänderungen auf dem Sensor korrekt widerspiegeln. Wenn Sie Probleme haben, zögern Sie bitte nicht, unten einen Kommentar zu hinterlassen.

Verbesserung der Genauigkeit und Einsatzmöglichkeiten

Es gibt unzählige Verwendungsmöglichkeiten für einen Lichtsensor in einem Stromkreis. Ich werde nur einige nennen, an die ich beim Schreiben dieses Tutorials gedacht habe.

Es gibt so viel, was Sie mit diesem coolen kleinen Sensor tun können, aber denken Sie auch daran, wenn Sie etwas genaueres als die Fotozelle benötigen, dann schauen Sie sich etwas wie den digitalen Lichtsensor mit hohem Dynamikbereich von Adafruit an.

Ich hoffe, Sie konnten diesen Raspberry Pi-Lichtsensor ohne Probleme einrichten. Wenn Sie auf ein Problem stoßen, Feedback haben, ich etwas verpasst habe oder etwas anderes sagen möchten, können Sie gerne unten einen Kommentar hinterlassen.

Quelle:Raspberry Pi Light Sensor:A Simple LDR Tutorial


Herstellungsprozess

  1. Himbeer-Pi-Temperaturlogger
  2. Python- und Raspberry Pi-Temperatursensor
  3. Raspberry Pi Wetterstation
  4. 1-Draht-Temperatursensor DS1820 am Raspberry Pi (GPIO direkt)
  5. Ultraschallsensor (HC-SR04) + Raspberry Pi
  6. Bewegungssensor, Alarm, Videoaufzeichnung in HA auf Raspberry Pi
  7. Bewegungssensor mit Raspberry Pi
  8. Raspberry Pi Bodenfeuchtigkeitssensor
  9. Raspberry Pi digitaler Hall-Sensor in JAVA
  10. Raspberry Pi Temperatur- und Lichtsensor