Spielen Sie mit Raspberry Pi (12) - U-förmiger photoelektrischer Sensor

Spielen Sie mit Raspberry Pi (12) - U-förmiger photoelektrischer Sensor

    In diesem Blog verwenden wir einen U-förmigen photoelektrischen Sensor, um ein einfaches Werkzeug zur Geschwindigkeitsmessung zu implementieren. Die in diesem Experiment verwendeten Komponenten sind einfach, und das Prinzip des Experiments ist ebenfalls sehr einfach.

1. Über U-förmige Lichtschranke

    Die U-förmige Lichtschranke hat ihren Namen, weil sie eine U-förmige Nut hat. Eine Seite der Rille sendet Infrarotlicht aus, und die andere Seite der Rille ist mit einer Empfangsvorrichtung ausgestattet. Durch Blockieren und Leiten des Infrarotlichts wird der Pegel des Signalquellenpins des Bauteils verändert. Anhand dieser Eigenschaft können wir mit einer U-förmigen Lichtschranke leicht messen, ob ein Gegenstand das Licht blockiert. Im Bereich der Geschwindigkeitsmessung ist es weit verbreitet.

    Das in diesem Experiment verwendete Sensormodul ist in der folgenden Abbildung dargestellt:

Es ist ersichtlich, dass diese Komponente 3 Pins hat, der GND-Pin ist der Erdungspin, der VCC-Pin ist der Stromversorgungspin und der OUT-Pin ist der Ausgangspin. Wenn der Empfänger das von der Emissionsquelle emittierte Licht empfangen kann, Der Ausgangsstift ist niedrig und wenn das Licht blockiert ist, ist der Ausgangsstift hoch.

2. Zähler ODER Drehzahlmesser

    Lichtschranken in U-Form haben ein sehr breites Anwendungsspektrum: Stellen Sie sich vor, wenn ein Fertigungsband in einer Werkstatt ständig Waren produziert, wie kann es bequem sein, die Anzahl der produzierten Waren automatisch zu zählen? Zu diesem Zeitpunkt können wir einen U-förmigen photoelektrischen Sensor auf dem Förderband der Ware installieren.Solange eine Ware das Förderband passiert, blockiert sie das von der Sensoremissionsquelle emittierte Infrarotlicht und löst dadurch den Sprung aus den Füllstand und die Realisierung der Zählfunktion. Darüber hinaus kann die U-förmige Lichtschranke auch problemlos die Geschwindigkeit messen.Solange wir die Länge des Objekts und die Zeit kennen, die das Objekt benötigt, um den U-förmigen Sensor zu passieren, können wir die Formel ** v = s / t ** zur Berechnung der Bewegungsgeschwindigkeit des Objekts. Lassen Sie uns Code schreiben, um diese beiden Funktionen zu implementieren.

    Verbinden Sie zunächst die Komponenten wie folgt mit dem Raspberry Pi:

Lichtschranke in U-Form Himbeerkuchen
VCC 3,3 V Stromversorgung
Masse Masse
AUS GPIO17 (BCM-Code)

Schreiben Sie den folgenden Code:

#coding:utf-8

import RPi.GPIO as GPIO
import time
# 采用物理编码
GPIO.setmode(GPIO.BOARD)
# BCM GPIO17的物理编码是11
out_pin = 11
# 0 计数模式 1 测速模式
MODE = 0
count = 0
# 测速模式下,需要初始化长度S 单位为毫米
S = 10
t1 = 0
t2 = 0

# 进行引脚的初始化,不被遮挡时为低电平,使用低电平的下拉电阻
GPIO.setup(out_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

# 定义回调函数
def switch_state(pin):
	global count,t1,t2
	# 如果是高电平
	if GPIO.input(pin):
		print("物体遮挡")
		if MODE == 0:
			count += 1
		else:
			t1 = time.time()
	else:
		print("物体遮挡消失")
		if MODE == 0:
			print('计数器-数量:%d'%(count))
		else:
			t2 = time.time()
			t = t2 - t1
			v = S / t
			print('测速器-速度%fmm/s'%(v))

GPIO.add_event_detect(out_pin, GPIO.BOTH, callback=switch_state)

while True:
	pass

Wie im obigen Code gezeigt, können wir die Variable MODE so einstellen, dass die Komponente im Zählmodus oder im Geschwindigkeitsmessmodus arbeitet. Führen Sie diesen Code auf dem Raspberry Pi aus und probieren Sie die Zähl- und Geschwindigkeitsmessfunktionen aus.

Konzentrieren Sie sich auf Technologie, verstehen Sie Liebe, seien Sie bereit zu teilen, seien Sie ein Freund

QQ:316045346

{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/2340880/blog/5235864
Empfohlen
Rangfolge