Hack'n'Sun Bonn 2023

Da ich das ganze - schon wieder - verpennt habe, können wir den ersten Termin leider nicht mehr nehmen.

Das Treffen findet am Mittwoch, dem 12.04.2023 um 20 Uhr statt

@nik @pinguin @benni

@lukasw @krfl9500 Passt das für euch auch? Tut mir leid, dass ich den ersten Termin verpennt habe!

BBB-Raum: Technische Umsetzung HnS

Agenda: Sign in · GitLab

Ich fürchte, dass ich nicht teilnehmen kann (wir sind in England und ich habe keine Ahnung, wie es mit WLAN aussieht). Wenn ihr nichts von mir hört bedeutet das, dass ich kein Internet habe.

1 „Gefällt mir“

Workshopplanung

Wir wollen wieder ein Workshop-Porgramm anbieten. Hier soll die Workshop-Planung dokumentiert werden.

Rahmenbedingungen

Vorschläge für Workshops

  • Spiele programmieren mit PyGame
    • Modular
    • In 3h haben wir ein spielbares Spiel, welches aber erweiterbar ist
  • Wetterstation
    • Nur löten - Die Teilnehmenden bekommen das fertige Programm
    • Nur programmieren - Die Teilnehmenden bekommen ein fertig gelötetes Set
    • Die Teilnehmenden löten in einem Slot das Set, in einem zweiten Programmieren sie
  • Matrix-Lampe
  • Spiele programmieren mit RenPy
  • Lötsets von Blinkyparts
  • LED-Matrix mit ESP
  • niceGuy

Herausforderungen

  • gute anwendbare Templates (PyGame)
    • “Wir geben alles vor” vs. “Die Teilnehmenden müssen zuviel selbst machen”
  • Wir benötigen eine fertige Platine (Wetterstation und Lampe)
  • Wir brauchen genug Lötkolben (Wetterstation/Lampe, Lötkits)
  • RenPy muss debuggt werden

Todos

PyGame (@robert , @mwinter, @krfl9500, @pinguin )

  • Templates fertigstellen

  • Dokumentation der Templates

  • Alle Funktionen gut erklären

    • Wie passe ich die Templates an?
    • Was kann jede Funktion?
    • Wie wende ich die Funktion an? (Input/Output)
  • Grafiken und Sounds zusammenstellen

    • CC-0-Lizenzen an die entsprechenden Bilder schreiben (Rest ist schon dokumentiert)
  • Workshop durchgehen

  • Dokumentation jemand fachfremdem geben

Wetterstation und Löten

  • Platine für Wetterstation/Lampe designen (@mwinter, @macked47, @krfl9500 )
  • 5 Lötkolben organisieren (@mwinter , @benni, @tteichler )
  • Platinenentwürfe bestellen
  • Funktionsreferenz (z.B. für mytrix) erstellen
  • Lötanleitung überarbeiten
  • Platinenentwürfe testen
  • Platinen überarbeiten
  • Fehlende Teile bestellen
  • Platinen bestellen
  • Termin mit Timo Schindler von blinkingparts (@nik)
  • Lötkits bestellen

RenPy

  • RenPy debuggen (@nik )
  • Konzept Entwicklung Storyboard
  • Kurzanleitung RenPy
  • Zusatz: Herausfinden wie man Ren’Py-Spiele für Android/iOS baut ohne mit Error-Messages zugespammt zu werden

LED-Matrix

  • ggf. Steckbrücken löten
  • MicroPython und library flashen
  • Beispiele für Anzeigen überlegen (Inspirationen bei BlinkenRocket )
    • statische
    • dynamische
  • Übersichtsblatt über Bits&Bytes und Display-Matrix erstellen
  • Bitmap-Font vorbereiten
  • Bibliothek ausprobieren: µfrabuled
  • Demoprogramm erstellen
  • Funktionsreferenz der Bibliothek

Sonstiges

