Laser-Schießstand

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autoren: Sperhake, Lukas Aaron und Iván, Kleiböhmer
Betreuer: Prof. Schneider


→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)

Abb. 1: Laserschießstand

Einleitung

Das 2 Semester des Masterstudiengangs Business and System Engineering beinhaltet das GET-Fachpraktikum. Neben den vier angesetzten Laborterminen ist darüber hinaus noch ein semesterbegleitendes Projekt in zweien Gruppen angesetzt.

Dieser Artikel beschäftigt sich dabei mit dem Projekt der Gruppe 1.4. Zielsetzung ist es, einen Laser-Schießstand zu entwickeln und bauen, welcher seinem Anwender direkt Rückkopplung über seinen Treffer gibt.

Erwartungen an die Projektlösung

  • Planung und Konstruktion des Laser-Schießstandes
  • Darstellung der regelungstechnischen Theorie
  • Beschaffung der Bauteile (z.B Holz, Arduino Uno, Laser Sensor, Lautsprecher)
  • Systemidentifikation (Übertragungsfunktion der Regelstrecke bestimmen)
  • Realisierung des Aufbaus
  • Modellbasierte Programmierung der Hardware via Arduino IDE
  • Video erstellen, welches die Funktion die Funktionen des Projektes darstellt.
  • Dokumentation des Projektes

Aufgabe

Bei unserem Projekt handelt es sich um einen Laser Schießstand mit vier Zielpunkten. Ziel ist es mit Hilfe eines Lasers alle Ziele zu treffen. Dabei wird von links nach rechts auf die Zielpunkte jeweils einmal mittels des Lasers gefeuert. Wird ein Zielpunkt getroffen, wird dies mit dem Lasersensor detektiert und es erscheint für den Anwender ein optisches Signal durch eine grün aufleuchtende LED direkt über dem jeweiligen Zielpunkt. Zusätzlich ertönt ein akustisches Signal, welches das Geräusch einer abgefeuerten Waffe imitiert.

Darüber hinaus wird der Treffer auf dem oben anliegenden Display angezeigt. Trifft der Anwender auch den nächsten Zielpunkt, so erfolgt wie bei jedem anderen detektierten Treffer eines Lasers das optische sowie das akustische Signal. Auf dem Display wird der Treffer zu den bisherigen Treffern hinzuaddiert. Beim Detektieren des vierten und letzten Lasersignals wird dies ebenfalls wieder über die Ausgabesysteme ausgegeben und der Schießstand wird zurückgesetzt und ist bereit von vorne gespielt zu werden.

Projekt

Projektplanung

Projektmanagement

Abb.2 Gantt-Diagramm

Aufgrund der besonderen Umstände durch die Corona Pandemie, wodurch kein direkter Austausch oder Kick-off Meetings möglich waren, ist eine gute Projektplanung von entscheidender Rolle beim Erreichen des Projektes.

Unsere Projektplanung basiert dabei auf einem Gantt-Diagramm, welches unsere Tätigkeiten in Zeitliche abschnitte einteilt.

Um zu überprüfen, ob die von uns definierten Vorgaben im Gantt-Diagramm auch eingehalten wurden, haben wir wöchentlich ein Kick-off Meeting gehalten(skype). Im Kick Off Meeting wurde sowohl über den Momentanen stand des Projektes gesprochen als auch über Problematiken und Lösungsansatze.

Änderungen, welche aus dem Kick-off Meeting resultierten, wurden im Gantt-Diagramm festgehalten. Jedoch ist zu erwähnen, dass die meisten unserer Tätigkeiten zu zweit über Skype durchgeführt wurden.

Hier finden sie das vollständige Gantt-Diagramm: Medium:Gantt-Diagramm Laser.pdf

Planung der Umsetzungsmöglichkeiten

Abb. 3 Morphologischer Kasten

Es wurde zur Planungstätigkeit ein morphologischer Kasten erstellt, dieser half bei der Findung konkreter Lösungsvarianten bei unserem Projekt. Im Weiteren soll auf einige Elemente es morphologischen Kasten eingegangen werden:

So fiel die Wahl des Gehäusematerials auf Holz, da sich dieser Leichter verarbeiten lässt und Holz Kosteneffizienter ist als Aluminium und ein 3D-Druck. Zudem lies sich Holz auch zu Hause mit vorhandenem Werkzeug bearbeiten und erforderte nicht wie Aluminium oder ein 3D-Druck das Werkzeug oder die Hilfestellung der Hochschule . Zudem haben wir uns bei der Stromversorgung für eine 9V Blockbatterie und gegen ein externes Netzteil und einen USB-Anschluss entschieden.

Entscheidungsgrund für die 9V Blockbatterie war die daraus resultierende Mobilität des Laser Schießstandes. Zudem konnte die Blockbatterie mit im Gehäuse verstaut werden. Ein externes Netzteil hätte zudem immer eine Steckdose in der Nähe benötigt, wodurch nicht an jedem Ort mit dem Laserschießstand hätte gespielt werden können.

