Die CodeBugs sind da!

Unser nächstes Dojo findet am 15. Dezember statt, wie gewohnt um 16:00 Uhr in der AWO Beuel, Neustraße 86.

CodeBugs in der Schachtel.

CodeBugs in der Schachtel.

Ich habe mal zwei CodeBugs bestellt, die jetzt angekommen sind. Das sind kleine Arduino-Boards mit 25 LEDs und großzügigen Pins, an die wir Krokodilsklemmen anschließen können. Damit können wir sicher ein paar einfache Dinge machen.

Die Programme für den CodeBug schreibt bzw. klickt man auf der Seite http://www.codebug.org.uk/create/codebug/ zusammen, dann lädt man das Programm auf den lokalen Laptop oder PC herunter und legt es von dort via USB auf dem CodeBug ab. Dort läuft es dann.

Wer möchte, kann ja schon mal ein paar Programme erstellen und zum Dojo mitbringen, dann sehen wir uns mal an, wie das auf dem echten Board läuft.

CodeBug ausgepackt und mit Streichholz zum Größenvergleich.

CodeBug ausgepackt und mit Streichholz zum Größenvergleich.

Der neue ”PATI”

Wir nennen unseren @PATBUHUBI TWITTERFAHRER seit heute PATI

 

Die wesentlichen Einzelteile: Light Blue Bean zur drahtlosen Kommunikation mit dem Laptop, ein Arduino Motorshield, das auf ein Arduino Uno gesetzt ist, um die Fahrroutinen auszuführen.

Die wesentlichen Einzelteile:
Light Blue Bean zur drahtlosen Kommunikation mit dem Laptop, ein Arduino Motorshield, das auf ein Arduino Uno gesetzt ist, um die Fahrroutinen auszuführen.

 

 

  • das große weiße Teil mit dem massiven blauen USB-Kabal ist der Akku, der das Arduino Uno mitsamt Motorshield mit Strom versorgt. Aus diesem Akku ziehen auch die beiden Motoren ihren Strom.
  • hinter dem Rad in Vordergrund sieht man ein hellgelbes Teil mit einer silbernen Kappe, das ist einer der beiden Motoren, die direkt an die Räder angeschlossen sind. Um geradeaus zu fahren, werden beide Motoren synchron in eine Richtung gestartet. Um links oder rechts herum zu fahren wird jeweils nur ein Motor gestartet, und um rückwärts zu fahren, werden wieder beide Motoren zusammen in die andere Richtung gestartet.
  • Mit dem dicken blauen USB-Kabel ist das Arduino Uno Board mit dem Akku verbunden. Das Arduino Uno übernimmt die Steuerung der Motoren (also o.g. Aktionen für die Motoren). Auf das Uno Board ist ein sog. Motorshield gesetzt. Dieses Motorshield verhindert u.a., dass bei nachrollenden Motoren Strom zurück ins Uno Board fließt, was dieses u. U. beschädigen könnte.
  • Über die vier bunten Käbelchen links im Bild erhält das Arduino Uno kleine Impulse von der Light Blue Bean. Impuls auf dem roten Kabel heißt: “Fahr vorwärts”, auf dem gelben “Fahr links”, auf dem blauen “Fahr rechts” und auf dem grünen “Fahr zurück”. Damit das Uno diese Impulse erkennen kann, hat Leo die PINs A0 bis A3 als digitale Inputs definiert.
  • Die Light Blue Bean empfängt via Bluetooth nichts weiter als die Werte 1, 2, 3 oder 4. Wenn sie eine 1 empfängt, gibt sie einen Impuls auf das rote Kabel (also auf ihren PIN 1), bei einer 2 auf das gelbe Kabel usw.
  • Die Logik, wann eine 1, 2, 3 oder 4 an die Light Blue Bean geschickt wird, läuft auf meinem Laptop. Dort habe ich ein Node Red Environment laufen, das mit der Light Blue Bean via Bluetooth kommuniziert.
  • In dem Node Red Environment befindet sich ein Twitter-Modul, das mit dem Account @PatBuhubi bei Twitter angemeldet ist und alle Tweets der Twitterer*innen empfängt, denen @PatBuhubi folgt.
    • Wenn einer dieser Account nun zum Beispiel exakt “go left” twittert, sieht das Node Red Twitter Modul das und wandelt diese Schlüsselphrase “go left” in den Wert 2 um und schickt ihn an die Light Blue Bean.
    • Die Light Blue Bean hört “2” und gibt entsprechend einen Impuls auf ihren PIN 2, der mit dem gelben Kabel mit dem PIN A1 des Arduino Uno verbunden ist.
    • Das Arduino Uno erhält den Impuls und weiß nun, dass es die Fahrroutine “Fahr links” ausführen muss.
    • In dieser Routine sagt das Uno dem einen Motor “fahr mit Speed x für Dauer y”, während es den anderen Motor still stehen lässt. Der Roboter macht eine Drehung nach links.

 

