Computer, OpenSource

Livestreaming: OBS-Szenen leichter umschalten

Vor einiger Zeit sah ich fasziniert das Stream-Deck von Elgato auf YouTube und hatte sofort das Haben-wollen-Gefühl. Mit diesem schönen Gerät kann man Kameras umschalten, den Ton ein- und ausschalten, Links einblenden u.v.m. – und das alles mit einem Knopfdruck. Da ich dienstlich nicht sooo oft streame und mir das Ding privat zu teuer ist, habe ich eine günstige Selbstbau-Alternative gesucht und gefunden: „Stream-Cheap„.

Auf Thingiverse, der Plattform für 3D-Modelle für CNC-Fräsen, Lasercutter und 3D-Drucker, habe ich eine etwas abgespeckte Lösung gefunden und in noch günstiger nachgebaut (mal schauen, ob sich eine Aufwertung meines Eigenbaus oder der Kauf des Stream-Decks lohnt). Das Herzstück meiner Konstruktion ist ein Arduino Pro Micro, der mit dem passenden Code vom Computer als Zusatztastatur erkannt wird. Den Arduino habe ich mit acht Druckschaltern verbunden, die ich auf eine Platine gelötet habe.

Die Verkabelung ist denkbar einfach. Die Schalter verbinden beim Drücken die Kontakte diagonal, es werden einfach die digitalen Ports auf der einen Seite (2-9) mit den Schaltern verbunden. Diese wiederum sind mit Ground verbunden. Softwareseitig werden die Schalter mit den Tasten F13-F20 belegt. Diese kommen zwar nicht auf einer STandard-Tastatur vor, sind aber unter Windows ohne Probleme benutzbar.

Den passenden Sketch für den Arduino (und auch weitere Informationen) gibt es in diesem Artikel. Das genaue Lesen lohnt sich, denn die Keyboard-Bibliothek ist momentan noch nicht auf die Tasten F13-F20 ausgelegt. So muss die neuere Version der Bibliothek heruntergeladen und mit dem Sketch in den selben Ordner gelegt werden.

Da ich mit kleinen häßlichen Schaltern und nicht mit hübschen Cherry-Tasten gearbeitet habe, musste ich mein Case selbst erstellen. Mit Tinkercad habe ich es eben schnell zusammengebastelt und auf dem 3D-Drucker ausgedruckt. Dann noch schnell eine passende Beschriftung der Tasten ausdrucken und schon:

Hässlich aber funktional. Ich nenne das Ding liebevoll Stream-Cheaper. 😉 Der größte Nachteil bis jetzt ist das laute Schaltgeräusch.

Jetzt muss man in OBS nur noch unter „Einstellungen“ -> „Hotkeys“ entsprechende Funktionen mit den Stream-Cheap-Tasten verbinden. Das ganze hat mich schlußendlich nur um die 5€ (Arduino Pro Micro ~3,70 € aus Fernost, Platine ~ 50ct, 8 Kurzhubtaster ~50ct, +Lötzinn und Litze/Draht; das Micro-USB-Kabel hatte ich noch rumliegen) und ein paar kurzweilige Stunden gekostet.

Bei LinuxMint sind übrigens die erweiterten F-Tasten nicht standardmäßig aktiviert bzw. die Keycodes sind anders genutzt. Aber im Sketch kann man ja jede andere Taste auf den Stream-Cheap legen (und natürlich kann man auch entsprechende config-Dateien bearbeiten, denn Keycodes werden gesendet). Unter Windows arbeitet das Ding out-of-the-box sehr gut mit OBS zusammen.

Computer, Jugendarbeit, OpenSource

Arduino als Soundzähler und Hilfmittel für Jugger

Durch Trommelschläge geordnetes Chaos: Jugger.

Nach Quidditch nun eine weitere relativ neue Sportart: Jugger. Auf der letzten Mitarbeiterschulung hatten wir ein Spielset dabei und haben uns mit sehr viel Spaß um den Jug „geprügelt“. Das einzige, was nervte, war das Zählen der Trommelschläge.