Die Maximale Benutzerfreundlichkeit und Mobilität ließ sich als durch eine 9V Blockbatterie realisieren.

Materialplanung

Abb. 4 Materialliste

Nachdem mithilfe des morphologischen Kastens festgelegt worden ist, wie unsere Variante des Laser Schießstandes aufgebaut werden soll und mit welchen Elementen wurde ein Material Plan erstellt.

Wichtig bei der Materialplanung war es zu beachten, dass es aufgrund der Corona Pandemie zu Lieferschwierigkeiten oder längeren Lieferzeiten kommen kann. So stellte beispielsweise die Beschaffung des Leimholzes eine Herausforderung da, da die Baumärkte von dem Lockdown betroffen waren.

Einen Großteil der Bauelemente haben wir über Conrad und Reichelt erwerben können. Die Gesamtkosten des Projektes belaufen sich auf 89€.

Es ist jedoch wichtig zu erwähnen, dass nicht alle Produkte erwerbt werden mussten, da einige Produkte wie das Arduino Uno bereits in unserem Besitz waren. Der Vollständigkeitshalbe haben wir dies jedoch mit in unserer Materialplanung mit Preis aufgeführt, damit sich der Wert des Laser Schießstandes genaustens ermittelt lässt.

Projektdurchführung

Konstruktion des Gehäuses

Der erste Schritt bei der Konstruktion des Gehäuses war es eine Entwurfsskizze anzufertigen, nach der man orientieren kann.

Abb. 5 Entwurfsskizze

Nach dem bei der Projektplanung auch das Material ausgewählt worden ist, konnte mit der Konstruktion begonnen werden.

Abb. 6 Schnittplanung

Bei der Größe des Gehäuses wurde darauf geachtet, dass alle Komponenten genügend Platz darin finden und die Anschlüsse wie USB-Anschluss und die Stromversorgung nach wie vor gut erreichbar sind.

Aus wirtschaftlichen Gründen wurden die einzelnen Elemente des Gehäuses vorher so berechnet, dass sich möglichst wenig verschnitt beim Zuschneiden 60x40x1,5cm Leimholzplatte ergibt.

Zugeschnitten wurden die einzelnen Elemente aus der Leimholzplatte mithilfe einer Tischkreissäge. Zusammengefügt wurden die einzelnen Holzplatten durch 20 Holzschrauben mit je einer Länge von 2,5 cm. Sowohl die Bohrungen für die LED's als auch für die Laser Sensoren wurden mit einem 8 Bohrer gebohrt. Die später dort sich befindenden LED's und Sensoren wurden mit einer Heizklebepistole dort fixiert.

Die Bohrung für den Lautsprecher sind mit einer Lochsäge, mit einem Durchmesser von 4 cm, durchgeführt worden. Zusätzlich ist in der Innenseite der Front noch eine Aufhängung angebracht worden, an der das Arduino Uno vertikal befestigt werden kann. Dabei schauen der USB-Anschluss und der Anschluss für die 9V Blockbatterie nach oben, fast eine leichte Handhabung garantiert.

Schaltplanentwurf und Aufbau der Schaltung

Der Schaltplan für den Laser Schießstand wurde mit der Software Fritzing erstellt.

Abb. 7 Schaltplanentwurf

Die Stromversorgung des Laser-Schießstandes erfolgt über eine 9 V Blockbatterie. Die einzelnen LED's die bei einem Treffer des jeweiligen Ziels aufleuchten sollen, werden über die Inputs 9 bis 12 angesteuert. Vor den jeweiligen LED's ist noch ein Vorwiderstand von 220Ω vorgeschaltet. Dieser wurde vom Hersteller vordefiniert. Auf den Steckbrettern wird jeweils eine Reihe als 3,3 V Anschluss und eine weitere als Ground Reihe genutzt. Von diesen Reihen werden die LED's, Lautsprecher, Laser Sensor und das Display mit Strom versorgt. Das Display wurde darüber hinaus noch mit den analogen Inputs A4 und A5 verknüpft.

Abb. 8 Schaltplanentwurf 2

Programmierung

Der vollständige Quellcode befindet sich in dieser PDF: Medium:Quellcode Laser-Schießstand.pdf

Verwendete Bibliotheken

Die folgenden Biobliotheken wurde verwendet. Die Adafruit GFX sowie die Adafruit SSD1306 wird dabei vom Display benötigt

// Libraries
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Sound

Der Lautsprecher soll bei einem Treffer ein Schuss ausgeben. Um das umzusetzten war es nötig eine WAV.Datei in 8 Bit zu Konvertieren, um diese dann in einem Zahlencode zu encodieren. Diese wird dann anschließend in Arduino IDE eingefügt. Durch den Aufruf in einer if Schleife wird der Sound nun bei einem Treffer abgespielt.