So weit hat sich gestern nichts geändert, außer:

dass wir das Problem behoben haben, dass der Roboter weiterfährt bis er einen anderen Befehl erhält, also nun fährt er nur solange weiter wie er auch fahren soll.


 

Was immer noch zu tun ist

  • Wir müssen noch einen Stift an dem Gerät anbringen, damit es auf dem Untergrund, auf dem es fährt, eine Linie hinterlässt. Der Stift muss so angebracht sein, dass er in alle Richtungen flexibel ist, damit das Gefährt nicht am Stift hängen bleibt
  • Zusätzlich müssen wir noch dafür sorgen, dass unser PATI auch Tweets richtig verarbeitet, damit ist gemeint das wenn mehrere Leute gleichzeitig Twittern das er dann nicht alle nacheinander abfährt, sondern einen Befehl auswählt(Den der am meisten gewünscht wurde).

Neue Startzeit: 16:00 Uhr!

Neue Startzeit für das Coder Dojo Bonn: Jeden zweiten Dienstag von 16:00 Uhr bis 19:00 Uhr in der AWO Beuel, Neustraße 86, 53225 Bonn-Beuel.Das Coder Dojo Bonn hat neue, etwas flexiblere Zeiten, vielen Dank an die AWO Beuel, dass Ihr uns das ermöglicht, namentlich Kurt Berger, der sich um die Raumbelegung kümmert!

Wir treffen uns ab jetzt immer jeden zweiten Dienstag (so weit noch nichts neues), aber immer von 16:00 Uhr bis 19:00 Uhr.

Das gibt denen, die länger Schule haben oder arbeiten müssen, die Möglichkeit, auch später dazu zu kommen und denen, die früh zu Hause sein wollen oder müssen, früher zu gehen.

Der @PatBuhubi Twitterfahrer ist gefahren!

Wir haben gestern zum ersten Mal alle Komponenten des @PatBuhubi Twitterfahrers zusammengesetzt und das Ding ist tatsächlich auch schon gefahren! So sieht das Gerät nun aus:

Die wesentlichen Einzelteile: Light Blue Bean zur drahtlosen Kommunikation mit dem Laptop, ein Arduino Motorshield, das auf ein Arduino Uno gesetzt ist, um die Fahrroutinen auszuführen.

Die wesentlichen Einzelteile:
Light Blue Bean zur drahtlosen Kommunikation mit dem Laptop, ein Arduino Motorshield, das auf ein Arduino Uno gesetzt ist, um die Fahrroutinen auszuführen.