Als ich mit dem Trommeln dran war, kam ich mit dem Zählen immer wieder durcheinander, weil die Spielzüge gerade spannend waren oder ich anderweitig abgelenkt war (aus dem Weg springen zum Beispiel). Durch meinen 3D-Drucker hatte ich mein Wissen in Elektronik wieder aufgefrischt und so kam mir die Idee mein offenbar ungeeignetes Hirn mittels Arduino, Display und Ton-Sensor zu unterstützen. Und keine vier Monate später… 😉

g6565
An dem Poti des Soundsensors kann man später die Empfindlichkeit einstellen.

Hardware

  • Arduino Uno
  • Soundsensor (ich habe einen mit drei Anschlüssen benutzt, manchmal auch FC-04 genannt)
  • vier 1KOhm-Widerstände
  • 4-stelliges 7-Segment-Display
  • Breadbord oder Prototyping Shield oder Platine auf die man direkt lötet
  • Steckverbinder

Das ganze wird dann wie im Schaubild verdrahtet. Vorsicht übrigens bei billigen Breadboards, ich hatte bei einer Testverdrahtung Probleme, deren Ursache ich nicht finden konnte – bis ich das Breadboard getauscht habe.

Software

Wer sich noch nicht mit dem Arduino und seiner Programmierung vertraut gemacht hat, empfehle ich die Einführung auf arduino.cc zu lesen. Es gibt auch genügend deutsche Anleitungen – sogar auf YouTube.

Den Code habe ich mir aus Beispielen und Tutorials zusammengebastelt und es ist mein erster für Arduino, also seid gnädig…

Um die Ansteuerung des 4-stelligen 7-Segment-Displays nicht allzu schwer zu machen, braucht ihr diese Bibliothek.

Zum schnellen Kopieren gibt es den Sketch auch hier zum kopieren oder herunterladen.

Ich habe mich erstmal für den Prototyping-Shield entschieden. Zweiter Schritt ist dann das Löten auf der Platine.

ToDo

Natürlich fehlt noch ein schickes Gehäuse aus meinen 3D-Drucker mit einem gut erreichbaren Reset-Button und Platz für die Stromversorgung. Vorstellbar wäre auch die Nutzung eines Arduino Nanos, um noch kleiner zu werden. Außerdem hätte ich gerne noch eine alle 1,5 Sekunden aufblitzende LED (so lange ist ein Zeiteinheit bei Jugger)(s.u.). Natürlich bin ich auch gespannt auf eure Ideen, Rückmeldungen und Verbesserungsvorschläge!

Und hier die Blogbeitäge und Seiten, die mir dabei geholfen haben: ArduinoEntprellen, 7-Segment-Display, Schaltplan-Darstellung, Sound Sensor, Allgemeines. Herzlichen Dank dafür!!!

Edit: Ich habe eine Lösung für die gleichzeitig in 1,5 Sekunden blinkende LED gefunden und habe sie hier hochgeladen. Im Schaltplan denkt euch einfach noch eine LED: A5 – LED – Widerstand (bei mir 220Ohm)- GND. Das Multitasking habe ich nach diesem Tutorial realisiert.

juggercountEdit 2 (21.8.18):
Es ist soweit. Durch den Nerdurlaub 2018 ist das Projekt zu einem vorläufigen Ende gekommen. Im 3D-gedruckten Gehäuse arbeitet ein Arduino Nano und wird über 3 AA-Batterien oder wahlweise Mini-USB mit Strom versorgt. Danke an meine beiden Mitstreiter, die den Löwenanteil der Lötarbeiten erledigt haben und der Grund sind, dass der Counter nun endlich fertig ist. Aufgrund von Erfahrungen beim Spielen habe ich das Poti für die Empfindlichkeit direkt zugänglich gelassen, um ggfs. nachjustieren zu können. Bei unserem Test des Prototyps war der Wind dermaßen stark (oder wir so laut?), dass der Counter auch ohne Trommel gezählt hat. Und an einen Resetknopf habe ich auch noch in letzter Minute gedacht. 😉