Flippi

Aus HRW FabLab MediaWiki
Version vom 29. April 2018, 14:43 Uhr von Stefan Werntges (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ Bei '''Flippi''' handelt es sich um einen Modularen Flipper, welcher in Form, Größe und Schwierigkeit skalierbar ist. Hierzu lassen sich verschiedene Bautei…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Bei Flippi handelt es sich um einen Modularen Flipper, welcher in Form, Größe und Schwierigkeit skalierbar ist. Hierzu lassen sich verschiedene Bauteile Erstellen und über einen zentralen Mikrocontroller steuern.


Ideenentwicklung

Zu Beginn stand die Überlegung, was man cooles mit einem Mikrocontroller machen könnte. Einerseits sollte es nicht nur um des Projektes willen entwickelt werden, andererseits sollte es auch nicht nur für die Gruppe selbst interessant sein. Aus diesem Grund wurde eine alte Kindheitserinnerung zum Leben erweckt, der Pinball Table (dt. Flippertisch). Früher einmal weit verbreitet, findet man diese tische heute nur noch selten und zumeist nur in Antiquariaten, meist mit entsprechend alter Hardware. Neu entwickelte Modelle sind Einzelanfertigungen und haben hohe Preise für Hard- und Software.

Flippi setzt genau hier an. Die Idee ist es, günstige Hardware mit Teilen aus der Industrie 4.0 zu verbinden und so Flippertische günstig selber zu bauen. Hierbei ist zu beachten, dass nicht jeder genug Platz für einen kompletten Tisch hat, weswegen die Dimensionen Variabel sind. Selbiges gilt für die Verwendung weiterer Technik.


Konzeptionierung

Um dieses Ziel zu erreichen, ist es einerseits notwendig einen zentralen Controller zu haben, welcher alle wichtigen Eigenschaften koordiniert. Andererseits ist es Sinnvoll die Hardware auch Menschen ohne Programmiererfahrung zugänglich zu machen, weswegen bestimmte Teile aus der Zentralen Einheit herausgelöst werden müssen. Als Grundlage hierfür wurde das EVA-Prinzip herangezogen, nach welchem Eingabe, Verarbeitung und Ausgabe getrennt zu betrachten sind.

Eingabe: Die Eingabe besteht im minimalen System aus den beiden Schlägern, der Startrampe für die Kugel, sowie allen elektrischen Elementen zum Punkte zählen. Verarbeitung: Mindestens das errechnen der Punkte, sowie das Auswerten der Spielelogik. Ausgabe: Minimal das Anzeigen der Punkte

Um der Modulbeschreibung zu entsprechen, wird die Anzeige der Punkte auf einem Smartphone möglich sein.

Des weiteren soll das Projekt die Möglichkeit der späteren Erweiterung besitzen. Hierzu wird die Möglichkeit offen gehalten neben weiteren Modulen auch Beleuchtung, Bestenliste und weiterer Features einzubauen. Auch diese sollten Menschen ohne Programmiererfahrung offen stehen, siehe Ausblick.


Erste Schritte

Um die minimalen Anforderungen umzusetzen und sowohl Modularität als auch Einfachheit zu gewährleisten, sind mindestens 3 Mikrocontroller notwendig.

Punkteeingabe

Die Eingabe wird durch einen einfachen Arduino Uno Mikrocontroller geregelt. Dieser muss einerseits einfache Signale mit festen Punktewerten lesen können, andererseits sollen diese Punkte auch an die Zentrale Steuereinheit weiter gegeben werden. Optional sind Module mit eigenem Controller, welche ebenfalls mit eingebunden werden müssen.

Hierzu wird eine serielle Verbindung zwischen der Zentralen Steuereinheit und dem Eingabe Arduino Uno mit einer Baudrate von 115200 hergestellt, über welche Punkte Werte und eventuelle Multiplikatoren ausgetauscht werden können.

Feste Punktewerte werden über einen Interrupt in Verbindung mit gesetzten Jumpern Binär errechnet. Hierbei können bis zu 1023 über die Pins 4 bis 13 eingelesen werden.

über SPI können zudem weitere Controller angeschlossen werden, welche eigene Punktewerte errechnen. Hiebei ist der Arduino Uno als Master festgelegt und fragt die SPI Module ab, wenn ein Interrupt an Pin 3 ausgelöst wird.

Alle Interrupts reagieren auf eine Rising Edge.

Zentrale Steuereinheit

Um Genug Leistung und Verbindungen für einen weiteren Ausbau zu Gewährleisten ist ein Arduino Mega die Wahl als Zentrale Steuereinheit. Mit seinen 4 Seriellen Anschlüssen, bleibt der USB Anschluss zum einstellen und für spätere Computer gebundene Features offen.

Anschluss Verwendung Status
Serial0 USB Kommunikation / Debug Debug implementiert
Serial1 Kommunikation mit Punkteeingabe implementiert
Serial2 Kommunikation mit Schlägern / Startrampe Zukünftiges Feature
Seial3 Verwendung für addOns Zukünftiges Feature
Software Serial0 Punkteausgabe Implementiert(nur senden)
Software Serial1 Ausgabe an Lichtsteuerung Zukünftiges Feature (nur senden)
Software Serial2 Verwendung für weitere addOns Zukünftiges Feature
SPI Verwendung für weitere addOns Zukünftiges Feature
I2C Verwendung für weitere addOns Zukünftiges Feature
Sonstige Pins Verwendung für weitere Software Serials Zukünftige Features

Punkteanzeige

Um ein Mindestmaß an App Einsatz zu gewährleisten ist eine NodeMCU der Controller für das Anzeigen der Punkte. Dieser erhält die berechneten Punkte über Software Serial0 von der zentralen Steuereinheit. Da die NodeMCU lediglich über einen einzelnen Seriellen Anschluss verfügt, wird diese hierfür verwendet.

Zur Kommunikation mit einem Endgerät wird ein eigenes Netzwerk mit SSID und Passwort angelegt. Diese können später via App festgelegt werden.