Man sieht auf dem Foto folgende Komponenten:

  • das große weiße Teil mit dem massiven blauen USB-Kabal ist der Akku, der das Arduino Uno mitsamt Motorshield mit Strom versorgt. Aus diesem Akku ziehen auch die beiden Motoren ihren Strom.
  • hinter dem Rad in Vordergrund sieht man ein hellgelbes Teil mit einer silbernen Kappe, das ist einer der beiden Motoren, die direkt an die Räder angeschlossen sind. Um geradeaus zu fahren, werden beide Motoren synchron in eine Richtung gestartet. Um links oder rechts herum zu fahren wird jeweils nur ein Motor gestartet, und um rückwärts zu fahren, werden wieder beide Motoren zusammen in die andere Richtung gestartet.
  • Mit dem dicken blauen USB-Kabel ist das Arduino Uno Board mit dem Akku verbunden. Das Arduino Uno übernimmt die Steuerung der Motoren (also o.g. Aktionen für die Motoren). Auf das Uno Board ist ein sog. Motorshield gesetzt. Dieses Motorshield verhindert u.a., dass bei nachrollenden Motoren Strom zurück ins Uno Board fließt, was dieses u. U. beschädigen könnte.
  • Über die vier bunten Käbelchen links im Bild erhält das Arduino Uno kleine Impulse von der Light Blue Bean. Impuls auf dem roten Kabel heißt: “Fahr vorwärts”, auf dem gelben “Fahr links”, auf dem blauen “Fahr rechts” und auf dem grünen “Fahr zurück”. Damit das Uno diese Impulse erkennen kann, hat Leo die PINs A0 bis A3 als digitale Inputs definiert.
  • Die Light Blue Bean empfängt via Bluetooth nichts weiter als die Werte 1, 2, 3 oder 4. Wenn sie eine 1 empfängt, gibt sie einen Impuls auf das rote Kabel (also auf ihren PIN 1), bei einer 2 auf das gelbe Kabel usw.
  • Die Logik, wann eine 1, 2, 3 oder 4 an die Light Blue Bean geschickt wird, läuft auf meinem Laptop. Dort habe ich ein Node Red Environment laufen, das mit der Light Blue Bean via Bluetooth kommuniziert.
  • In dem Node Red Environment befindet sich ein Twitter-Modul, das mit dem Account @PatBuhubi bei Twitter angemeldet ist und alle Tweets der Twitterer*innen empfängt, denen @PatBuhubi folgt.
    • Wenn einer dieser Account nun zum Beispiel exakt “go left” twittert, sieht das Node Red Twitter Modul das und wandelt diese Schlüsselphrase “go left” in den Wert 2 um und schickt ihn an die Light Blue Bean.
    • Die Light Blue Bean hört “2” und gibt entsprechend einen Impuls auf ihren PIN 2, der mit dem gelben Kabel mit dem PIN A1 des Arduino Uno verbunden ist.
    • Das Arduino Uno erhält den Impuls und weiß nun, dass es die Fahrroutine “Fahr links” ausführen muss.
    • In dieser Routine sagt das Uno dem einen Motor “fahr mit Speed x für Dauer y”, während es den anderen Motor still stehen lässt. Der Roboter macht eine Drehung nach links.

Was wir vergessen haben

  • Wir müssen nach einmaliger Ausführung auf der Light Blue Bean alle PINs wieder ausschalten, sonst fährt der Roboter so lange links rum, bis er einen neuen, anderen Befehl erhält.
  • Das ist aber eine Kleinigkeit, die wir bis zum nächsten Dojo schnell im Programm Code der Light Blue Bean korrigiert haben werden.

Was noch zu tun ist

  • Wir müssen die Tweet-Auswertung noch verbessern, zu Testzwecken haben wir mit sog. “Injections” gearbeitet, damit wir nicht ständig so viel twittern müssen. Ausserdem verhindert Twitter, dass man mit dem selben Account den selben Tweet mehrfach nacheinander absetzt.
  • Wir müssen noch einen Stift an dem Gerät anbringen, damit es auf dem Untergrund, auf dem es fährt, eine Linie hinterlässt. Der Stift muss so angebracht sein, dass er in alle Richtungen flexibel ist, damit das Gefährt nicht am Stift hängen bleibt

Morgen wird’s interessant!

Soeben habe ich eine wichtige Verbindung für unseren @PatBuhubi-Twitterfahrer herstellen können. Wir können jetzt also:

  • mit dem Laptop Tweets auf bestimmte Schlagworte hin abhorchen
  • wenn Tweets eine bestimmte Phrase enthalten und an @PatBuhubi gerichtet sind, können wir daraus ableiten, welche Fahrrichtung genommen werden soll
    • Wert 1 für “vor”
    • Wert 2 für “links”
    • Wert 3 für “rechts”
    • Wert 4 für “zurück”