const unsigned char sample [] PROGMEM = {
129, 129, 129, 127, 127, 127, 129, 128, 128, 129, 129, 131, 128, 129, 129, 129, 130, 129, 128, 125, 126, 126, 126, 128, 126, 126, 125, 127, 130, 128, 126, 123, 124, 125, 126, 129, 126, 129, 129, 128, 128, 129, 130, 127, 128, 127, 126, 127, 124, 126, 128, 127, 127, 125, 125, 125, 129, 127, 123, 124, 121, 123, 127, 128, 130, 129, 
};

Input/Output

Übersicht über die Input und Output Vergabe


    pinMode(SOUND, OUTPUT);//definiert die Soundausgabe Pin 2
   
    pinMode(LASER1, INPUT);// definiert den Laserinput Pin 3
    pinMode(LASER2, INPUT);// definiert den Laserinput Pin 4
    pinMode(LASER3, INPUT);// definiert den Laserinput Pin 5
    pinMode(LASER4, INPUT);// definiert den Laserinput Pin 6
   
    
    pinMode(LED1, OUTPUT);// Pin 9     
    pinMode(LED2, OUTPUT);// Pin 10   
    pinMode(LED3, OUTPUT);// Pin 11   
    pinMode(LED4, OUTPUT);// Pin 12  

Array

Um den Quellcode so kompakt und effektiv zu machen, wie es nur geht, wurden die einzelnen Laser Sensoren in ein Array mit der Länge 4 gepackt.

#define Size 4
  int laserinput[Size] = {digitalRead(LASER1), digitalRead(LASER2), digitalRead(LASER3), digitalRead(LASER4)};

Beispiel Schleife beim detektieren ein Lasers

Sollte ein Laser Sensor aus dem Array getroffen so werden so wird dieser Laser Sensor auf HIGH gesetzt. Ist dies der Fall so wird nach dem folgenden Schema die Schleife durchlaufen. Als erstes wird die zugeordnete LED zu dem jeweiligen Laser Sensor´s auf HIGH gesetzt und leuchtet somit. Zudem wird über das Display der Treffer angezeigt. Auch wird in der Schleife der Sound des Schusses abgespielt.

         
  for(int i = 0; i < Size; i++)
  {
            
       if( laserinput[0] == HIGH)
    {

     
          Serial.println("Input1");
          startPlayback(sample, sizeof(sample));                
          digitalWrite(LED1,HIGH);
          Serial.println("Detected!"); 
          display.setTextColor(WHITE);  
          display.setTextSize(2);  
          display.setCursor(1,0);  
          display.println("Treffer1");
          display.setCursor(40,20);
          display.display();
          display.clearDisplay();
    
    }

Ergebnis

Der Laser Schießstand wurde fertiggestellt. Allerdings gab es im Ergebnis leichte abweichungen von den vorher definierten Anforderungen. So lässt sich der Treffer des jeweiligen Laser Sensors nicht auf die bisherigen Treffer zusammen addiert und dies als "Treffer x ausgeben. Alle anderen Anforderungen wurden erfüllt.

Zusammenfassung

Abb. 9 Schaltplanentwurf

Rückläufig würden wir einige Elemente an unser Laser Schießstand anders verbauen oder sogar direkt andere Elemente dafür verwendet. So würden wir in Zukunft zum Abspielen des Schusses ein DFPlayer mini–MP3 Player Modul für Arduino verwendet. Durch dieses Modul wäre es möglich unterschiedliche Töne zu verwenden. Zudem ist es die effektivere Methode. Auch wäre mit diesem Modul die Trefferansage als Sound möglich.

Eine weitere änderung wäre dass wir die LED´s von Grüne in RGB LED´s wechseln würden. Ein nicht getroffener Laser könnte dadurch auf rot stehen und erst beim treffen in grün umspringen. Außerdem wären mit den unterschiedlichen Farben der LED´s Levl-Modi möglich.

Auch würden wir in Zukunft einen Größeren und vorallem Farb Display verwenden. Da die Anzeige aus der Distanz auf einem 0,96" Display wirklich nur sehr schwer zu erkennen ist.

TEXT TEXT TEXT TEXT DFPlayer mini–MP3 Player Modul für Arduino

Lessons Learned

Durch dieses Projekt konnten wir erfolgreich den Umgang mit Sensoren und anderen Bauelementen unseres Projektes und deren Programmierung erlernen. Zusätzlich wurde Wissen in den Bereichen der Produktentwicklung vertieft.

YouTube Video

Direktlink zum Youtube Video: https://youtu.be/ydVlzDAZNwg

Literatur

Arduino IDE

Fundunio (Display)

Fundunio (Lautsprecher)


→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)