NachtderMuseen2020: Unterschied zwischen den Versionen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
(Elemente der Spielwelt)
 
(32 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
=Nacht der Museen 2020=
 
=Nacht der Museen 2020=
 +
[[Datei:NdM-2020_COVID-19.jpg|240px|thumb]]
 +
Wir bekommen für das Event Platz für unsere Projekte im "[https://www.hackerspace-ffm.de/wiki/index.php?title=NachtderMuseen2020#Physikalischer_Verein_-_Einstein-Raum Einstein Raum]" im Physikalischen Verein in Frankfurt. 
 +
Vermutlich können wir am Tag zuvor (Freitag) aufbauen, das Event läuft von 19:00-02:00. Der Physikalische Verein erwartet etwa 3000 Besucher. 
  
 +
[https://www.nacht-der-museen.de/frankfurt/ https://www.nacht-der-museen.de/frankfurt/]
  
  
==Alien Spaceship Escape==
+
Termin: '''Samstag, 25.04.2020, 19:00 Uhr''' - 02:00 Uhr
Software in Python
+
  
 +
'''Achtung: Die Veranstaltung wurde von der Stadt Frankfurt abgesagt'''
 +
 +
[https://frankfurt.de/aktuelle-meldung/Sondermeldungen/Nacht-der-Museen-findet-nicht-statt/ https://frankfurt.de/aktuelle-meldung/Sondermeldungen/Nacht-der-Museen-findet-nicht-statt/]
 +
 +
 +
Physikalischer Verein 
 +
 +
Robert-Mayer-Str. 2 
 +
 +
60325 Frankfurt 
 +
 +
[https://www.physikalischer-verein.de/ https://www.physikalischer-verein.de/]
 +
 +
=Alien Spaceship Escape=
 +
 +
==Konzept/Story==
 +
Was hier aufgebaut werden soll ist eine Mischung aus Miniaturwunderland und Escape-Room. Der Reiz besteht darin, dass ein gestrandetes Raumschiff weitgehend allein aus FPV-Sicht der Roboautos erkundet werden muss und eine Fluchtmöglichkeit aus dem Raumschiff mit Hilfe der Roboautos gefunden werden muss.
 +
 +
Durch die unsanfte Landung ist euer Raumschiff stark beschädigt worden - viele Systeme sind ausgefallen und ihr werdet wohl einige notdürftige Reparaturen ausführen müssen, um wenigstens einige wichtige Dinge wie automatische Türen reaktivieren zu können. Für einige Hindernisse ist Teamwork gefragt, deshalb stehen euch zwei Roboautos zur Verfügung. Werdet ihr es schaffen das Raumschiff zu verlassen, bevor der beschädigte Reaktor des Raumschiffes ganz ausfällt?
 +
 +
 +
Software in Python<br>
 +
[[https://github.com/hackffm/FPVCar/tree/labyrith|git FPVCar im Branch labyrint]]
 +
 +
 +
[[Datei:Gameplan.jpg|240px|thumb]]
 +
 +
==Auto==
 
[[Datei:20200106 215906.jpg|240px|thumb]]
 
[[Datei:20200106 215906.jpg|240px|thumb]]
 +
Gesteuert wir mit PS3-Controllern die über Bluetooth mit den Autos verbunden sind, mittels PyGame[http://robotsandphysicalcomputing.blogspot.com/2017/08/how-to-use-ps3-controller-to-move-usb.html]
  
===Auto===
 
Gesteuert wir mit PS3-Controllern die über Bluetooth mit den Autos verbunden sind.<br>
 
über PyGame[http://robotsandphysicalcomputing.blogspot.com/2017/08/how-to-use-ps3-controller-to-move-usb.html]
 
  
===Labyrinth===
+
===Features des Autos===
Eigener Raspberry
+
* FPV Sicht 160° Kamera von Reichelt
Ist über WebSockets mit den Autos verbunden
+
* LED weiß als Scheinwerfer (ein/ausschaltbar)
 +
* UV-LED (scaltbar)
 +
* RFID-Leser im Boden um bestimmte Positionen zu erkennen
 +
* Kralle auf/zu + hoch/runter
 +
* Laserpointer auf Kralle (schaltbar)
  
===Verfügbare Materialien===
+
 
 +
===Spiel-Konzept Auto===
 +
* RFID-IDs werden vom Auto zum Labyrinth-Server übermittelt
 +
* Der entscheidet anhand der ID
 +
** Items (Keycard, UV) werden "aufgenommen" und somit dem Auto hinzugefügt
 +
** Item kann Hinweis sein
 +
** Tür öffnet wenn ID=Tür ist und ggf Keycard vorhanden ist
 +
** Sound werden getriggert in Auto-Control-Websession
 +
* Websession auf Public-Viewing Monitor
 +
** zeigt FPV-Bild
 +
** zeigt Items/Hinweise
 +
** spielt Sounds lokal
 +
** Hält Verbindung zum Labyrinth-Server
 +
** kann (muss nicht allein) Auto steuern
 +
 
 +
==Labyrinth-Server==
 +
Eigener Raspberry ist über WebSockets mit den Autos verbunden, steuert Elemente im Spielfeld über USB mit USB-Hubs.
 +
 
 +
==Labyrinth-Controller==
 +
 
 +
<pre>
 +
# command interpreter for CircuitPython 4.x
 +
import supervisor
 +
import sys
 +
import time
 +
 
 +
def cmd_id(arg1):
 +
    print("3 Door1")
 +
   
 +
def cmd_open(arg1):
 +
    print("open door: " + arg1)
 +
   
 +
cmd_line = ""
 +
cmd_dict = {
 +
  '?': cmd_id,
 +
  'o': cmd_open,
 +
}
 +
 
 +
def receive_serial_cmd():
 +
    global cmd_line
 +
    if supervisor.runtime.serial_bytes_available:
 +
        value = sys.stdin.read(1)
 +
        ch = ord(value)
 +
        if 32 <= ch <= 126:          # printable character
 +
            cmd_line += chr(ch)
 +
        elif ch in {10, 13}:          # EOL - try to process
 +
            if len(cmd_line) >= 1:
 +
                if cmd_line[0] in cmd_dict:
 +
                    cmd_dict[cmd_line[0]](cmd_line[1:])
 +
                else:
 +
                    print('unkown command.')
 +
            cmd_line = ''
 +
           
 +
i = 0
 +
while(1):
 +
    receive_serial_cmd()
 +
    #print(i)
 +
    i = i + 1
 +
    time.sleep(.1)
 +
</pre>
 +
 
 +
==Elemente der Spielwelt==
 +
 
 +
* UV Beschriftung/Zeichen
 +
 
 +
* Auslösen:
 +
** Laser
 +
** Gegenfahren
 +
** Bodenknöpfe
 +
** Magnet
 +
 
 +
* Aufnehmen:
 +
** Magnet
 +
** Gabelstapler
 +
** Kralle
 +
** Schieben (Kamerasicht?)
 +
** Rollender Ball
 +
 
 +
* Parkour:
 +
** Bewegte Plattform
 +
** Drehteller
 +
** Auto als Brücke
 +
** Tür geht immer auf/zu
 +
** Luftkammerboden (Alienschleim)
 +
** Wippe
 +
** Hindernissraum
 +
** Drehtüren
 +
** Aufzug
 +
** Manuell verstellbare Wände
 +
 
 +
* Gegner:
 +
** Abschießbare Blockade
 +
** Wegräumgegner
 +
** Blendgegner
 +
** Wände zum zerstören
 +
 
 +
* Rätsel / Missionen:
 +
** Hamsterrad / Laufband antreiben
 +
** Türen
 +
** Was von A nach B bringen
 +
** Labyrinth
 +
** Laserspiegel/Würfel (ggf. magnetisch, kooperativ)
 +
** Virtuelle Items schalten Sachen frei
 +
*** Schlüssel
 +
*** Karten, Radar
 +
** Geheimtür
 +
** Grube füllen
 +
** Lichtfarbe freispielen
 +
** Coin Lasern (mit richtigem Laser, gibts dann am Ende)
 +
** verkettete Missionen
 +
 
 +
* Schwierigkeitsgrad:
 +
** Zeitbegrenzung
 +
** Nebel
 +
** Licht
 +
** Kameras im Raum
 +
** Highscore
 +
 
 +
* Tip/Hintsystem per Monitor
 +
 
 +
==Verfügbare Materialien==
 
Bodenplatten von Lidl Florabest  
 
Bodenplatten von Lidl Florabest  
 
46x23x2,7cm
 
46x23x2,7cm
Zeile 27: Zeile 180:
 
Fahrbahnbreite- und höhe orientiert sich an den Maßen der [[FPV-Auto]]'s
 
Fahrbahnbreite- und höhe orientiert sich an den Maßen der [[FPV-Auto]]'s
  
----
+
 
  
 
ca. 4 m² Acryl Milchglas 3.5mm stark für Wände, Decken oder Boden. (Björn)
 
ca. 4 m² Acryl Milchglas 3.5mm stark für Wände, Decken oder Boden. (Björn)
  
  
=== Build Log - Galerie ===
+
== Build Log - Galerie ==
 
<gallery>
 
<gallery>
 
Datei:20200120 223611.jpg
 
Datei:20200120 223611.jpg
Zeile 45: Zeile 198:
 
Datei:20200123-corridor-d.jpg
 
Datei:20200123-corridor-d.jpg
 
Datei:20200123-corridor-e.jpg
 
Datei:20200123-corridor-e.jpg
 +
Datei:FPVTunnelMitBoden.jpg
 +
Datei:20200210 223446.jpg
 +
Datei:20200210 223519.jpg
 +
Datei:20200212 200304.jpg
 +
Datei:20200212 210956.jpg
 +
Datei:20200215 180906.jpg
 +
Datei:Fpvshipidea1.png
 +
Datei:20200602_002108.jpg
 +
</gallery>
 +
 +
= Physikalischer Verein - Einstein-Raum =
 +
<gallery>
 +
Datei:20200129_195102.jpg
 +
Datei:20200129_195045.jpg
 +
Datei:20200129_195053.jpg
 +
Datei:PhysVereinEinsteinraum1.jpg
 
</gallery>
 
</gallery>

Aktuelle Version vom 4. Juli 2021, 14:46 Uhr

Nacht der Museen 2020

NdM-2020 COVID-19.jpg

Wir bekommen für das Event Platz für unsere Projekte im "Einstein Raum" im Physikalischen Verein in Frankfurt. Vermutlich können wir am Tag zuvor (Freitag) aufbauen, das Event läuft von 19:00-02:00. Der Physikalische Verein erwartet etwa 3000 Besucher.

https://www.nacht-der-museen.de/frankfurt/


Termin: Samstag, 25.04.2020, 19:00 Uhr - 02:00 Uhr

Achtung: Die Veranstaltung wurde von der Stadt Frankfurt abgesagt

https://frankfurt.de/aktuelle-meldung/Sondermeldungen/Nacht-der-Museen-findet-nicht-statt/


Physikalischer Verein

Robert-Mayer-Str. 2

60325 Frankfurt

https://www.physikalischer-verein.de/

Alien Spaceship Escape

Konzept/Story

Was hier aufgebaut werden soll ist eine Mischung aus Miniaturwunderland und Escape-Room. Der Reiz besteht darin, dass ein gestrandetes Raumschiff weitgehend allein aus FPV-Sicht der Roboautos erkundet werden muss und eine Fluchtmöglichkeit aus dem Raumschiff mit Hilfe der Roboautos gefunden werden muss.

Durch die unsanfte Landung ist euer Raumschiff stark beschädigt worden - viele Systeme sind ausgefallen und ihr werdet wohl einige notdürftige Reparaturen ausführen müssen, um wenigstens einige wichtige Dinge wie automatische Türen reaktivieren zu können. Für einige Hindernisse ist Teamwork gefragt, deshalb stehen euch zwei Roboautos zur Verfügung. Werdet ihr es schaffen das Raumschiff zu verlassen, bevor der beschädigte Reaktor des Raumschiffes ganz ausfällt?


Software in Python
[FPVCar im Branch labyrint]


Gameplan.jpg

Auto

20200106 215906.jpg

Gesteuert wir mit PS3-Controllern die über Bluetooth mit den Autos verbunden sind, mittels PyGame[1]


Features des Autos

  • FPV Sicht 160° Kamera von Reichelt
  • LED weiß als Scheinwerfer (ein/ausschaltbar)
  • UV-LED (scaltbar)
  • RFID-Leser im Boden um bestimmte Positionen zu erkennen
  • Kralle auf/zu + hoch/runter
  • Laserpointer auf Kralle (schaltbar)


Spiel-Konzept Auto

  • RFID-IDs werden vom Auto zum Labyrinth-Server übermittelt
  • Der entscheidet anhand der ID
    • Items (Keycard, UV) werden "aufgenommen" und somit dem Auto hinzugefügt
    • Item kann Hinweis sein
    • Tür öffnet wenn ID=Tür ist und ggf Keycard vorhanden ist
    • Sound werden getriggert in Auto-Control-Websession
  • Websession auf Public-Viewing Monitor
    • zeigt FPV-Bild
    • zeigt Items/Hinweise
    • spielt Sounds lokal
    • Hält Verbindung zum Labyrinth-Server
    • kann (muss nicht allein) Auto steuern

Labyrinth-Server

Eigener Raspberry ist über WebSockets mit den Autos verbunden, steuert Elemente im Spielfeld über USB mit USB-Hubs.

Labyrinth-Controller

# command interpreter for CircuitPython 4.x
import supervisor
import sys
import time

def cmd_id(arg1):
    print("3 Door1")
    
def cmd_open(arg1):
    print("open door: " + arg1)
    
cmd_line = ""
cmd_dict = {
  '?': cmd_id,
  'o': cmd_open,
}

def receive_serial_cmd():
    global cmd_line
    if supervisor.runtime.serial_bytes_available:
        value = sys.stdin.read(1)
        ch = ord(value)
        if 32 <= ch <= 126:           # printable character
            cmd_line += chr(ch)
        elif ch in {10, 13}:          # EOL - try to process
            if len(cmd_line) >= 1:
                if cmd_line[0] in cmd_dict:
                    cmd_dict[cmd_line[0]](cmd_line[1:])
                else:
                    print('unkown command.')
            cmd_line = ''
            
i = 0
while(1):
    receive_serial_cmd()
    #print(i)
    i = i + 1
    time.sleep(.1)

Elemente der Spielwelt

  • UV Beschriftung/Zeichen
  • Auslösen:
    • Laser
    • Gegenfahren
    • Bodenknöpfe
    • Magnet
  • Aufnehmen:
    • Magnet
    • Gabelstapler
    • Kralle
    • Schieben (Kamerasicht?)
    • Rollender Ball
  • Parkour:
    • Bewegte Plattform
    • Drehteller
    • Auto als Brücke
    • Tür geht immer auf/zu
    • Luftkammerboden (Alienschleim)
    • Wippe
    • Hindernissraum
    • Drehtüren
    • Aufzug
    • Manuell verstellbare Wände
  • Gegner:
    • Abschießbare Blockade
    • Wegräumgegner
    • Blendgegner
    • Wände zum zerstören
  • Rätsel / Missionen:
    • Hamsterrad / Laufband antreiben
    • Türen
    • Was von A nach B bringen
    • Labyrinth
    • Laserspiegel/Würfel (ggf. magnetisch, kooperativ)
    • Virtuelle Items schalten Sachen frei
      • Schlüssel
      • Karten, Radar
    • Geheimtür
    • Grube füllen
    • Lichtfarbe freispielen
    • Coin Lasern (mit richtigem Laser, gibts dann am Ende)
    • verkettete Missionen
  • Schwierigkeitsgrad:
    • Zeitbegrenzung
    • Nebel
    • Licht
    • Kameras im Raum
    • Highscore
  • Tip/Hintsystem per Monitor

Verfügbare Materialien

Bodenplatten von Lidl Florabest 46x23x2,7cm ca. 50 Stück

Wandhöhe 23cm

Unterbodenhöhe 10cm

Fahrbahnbreite- und höhe orientiert sich an den Maßen der FPV-Auto's


ca. 4 m² Acryl Milchglas 3.5mm stark für Wände, Decken oder Boden. (Björn)


Build Log - Galerie

Physikalischer Verein - Einstein-Raum