–> Das findet alles in Node Red auf dem Laptop statt

  • wir können diese Werte via Bluetooth auf die Light Blue Bean übertragen, die auf dem Fahrroboter befestigt sein wird
  • wir können der Light Blue Bean sagen, dass sie, je nach übermitteltem Wert, einen der PINs 1-4 als Output unter Strom setzen soll
  • wir können dem Fahrroboter sagen, dass er vor, links, rechts oder zurück fahren soll, dafür hat Leo ja schon vor Wochen entsprechende Routinen geschrieben

Was wir jetzt noch hinkriegen müssen:

  • Die PINs 1-4 mit freien PINs des Fahrroboters verbinden
  • Auf dem Arduino des Fahrroboters die verbundenen PINs als Input verwenden und bei anliegender Spannung für eine Sekunde (oder so) die dazu passende Fahrroutine aufzurufen.

Ich freue mich auf morgen, vielleicht kriegen wir das Ding sogar schon ans Fahren!

 

Termin: 6. Oktober, 15:00 Uhr in der AWO Beuel, Neustraße 86

Protokoll des Dojos vom 8. September 201

Heute war die Zeitung da und hat sich nach uns und unserem Wohlbefinden erkundigt. Wir haben erzählt, was wir im letzten halben Jahr so gemacht haben (Ihr hier wisst das ja, Ihr lest ja immer unsere Blogposts, hehehe…) Sie haben ein Foto von uns gemacht und morgen oder so stehen wir in der Zeitung, hurra! Ich hoffe, dass dann noch mehr zu uns kommen (und vielleicht auch ein paar Mentor*innen, die uns helfen mögen).

Unser neues Projekt jedenfalls hat heute entscheidende Fortschritte gemacht. Leo hat seinen Fahrroboter so programmiert, dass er jetzt vorwärts, rückwärts, links und rechts fahren kann. Im Moment tut er das noch etwas kopflos, wie man hier sehen kann:

Aber nicht nur Leo hat Fortschritte gemacht. Zusammen mit Friedjof, der heute zum ersten Mal dabei war, habe ich so lange an diesem Node-RED-Dingsbums rumgewurschtelt, bis es plötzlich nicht nur eine Verbindung zu unserer Light Blue Bean bekommen hat, sondern auch zum Twitter-Account meines alten Alter-Ego @PatBuhubi.

Light Blue Beans lassen sich mit Node-RED über ein grafisches Interface im Browser programmieren.

Light Blue Beans lassen sich mit Node-RED über ein grafisches Interface im Browser programmieren.

Wir können jetzt mit allen Twitter-Accounts, denen @PatBuhubi folgt, erstmal “You’re great!”, “You’re awful!” oder “I’m neutral.” twittern und die Light Blue Bean reagiert darauf mit ihrer On-Board-LED in grün, rot und blau. Als nächstes müssen wir dann die Schlüsselwörter auf “links”, “rechts”, “vor” und “zurück” umstellen – und der Light Blue Bean dann sagen, dass sie nicht ihre LED-Farbe ändern soll, sondern einen Impuls auf Pin 1, Pin 2, Pin 3 oder Pin 4. Die wollen wir dann mit dem Arduino auf Leos Fahrroboter verbinden und dort so auswerten, dass Impuls auf Input-Pin 1 links rum fahren bedeutet, auf Pin 2 rechts rum, auf Pin 3 zurück und Pin 4 vorwärts fahren. Es ist fast schon zu einfach! 🙂

“Irgendwie langweilig”, sagt Leo. “Lass uns einen Stift dranmachen und auf einem Blatt Papier fahren”, sagt Friedjof. Das machen wir! Sobald wir alles zusammengelötet haben und es funktioniert. Dann könnt Ihr alle zusammen Twitter-Bilder zeichnen, das wird ein Spaß!

Das nächste Dojo findet am 22. September statt, wie gewohnt um 15:00 Uhr in der AWO Beuel, Neustraße 86, 53225 Bonn!

Protokoll des Dojos vom 25. August 2015

Hurra, heute war endlich wieder Coder Dojo in Bonn, und gleich hatten wir wieder tatkräftige Unterstützung aus Potsdam, Nico hat uns besucht und viele grundsätzliche Probleme für uns aus der Welt geschafft. Ist schon hilfreich, wenn man jemanden dabei hat, der sich mit den Sachen etwas auskennt 🙂 (Daher an dieser Stelle nochmal der Aufruf an die Nerds, Programmierer*innen und Auskenner*innen von Bonn: Wir brauchen Know-How und Unterstützung – also Mentor*innen! Kommt und helft uns!)