Testliste vor den Vorbereitungstagen

  • PyGame-Templates
    • Alles außer Geschosse
    • Geschosse
  • Elektronik Wetterstation
  • Basisprogramm Wetterstation
  • Elektronik LED-Matrix
  • Basisprogramm LED-Matrix
  • Demo-Programm RenPy

Benötigtes Material

  • Technische Leitung
    • Notebook für jeden Teilnehmenden
      • Debian-Pakete: Thonny, pygame, pytmx, Tiled, git
      • RenPy als SDK (Ren'Py 8.1.1)
      • Alle User in Gruppe dialout
      • openjdk-8 als default java & javac (zum Bauen von APKs aus RenPy)
      • Alle Repos (unter Git-Repos) bitte den TN zur Verfügung stellen
    • sonstige:
      • IOT-WLAN
      • Matrix-Accounts für ESPs
    • 2 Beamer
  • Organisatorische Leitung
    • Lötkits
    • 10 Lötkolben
  • Sonstiges
    • Platinen für ESPs

Git-Respos

PyGame

Spieleprogrammieren

RenPy

RenPy

Wetterstation

Wetterstation

LEDMatrix

LEDMatrix
µfrabuled

Tutoren

Pygame

RenPy

Wetterstation

LED-Matrix

Springer

Session-Ergebnis 20.05.2023

Allgemeines

  • Frontale Einführung kurz halten
  • Gute Dokumentation
  • Früh Teilnehmende selbst Arbeiten lassen
  • Bei Fragen → Zeigen wie es geht, Teilnehmenden Umsetzung überlassen

Spieleprogrammieren

Promised Skills (TN wissen/können folgendes)

  • Was ist Import?
  • Variablen/(Datentypen)
  • If-Else-Verzweigungen
  • Schleifen aller Art
  • Was sind Klassen/Funktionen?
  • Wie funktioniert Tiled?
  • Grundlagen pygame (Wie erstelle ich einen Bildschirm? Was sind Surfaces? Wie verarbeite ich Benutzereingaben? Sprites?)
  • Wie finde ich Musik/Grafiken für mein Spiel?

Aufbau

  1. Gemeinsamer Beginn
    • Ca. 10 Min für Booten/Thonny zeigen/ Anmeldung/Beginn etc
    • Zeigen des Main-Templates & Tiled
    • Teilnehmenden an selber Programmieren bringen
      1. Ein Objekt in Tiled hinzufügen (Klasse gibt es schon)
      2. Interaktion mit dem Objekt
        Seite der Kollision ist egal
        Seite der Kollision ist nicht egal
      3. Ein Objekt hinzufügen (Klasse gibt es noch nicht)
    • Insg. Allerhöchstens 1h
  2. Beginn der Programmierung
    • Wie arbeiten ich mit der Doku?
    • Wie passe ich die vorgebenen Klassen an?
    • Danach: Selbstständig programmieren

Änderungen an den Hilfsmitteln

  • Templates werden in der Anwendung stark vereinfacht
    • Importieren, nur noch Parameter durchgeben
    • Das Main-Template läuft schon ohne Änderungen
  • Wir geben den TN eine Dokumentation für die Templates mit.
  • Wir stellen Tileset, Musik, Sounds & sprites zur Verfügung

Nutzung der Pakete

  • Wir binden Tiled stärker ein (Einfügen von Spielern/Gegnern/Objekten geht über Tiled)

Wetterstation

Promised Skills (TN wissen/können folgendes)

  • Löten
  • Grundlagen MicroPython
  • Nutzung der mytrix-Bibliothek

Wir behalten das Konzept von letzten Jahr bei. Ändern werden wir allerdings folgendes:

  • Mehr Lötkolben
  • Fertige Platinen
  • Verschiedene/Mehr Bausätze anbieten

LED-Matrix

  • Grundlagen
    • Elektronik + Microcontroller
    • Was ist ein Programm
    • Was sind Bits und Bytes
  • Löten
  • MicroPython ausprobieren
    • statische Dinge anzeigen
    • dynamisch Dinge anzeigen

RenPy

Fokus: Kreative Arbeit

  1. Skript entwickeln
  2. Kurze übersicht über den Aufbau und die Befehle
  3. Kinder basteln lassen

Meine Oma hat am 10. Juli (dem ersten Tag von Hack’n’Sun) Geburtstag und wird 80 Jahre alt. Daher würde ich sehr gerne zu ihrem Geburtstag. Klappt das? Braucht ihr mich da für irgendetwas?
Ich wäre abends auch wieder da.

Ich würde mich gerne mal online treffen um am Pygame-Workshop zu arbeiten. Stimmt dafür bitte einmal hier ab, wann ihr könntet.

  • Montag, 29., 15:00
  • Montag, 29., 17:00
  • Montag, 29. 19:00
  • Dienstag, 30., 17:00
  • Dienstag, 30., 19:00
  • Mittwoch, 31., 17:30
  • Mittwoch, 31., 19:00
  • Donnerstag, 1., 19:00

0 Teilnehmer

niceGUI ausprobieren: Das haben wir am Campday ausprobiert. Mit vorbereiteter Anleitung geht das gut, aber alles sich von Hand zu erarbeiten ist doch etwas schwierig.

Dann lass uns doch hier Montag um 17:00 nehmen (BBB-Raum).

4 Beiträge wurden in ein neues Thema verschoben: Vorbereitungstreffen Hack’n’Sun

Es könnte bei mir hiermit kollidieren.

Im Anschluss an das Vorbereitungstreffen am 18. Juni findet das virtuelle Kennenlerntreffen statt (siehe Hack’n’Fun-Chatraum). Wer sein Workshop-Team noch unterstützen und virtuell dabei sein kann, ist sehr willkommen.

1 „Gefällt mir“

Erkentnisse aus dem Gespräch mit Timo Schindler am 10.06.2023

Wie lange brauchen Personen ohne Löterfahrung für das Löten einfacher Kits?

  • Eine Stunde bei unerfahrenen

Welche Kits von blinkingparts bieten sich für Lötanfänger an?
RGB-Einhorn
RGB-Axolotl
RGB-Rakte

Welche Verbesserungen gibt es noch an dem Platinen-Layout für die Wetterstation?

  • Steckbrücke für Jumper bei der Stromversorgung
  • Kondensatoren zur Spannungsstabilisierung
    • Elko 10uF
    • Keramik 100nF
  • Widerstände (68Ω) für die Leds auf die Platine
  • 2-Schicht-Design
    • komplette obere Ebene mit +5V oder +3.3V

Wir können für die Bestellung einen Rabatt-Code nutzen

Notizen zur Vorbereitung

Themen an den Vorbereitungstagen

Die folgenden Meetings müssen an den Vorbereitungstagen stattfinden:

  • Ablaufplanung (Uhrzeiten, usw.) – ganzes Team
  • Einführung gewaltfreie Kommunikation (und Gesprächsführung) – ganzes Team
  • Was machen wir wenn xy schief läuft? - Jedes Workshopteam

Anforderungen an Teams zum Aufbau und Ablauf

Organisatorische Leitung

  • Serverraum und Materiallager getrennt. Vorschlag: Serverraum im großen Saal oben, Materiallager/Office im Kaminraum
  • Dauerhafter Frontdesk im/am Kaminraum

Technische Leitung

  • Einhaltung von Sicherheitsregeln und Grundordnung

Didaktische Leitung

Pädagogische Leitung

Inhalte für Infoscreens

  • Ansprechpartner mit Themenbeispielen und Fotos
  • Zeitabläufe und Angebote
  • Erinnerung an die wichtigsten Regeln

Alex und ich kommen am 10. vielleicht eine Stunde zu spät, weil unser Vater vorher noch einen Arzttermin hat und wir den passenden Zug eventuell nicht bekommen. Das sollte kein zu großes Problem sein, oder?

Ne, das passt. Es sollten alle so früh wie möglich da sein, aber so lange iher im Laufe des Nachmittages da seid, reicht das.

(Das heißt nicht, dass jetzt andere ohne wichtigen Grund später kommen sollten!)

OK, also Montag um 14:00… wo? Zeltplatz?