Bei diesem privatem Projekt handelt es sich um die Idee, eine Pistole zu bauen, die einen kurzen Laserpuls auf eine Zielscheibe feuert. Die Zielscheibe soll mit einer Webcam gefilmt werden, und ein Treffer auf der Zielscheibe angezeigt und ausgewertet werden.
Die Pistole
Die Pistole wurde mit einem 3D-Drucker erstellt und beinhaltet einen ESP32-Microcontroller (ESP32 Firebeetle), an dem ein Klasse2-Lasermodul, sowie ein Taster angeschlossen ist. Per Bluetooth-Verbindung ist die Pistole als virtuelle Tastatur an den Computer der Webcam gekoppelt. Als Stromversorgung dient ein integrierter Akku, der über einen USB-Port geladen werden kann. Das Lasermodul kann mit zwei feinen Gewindeschrauben justiert werden.
Die Zielscheibe
Die Zielscheibe ist auf weißen Papier aufgedruckt und wird kontinuierlich von einer Webcam erfasst. Die Webcam wird von einem Python-Script gesteuert.
Funktionsweise
Sobald der Taster auf der Pistole gedrückt wird, wird das Lasermodul für ca. 70 ms eingeschaltet, sodass ein Laserpuls entsteht. Gleichzeitig sendet der Microcontroller an den Computer, dass Steuersignal des Tastendrucks „f“ Dieses Signal dient dem Python-Script, das auf dem Computer die Kamera ansteuert, als Triggerzeichen. Mit diesem Zeitpunkt werden die drei letzten und drei zukünftigen Einzelbilder des Kamerasignals zur weiteren Auswertung gespeichert. Diese Bilder werden der Reihe nach ausgewertet, bis auf einem Bild ein Laserpunkt detektiert werden kann.
Auswertung der Kamerabilder
Um den Laserpunkt zu detektieren, wird das Bild der Webcam zunächst als Graustufenbild umgewandelt (Bild 1) und anschließend mit einem Schwellwert derart in ein Binärbild (Bild 2) gefiltert, dass nur der Laserpunkt sichtbar ist. Auf diesem Binärbild wird ein Algorithmus zur Strukturerkennung angewendet, um die Position des Laserpunkunktes zu ermitteln. Kann dabei der Algorithmus eine Kontur erkennen, gilt das Bild als auswertbar. Mit dieser Position und der zuvor manuell eingetragenen Position der Zielscheibenmitte kann der Abstand den Laserpunkte von der Mitte der Zielscheibe bestimmt werden und es wird eine Verbindungslinie eingezeichnet (Bild 3).