Nach der langen Sommerpause haben wir ein neues Projekt mit einem gemeinsamen Ziel angefangen: Wir wollen einen Roboter bauen, den die Welt da draußen per Twitter steuern kann. Über eine Kamera soll der Roboter im Gegenzug der Welt zeigen, wo er sich gerade befindet und was er dort sieht.

Als Basis soll das dreirädrige Arduino-Gefährt von Leo dienen, wir hatten damit ja im Dojo vom 2. Juni schon ein paar erste Erfahrungen gemacht. Auf dem Arduino-Gefährt befinden sich ein Arduino Uno gekoppelt mit einem Arduino-Motor-Shield. Leo und Jochim haben sich schon mal mit der Programmierung für “fahr nach links”, “rechts”, “geradeaus”, “zurück” und “halt the fuck an!” auseinandergesetzt.

Die Verbindung zum Internet und also zu Twitter wollen wir über eine Light Blue Bean hinbekommen, die wir dem Gefährt aufsatteln werden und dann per Bluetooth mit einem Programm auf meinem Appel-Laptop kommunizieren lassen wollen. Die Twitter-Auswertung und Logik wird also auf dem Laptop laufen und per Bluetooth an die Light Blue Bean auf dem Gefährt übertragen – und die Light Blue Bean wird dem dort angesiedelten Arduino mit freundlich gemeinten kleinen Stromstößen die Richtung vorgeben.

Das mit der Kamera haben wir auf unbestimmte Zeit nach hinten verschoben, erstmal wollen wir das fahren hinbekommen. Perspektivisch wollen wir das Gefährt aber dauerhaft mit dem Internet verbunden haben, ich habe deswegen mal beim @holadiho gefragt, wie weit er bei Ubirch mit seinem Board mit SIM-Karte ist und ob das vielleicht auf unseren kleinen Roboter passen könnte.

Aber bis dahin haben wir noch genug andere Probleme zu lösen, zum Beispiel dieses Node-RED auf meinem Rechner ans Laufen zu bringen und dem dann auch noch die Kommunikation mit der Light Blue Bean beizubringen. Erstmal muss ich, lese ich gerade, dieses 2,61 Gigabyte große XCode Dingbums installieren. Shice, Mann! Da muss ich ja aus Platzgründen alle Rick-Astley-Videos löschen!

Das nächste Dojo findet am 8. September statt, kommt zahlreich und helft uns! Wir brauchen nicht nur Coding und Tinkering-Hilfe, der Roboter muss ja auch gile aussehen – wir haben uns einen Hund vorgestellt, damit Jochim endlich seinen Luxus-Wortwitz vom Köter-Dojo verwertet sehen kann (Dein Gehirn sollte an dieser Stelle mühelos ein Bild meines müden Lächelns vor Dein inneres Auge zaubern, liebe*r Leser*in!)

Dienstag geht’s wieder los!

Am Dienstag geht’s nach der langen Sommerpause weiter, endlich wieder Coder Dojo! Wir treffen uns wie gewohnt um 15:00 Uhr in der AWO Beuel, Neustraße 86.

Jochim und ich haben uns überlegt, dass wir ein gemeinsames Projekt machen könnten. Wir wollen einen Roboter bauen, der über Twitter gesteuert werden und dessen Bewegungen man dann eben dort, bei Twitter, verfolgen kann. Das wird nicht einfach, wir brauchen viel Hilfe, von Euch, von Euren Freundinnen und Freunden, von Erwachsenen, die coden können und von Sponsoren, die uns das eine oder andere Ersatzteil schenken mögen!

Verbreitet das, bitte!

 

Sommerferien!

Wegen der Ferien haben wir im Moment nur sehr wenig Resonanz, so dass wir uns entschlossen haben, das nächste Dojo erst wieder nach den Sommerferien zu veranstalten.

Merkt Euch den Termin schon mal vor, das nächste Coder Dojo Bonn findet also am 25. August statt!

(Der Termin am 14.07. entfällt!)