Inhaltsverzeichnis:

Raspberry Pi GPIO-Schaltungen: Verwenden eines LDR-Analogsensors ohne ADC (Analog-Digital-Wandler) - Gunook
Raspberry Pi GPIO-Schaltungen: Verwenden eines LDR-Analogsensors ohne ADC (Analog-Digital-Wandler) - Gunook

Video: Raspberry Pi GPIO-Schaltungen: Verwenden eines LDR-Analogsensors ohne ADC (Analog-Digital-Wandler) - Gunook

Video: Raspberry Pi GPIO-Schaltungen: Verwenden eines LDR-Analogsensors ohne ADC (Analog-Digital-Wandler) - Gunook
Video: SG90 Servomotor einfach erklärt | #EdisTechlab 2024, November
Anonim
Raspberry Pi GPIO-Schaltungen: Verwendung eines LDR-Analogsensors ohne ADC (Analog-Digital-Wandler)
Raspberry Pi GPIO-Schaltungen: Verwendung eines LDR-Analogsensors ohne ADC (Analog-Digital-Wandler)

In unseren früheren Instructables haben wir Ihnen gezeigt, wie Sie die GPIO-Pins Ihres Raspberry Pi mit LEDs und Schaltern verbinden können und wie die GPIO-Pins High oder Low sein können. Aber was ist, wenn Sie Ihren Raspberry Pi mit einem analogen Sensor verwenden möchten?

Wenn wir analoge Sensoren mit dem Raspberry Pi verwenden wollen, müssten wir den Widerstand des Sensors messen können. Im Gegensatz zum Arduino können die GPIO-Pins des Raspberry Pi keinen Widerstand messen und können nur erkennen, wenn die ihnen zugeführte Spannung über einer bestimmten Spannung liegt (ca. 2 Volt). Um dieses Problem zu lösen, können Sie einen Analog-Digital-Wandler (ADC) oder stattdessen einen relativ billigen Kondensator verwenden.

Dieses Instructable zeigt Ihnen, wie dies geschehen kann.

Schritt 1: Was Sie brauchen

Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen
Was wirst du brauchen

- Ein RaspberryPi mit bereits installiertem Raspbian. Sie müssen auch in der Lage sein, mit einem Monitor, einer Maus und einer Tastatur oder über Remote Desktop auf den Pi zuzugreifen. Sie können jedes Raspberry Pi-Modell verwenden. Wenn Sie eines der Pi Zero-Modelle haben, möchten Sie möglicherweise einige Header-Pins an den GPIO-Port anlöten.

- Ein lichtabhängiger Widerstand (auch bekannt als LDR oder Fotowiderstand)

- Ein 1 uF Keramikkondensator

- Ein lötfreies Prototyping-Breadboard

- Einige Stecker-zu-Buchse-Überbrückungsdrähte

Schritt 2: Erstellen Sie Ihre Schaltung

Bauen Sie Ihre Schaltung
Bauen Sie Ihre Schaltung
Bauen Sie Ihre Schaltung
Bauen Sie Ihre Schaltung

Bauen Sie die obige Schaltung auf Ihrem Steckbrett auf und stellen Sie sicher, dass sich keine der Komponentenleitungen berühren. Der lichtabhängige Widerstand und der Keramikkondensator haben keine Polarität, was bedeutet, dass ein negativer und positiver Strom an beide Leitungen angeschlossen werden kann. Daher müssen Sie sich keine Gedanken darüber machen, wie diese Komponenten in Ihrem Stromkreis angeschlossen wurden.

Nachdem Sie Ihre Schaltung überprüft haben, verbinden Sie die Überbrückungskabel mit den GPIO-Pins Ihres Raspberry Pi, indem Sie dem obigen Diagramm folgen.

Schritt 3: Erstellen Sie ein Python-Skript zum Lesen des lichtabhängigen Widerstands

Erstellen Sie ein Python-Skript zum Lesen des lichtabhängigen Widerstands
Erstellen Sie ein Python-Skript zum Lesen des lichtabhängigen Widerstands

Wir werden nun ein kurzes Skript schreiben, das den Widerstand des LDR mit Python liest und anzeigt.

Öffnen Sie auf Ihrem Raspberry Pi IDLE (Menü > Programmierung > Python 2 (IDLE)). Öffnen Sie ein neues Projekt, gehen Sie zu Datei > Neue Datei. Geben Sie dann den folgenden Code ein (oder kopieren Sie ihn und fügen Sie ihn ein):

import RPi. GPIO als GPIOimport timempin=17 tpin=27 GPIO.setmode(GPIO. BCM) cap=0.000001 adj=2.130620985i=0 t=0 while True: GPIO.setup(mpin, GPIO. OUT) GPIO.setup(tpin, GPIO. OUT) GPIO.output(mpin, False) GPIO.output(tpin, False) time.sleep(0.2) GPIO.setup(mpin, GPIO. IN) time.sleep(0.2) GPIO.output(tpin, True) starttime=time.time() endtime=time.time() while (GPIO.input(mpin) == GPIO. LOW): endtime=time.time() measureresistance=endtime-starttime res=(measureresistance/cap)* adj i=i+1 t=t+res if i==10: t=t/i print(t) i=0 t=0

Speichern Sie Ihr Projekt als lightsensor.py (Datei > Speichern unter) in Ihrem Dokumentenordner.

Öffnen Sie nun Terminal (Menü > Zubehör > Terminal) und geben Sie den folgenden Befehl ein:

Python Lichtsensor.py

Der Raspberry Pi zeigt wiederholt den Widerstand des Fotowiderstands an. Wenn Sie Ihren Finger über den Fotowiderstand legen, erhöht sich der Widerstand. Wenn Sie den Fotowiderstand mit hellem Licht beleuchten, verringert sich der Widerstand. Sie können die Ausführung dieses Programms stoppen, indem Sie STRG+Z drücken.

Schritt 4: Wie es funktioniert

Während sich der Kondensator allmählich auflädt, steigt die Spannung, die durch die Schaltung und zum GPIO-Pin fließt. Sobald der Kondensator bis zu einem bestimmten Punkt aufgeladen ist, steigt seine Spannung über 2 Volt und der Raspberry Pi erkennt, dass GPIO-Pin 13 HIGH ist.

Wenn der Widerstand des Sensors ansteigt, lädt sich der Kondensator langsamer auf und die Schaltung braucht mehr Zeit, um 2 Volt zu erreichen.

Das obige Skript misst im Wesentlichen, wie lange es dauert, bis Pin 13 auf High wird, und verwendet dann diese Messung, um den Widerstand des Fotowiderstands zu berechnen.

Empfohlen: