NachtderMuseen2020: Unterschied zwischen den Versionen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
(Labyrinth-Server)
(Build Log - Galerie)
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
=Nacht der Museen 2020=
 
=Nacht der Museen 2020=
[[Datei:PhysVereinEinsteinraum1.jpg|240px|thumb]]
+
[[Datei:NdM-2020_COVID-19.jpg|240px|thumb]]
Wir bekommen für das Event Platz für unsere Projekte im "Einstein-Raum" im Physikalischen Verein in Frankfurt.   
+
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.   
 
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.   
  
Zeile 8: Zeile 8:
  
 
Termin: '''Samstag, 25.04.2020, 19:00 Uhr''' - 02:00 Uhr
 
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/ https://frankfurt.de/aktuelle-meldung/Sondermeldungen/Nacht-der-Museen-findet-nicht-statt/]
  
  
Zeile 17: Zeile 21:
  
 
[https://www.physikalischer-verein.de/ https://www.physikalischer-verein.de/]
 
[https://www.physikalischer-verein.de/ https://www.physikalischer-verein.de/]
 
 
  
 
=Alien Spaceship Escape=
 
=Alien Spaceship Escape=
Zeile 31: Zeile 33:
 
[[https://github.com/hackffm/FPVCar/tree/labyrith|git FPVCar im Branch labyrint]]
 
[[https://github.com/hackffm/FPVCar/tree/labyrith|git FPVCar im Branch labyrint]]
  
 +
 +
[[Datei:Gameplan.jpg|240px|thumb]]
  
 
==Auto==
 
==Auto==
Zeile 66: Zeile 70:
  
 
<pre>
 
<pre>
 +
# command interpreter for CircuitPython 4.x
 
import supervisor
 
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 serial_read():
+
def receive_serial_cmd():
  if supervisor.runtime.serial_bytes_available:
+
    global cmd_line
      value = input()
+
    if supervisor.runtime.serial_bytes_available:
      print(value)
+
        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>
 
</pre>
  
Zeile 114: Zeile 150:
 
Datei:20200212 210956.jpg
 
Datei:20200212 210956.jpg
 
Datei:20200215 180906.jpg
 
Datei:20200215 180906.jpg
 +
Datei:Fpvshipidea1.png
 +
Datei:20200602_002108.jpg
 
</gallery>
 
</gallery>
  

Version vom 1. Juni 2020, 23:25 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

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