TensorFlow, Keras, AI, ML, WTF…

Ich wollte mich immer mal mit machine learning beschäftigen. Habe jetzt genug gelesen, müsste jetzt aber mal was ausprobieren. Python bietet sich an wegen TensorFlow und Keras. Ideen, was man lernen könnte hätte ich auch. Wer hat Lust, sich mal zusammen in das Thema AI/ML hineinzuarbeiten?


Bild: Wikimedia – Chrislb (CC BY-SA 3.0)

c-hack Infoterminal

Wir haben:
Einen schicken Standfuß, der mal in einem Solarium eine Anzeige getragen hat
Einen 17″ Monitor ohne Gehäuse
Eine Maus mit Mausrad

Daraus möchte ich bauen:
Ein Infoterminal, das unsere Webseite anzeigt. Damit da endlich auch mal alle unsere physischen Besucher draufgucken.
Mit einer rustikalen Kurbel sollte man die Webseite dann rauf- und runter scrollen können.

Neues Anzeigeprojekt

Uns sind vier LED-Matrix-Displays zugeflogen.

photo_2017-02-01_13-48-51

Das schreit doch nach einem neuen Projekt.
Mir schwebt vor, alle vier auf eine Platte zu montieren und damit dann im Eingang die laufenden Projekte etc. darzustellen.
Andere Ideen sind natürlich auch willkommen.
Wer daran arbeiten will – bitte bei mir per Telegram melden oder mich im C-Hack direkt ansprechen.
Voraussetzungen: Arduino Grundkenntnisse, Spaß am Löten.

Conways Spiel des Lebens

Conways Spiel des Lebens ist eine Simulation von einfachen Zellkulturen, die sich vermehren und absterben. Diese kann man schön auf einem zweidimensionalen Display darstellen.

Die Idee besteht daraus, aus einem Berg Bauteile (siehe Foto) ein lauffähiges Spielfeld zu erzeugen. Die Eleganz liegt darin, dass mit einem kleinen Spielfeld begonnen wird, das man nach und nach in der Breite und Höhe vergrößern kann.

Convay’s Game of Life (Wikipedia CC-BY-SA-3.0)
Conway’s Game of Life (Wikipedia CC-BY-SA-3.0)
8051_eprom
Daraus soll ein Spielfeld entstehen

Der Microcontroller ist ein 80C51 von Philips (historischer Name, heute NXP), das Programm wird in ein externes EPROM gebrannt. Verfügbar haben wir: ca. 200 Controller, ebenso viele EPROMS und ca. 1000 grüne Leuchtdioden.

Ein System mit ähnlicher Funktion ist hier beschrieben: https://learn.adafruit.com/game-of-life?view=all allerdings verwenden die einen langweiligen Atmel als Controller.

Wer mag sich an die Aufgabe wagen, mit einer Controllergeneration, so alt wie dein Opa, ein Game-of-Life zu bauen?

Arduino/Raspi Projekt: Remote-Game

Hier mal grob meine Idee:
Wir bauen eine Platte, die in zwei Achsen gekippt werden kann. Diese bewegen wir mit zwei Modellbauservos, die von einem Arduino o.ä. gesteuert werden.
Damit wird eine Kugel bewegt. Ziel ist es diese in ein Loch in der Platte zu manövrieren.
Man könnte das Ganze so bauen, dass die Kugel, nachdem sie durch das Loche gefallen ist, an eine bestimmte Stelle unterhalb der Platte rollt, wo sie von einem weiteren Servo wieder auf die Platte befördert wird.
Das Ganze steuern wir dann über ein Web-Interface. Das Spielfeld wird mit einer Webcam beobachtet und den beiden Spielern angezeigt. Jeder Spieler steuert nur eine der beiden Achsen.
Keine Ahnung, ob das geht wegen der Latencies – aber man kann es ja mal mit einer weichen, langsam rollenden Kugel probieren.

Advanced
Wir ersetzen die beiden Spieler durch einen Computer. Der wertet das Kamerabild per openCV aus und steuert so die Servos. Schöne Regelungsaufgabe…

Makernight-Arduino Ideen

Ideen für Makernights, an denen Anfänger einfache Arduinoprojekte machen.
Bei allen sind die Basics die gleichen:
Arduino-IDE verstehen
Leuchtdiode zum Blinken bringen
Einfache Morsezeichen senden
Etwas per serieller Schnittstelle zwischen PC und Arduino hin- und her schicken
Taster oder Poti abfragen.

Elektronischer Würfel

Taster abfragen und 7 LEDs per Zufall sinnvoll zum Leuchten bringen.

Reaktionsspiel

10 Taster und LEDs. Wenn LED leuchtet, muss schnell der Taster gedrückt werden.
Das könnte man möglicherweise auch etwas robuster bauen und schon vorbereiten.
Hier könnten die LC-Displays zum Einsatz kommen um das Spielergebnis anzuzeigen.

Ultraschallschatzsuche

Nach dem den Basics erzeugen wir Töne mit Piezo-Lautsprechern.
Dann verwenden wir Ultraschall TX/RX Kapseln und gucken uns das auf dem Oszi an.
Hierzu brauchen wir allerdings einen simplen Ein-Transistor Verstärker auf der Empfängerseite, damit auch was ankommt.
Damit können sich dann schon mal zwei Teilnehmer Signale zusenden.
Zum Schluss suchen wir damit einen versteckten Ultraschall-Sender im Stadtpark.

Lichtkommunikation

Los geht’s wieder mit den Basics.
Dann kommt eine optischer Sensor zum Einsatz (LDR oder Fotodiode).
Mit LED als Sender und Optosensor als Empfänger schicken wir uns dann Nachrichten hin- und her.
Dazu zerlegen wir die Zeichen von der seriellen Schnittstelle in Bits und dekodieren sie wieder auf der anderen Seite.
Probieren: Kann man aus PET Flaschen LWL machen??

Laser Display

Mit dem Arduino Grafiken per Laserpointer an die Wand malen. Ich habe das mal ausprobiert mit einem Oszilloskop. Durch variieren der Ausgangsspannung lässt sich der Strahl des Oszilloskops zum Malen missbrauchen.
Hier die Beschreibung auf meiner Webseite: Surasto.de – ArduinoScopePaint
Wir werden versuchen, kleine Spiegel mit dem Arduino zu steuern, um so den Laserstrahl abhängig von der Ausgangsspannung abzulenken.
Zutaten:
– Arduino
– Leistungstransistoren + Platine
– Motoren oder Drehmagnete mit Spiegeln aus Laserdrucker
Möglicherweise geht es noch besser mit Lautsprechern
(Davon haben wir genug 😉
– Laserpointer + Netzteil