3ders.org – Adafruit’s 3D printed PiGRRL Zero puts retro gaming in your pocket | 3D Printer News & 3D Printing News

Adafruit’s Ruiz Brothers have posted a tutorial for the PiGRRL Zero, their latest Gameboy-style, 3D printed emulator. The PiGRRL Zero, which packs 14 buttons and a 2.2′ color display into its tiny landscape casing, is built around the $5 Raspberry Pi Zero.

Quelle: 3ders.org – Adafruit’s 3D printed PiGRRL Zero puts retro gaming in your pocket | 3D Printer News & 3D Printing News

Das elektronische Schaf

Lange ist es her, seit ich mich um das elektronische Schaf gekümmert habe. Mit dem Unterboden war ich nicht wirklich zufrieden. Nun habe ich mich endlich mal an einen neuen Versuch gewagt.

links: neue Version, rechts: alte Version

 

Die Motoren sind nun um 5° nach unten geneigt. Das ergibt ein bisschen mehr Bodenfreiheit und die Drehungen sollten ein bisschen leichter gehen. Eine 10° Neigung müsste ich auch noch mal ausprobieren.

Um 5° geniegte Motoren auf allen Achsen

Da der Raum für den Motor zu eng war, ist beim Eindrücken des Motors das Gehäuse ein bisschen aufgeplatz (links zu sehen). Die Layerhafung ist bei diesem Versuch auch nicht so ganz gut. Gedruckt habe ich mit ABS.

Dafür war die Haftung am Druckbett zu gut.

Am Druckbett haftendes ABS

Obwohl die Maße 170 mm x 128 mm betragen hat sich keine einzige Ecke des  Modells vom Druckbett abgehoben. Leider haftete das Modell auch nach dem Abkühlen noch so stark am Druckbett, dass ich es nur mit Mühe runterbrechen konnte. Vor dem Drucken kippe ich ein wenig Aceton (Achtung gut lüften!) auf das Druckbett und schwenke ein paar mal etwas ABS darin herum. Das ABS löst sich im Aceton etwas auf und klebt dann nach dem Trocknen am Druckbett fest. Die Schicht ist dabei kaum zu sehen, aber es reicht vollkommen aus, um als Haftgrund zu dienen.

Ich werde nachher noch mal einen Druck starten. Mit veränderter Motoraufnahme (etwas weiter), dickeren Wänden (2mm auf 4 mm) und leicht erhöhter Drucktemperatur (234°C auf 237°C). Druckzeit ca. 6 Stunden.

Materialise 3D prints flight-ready parts for Airbus; unveils Magics20 AM software

Auf der Formnext hat Materialise Magics 20 vorgestellt.

Magics 20 bringt einige Verbesserungen gegenüber Magics 19. Auch die Bedienung hat sich duch das leicht veränderte Design etwas geändert. Teilweise verbessert, aber auch teilweise verschlechtert, wie ich finde. Es lassen sich zwar nun komplett individuelle Steuerleisten erstellen, die bereits vorhandenen Leisten lassen sich hingegen nicht mehr verschieben. Das ist zwar nur eine Kleinigkeit, aber wenn man das von Magics 19 schon sehr gewohnt ist, muss man sich erst wieder etwas umstellen. Aber dieser Nachteil könnte in zukünftigen Updates noch ausgebessert werden.

Ein GPIO Display am Raspberry konfigurieren und andere Sachen

Hier in Kurz einmal meinen Weg, wie ich die Software (Retropie) auf dem RaspberryPi mit dem Raspberry Display eingerichtet habe.

Retropie hier runterladen und auf eine SD Karte „brennen“ (z.B. mit Win32 Disk Imager)
http://blog.petrockblock.com/retropie/retropie-downloads/

Eine Manuelle Installation ist auch möglich
http://blog.petrockblock.com/2012/07/22/retropie-setup-an-initialization-script-for-retroarch-on-the-raspberry-pi/

Nach dem ersten Einloggen über SSH dann erst mal

ausführen und das Dateisystem auf die gesamte Speicherkarte ausweiten (Punkt 1). Dies ist besonders dann notwendig, wenn man das Komplettimage runtergeladen und auf die Speicherkarte „gebrannt“ hat. Wenn man schon dabei ist, kann man auch gleich die Internationalisierungsoptionen (Punkt 4) auswählen und z.B. das Tastaturlayout (change keyboard layout) einstellen.

Danach dann gleich ein

Hier wählt man im ersten Schritt “UTF-8” aus. Im zweiten Schritt “Guess optimal character set”; im dritten “Terminus” und im vierten und letzten Schritt “6×12 (framebuffer only).”. Diese Einstellung sorgt dafür, dass wir die Konsole im kleinen Display besser lesen können.

Jetzt updaten wir einmal das System mit folgenden Befehlen

Damit sollte Retropie auf dem neusten Stand sein.

Bisher bleibt das über die GPIO Pins angeschlossene Display noch schwarz. Das wollen wir nun ändern.

Es wird ein kleines Skript runtergeladen und dann ausgeführt. Beim Ausführen bekam ich die Meldung, dass kein „FBTFT“ gefunden wurde und ob ich das System updaten wolle. Dieses habe ich mit Ja beantwortet.

Nun muss man noch ein bisschen in der Bootconfig von RaspberryPi rumfummeln.

Folgende Zeilen sollen in der config.txt am Ende eingefügt werden.

Jetzt muss SPI noch aktiviert werden.

Hier muss die Zeile mit „blacklist spi-bcm2708“ auskommentiert werden (mit # ).

Wenn man nun die Kommandozeile auf dem Display sehen möchte, muss man in cmdline.txt noch etwas anfügen.

Einfach am Ende der langen Zeile noch dies hier anhängen:

Natürlich nicht vergessen, alle Änderungen zu speichern.

Nach einem Reboot ( sudo reboot), sollte die Kommandozeile im Display zu sehen sein. Sobald jedoch EmulationStation (die grafische Oberfläche des Emulators) startet, bleibt das kleine Display schwarz. Hier ist noch ein bisschen Arbeit nötig.

Folgende Befehle nacheinander in der Kommandozeile eingeben:

Nun ist der FrameBufferKopierer installiert. Einfach mal „fbcp&“ in die Konsole eingeben. Schon sollte auch der Emulator nun auf dem Display laufen. Leider muss man bei jedem Neustart fbcp& eingeben, was bei einem Gameboy-Clone ohne Tastatur nur schwer möglich ist.

Es wird einfach ein neues keines Skript angelegt mit

Inhalt des Skriptes ist

Nun machen wir das neue Skript nach dem Speichern noch ausführbar mit

und fügen es der Gruppe und dem Besitzer „root“ zu

Damit unser kleines Skipt bei jedem Neustart ausgeführt wird, geben wir noch dieses in die Konsole ein

Nun sollte der Emulator auch bei jedem Neustart auf dem kleinen Display zu sehen sein.

Es kann sein, dass die Schrift im Emulator schwer zu lesen ist. Ein wenig Abhilfe könnte dies hier schaffen.

In dieser Datei runterscrollen bis zur „gamelist“ Sektion. Dort den Wert von „primaryColor“ auf 000000 ändern. Und dann noch die „fontSize“ von 0.03 auf 0.05 erhöhen.

Wer jetzt noch seine Buttons konfigurieren möchte, muss sich hier ein bisschen einlesen: https://learn.adafruit.com/retro-gaming-with-raspberry-pi/buttons Vermutlich muss das Programm „retrogame“ neu kompliert werden. Das ist aber nicht weiter schlimm und steht im eben genannten Link.

Nun noch die richtigen ROMs auf die Speicherkarte kopieren und schon kann der Spaß losgehen.

Wer nun noch einen kleinen WLAN Stick am Raspberry nutzen möchte, kann dies einfach machen. In „interfaces“ müssen nur die richtigen Daten eingetragen werden.

Bei meiner Bluetooth Tastatur hapert es noch ein wenig. Bisher schaffe ich es nicht, dass die Tastatur nach einem Neustart verwendet werden kann. Bisher habe ich folgendes versucht. http://elinux.org/RPi_Bluetooth_keyboard_setup

Den letzten Befehl muss ich immer erst manuell ausführen, damit die Bluetooth Tastatur verunden wird. Eigentlich sollte der vorletzte Befehl genau dieses erübrigen.

Hier noch unsortiert die Links, die ich bei der Einrichtung studiert habe:

http://www.forum-raspberrypi.de/Thread-gameboy-pi-a
http://www.forum-raspberrypi.de/Thread-bitte-um-hilfe-bei-display?page=3
https://github.com/notro/fbtft/wiki/Framebuffer-use#framebuffer-mirroring
https://learn.adafruit.com/running-opengl-based-games-and-emulators-on-adafruit-pitft-displays/adding-controls
http://seite360.de/2013/10/12/retroppie-schritt-fur-schritt-zur-retrogame-emulationstation-mit-dem-raspberry-pi/
https://github.com/watterott/RPi-Display/blob/master/docu/FAQ.md
http://elinux.org/RPiconfig

OctoPrint und Himbeerkuchen

Es gitb ein paar Möglichkeiten, seinen 3D Drucker mit Daten zu füttern, damit dieser seinen Job, das 3D Drucken, erledigen kann.

  1. SD Karte: viele Drucker bieten die Möglichkeit, die benötigten Daten, meistens sind es G-Code Daten, per SD Karte einzuspeisen. Dazu muss man einfach nur die gcode Datei vom auf die SD Karte kopieren und dann in den 3D Drucker stecken. Die eben kopierte Datei kann man dann in einem Menü am Drucker zum drucken auswählen. Der große Vorteil hierbei ist, dass man keinen externen Computer während des Drucken benötigt. Der 3D Drucker funktioniert „stand alone“.
  2. USB Kabel: die Standard-3D-Drucker benutzen im Kern ein Arduino Bord. Dieses Arduino Bord lässt sich per USB Kabel mit einem externen Computer verbinden. Mit der geeigneten Software auf dem Computer, z.B. RepetierHost, Cura oder Simplify3D, etc, lassen sich die geslicten 3D Modelle an den 3D Drucker senden. Der Vorteil hierbei ist, dass man viele Daten aus dem 3D Drucker auf dem Computer angezeigt bekommt. Temperaturen, Position des Druckkopfes, voraussichtliche Druckdauer, Filamentverbrauch, etc werden geloggt und in Diagrammen angezeigt. Zudem lässt sich er Drucker auch direkt über die Software vom Computer aus steuern. Beispielsweise kann man den Druckkopf während des Kalibrierens an die jeweils gewünschte Stelle bewegen. Der Computer muss allerdings die ganze Zeit während des Druckens laufen und angeschlossen bleiben.
  3. Mischung aus 1 und 2:  OctoPrint von Gina Häußge. Sie hat eine Software zum Ansteuern eines 3D Druckers geschrieben, die auch auf sehr schwachen Computern noch läuft. Es reicht ein RaspberryPi aus. Der RaspberryPi läuft mit einer angepassten Linux-Variante und dort lässt sich dann OctoPrint installieren. Vorteil gegenüber Punkt 2: der Raspberry verbraucht viel weniger Energie und ist im Betrieb somit viel günstiger. Ein Computer verbraucht ca 50 bis 200 Watt, der Raspberry weniger als 5 Watt.
OctoPrint

Mit Octoprint kann man nicht nur Strom sparen, wenn man einen Computer an den 3D Drucker angeschlossen haben möchte/will/muss. Der kleine Raspberry enthält auch einen Server, der über den Browser erreichbar ist. So kann man innerhalb des eigenen Netzwerkes den aktuellen Druckstatus überprüfen. Sofern man seinen Router entsprechend konfiguriert hat, kann man den Raspberry sogar über das „normale“ Internet erreichen. Da ist natürlich ein bisschen Vorsicht geboten.

Nicht nur den Status, wie Temperatur und Druchfortschritt , lassen sich abrufen. Man kann über den Browser G-Code Daten zum Raspberry hochladen und ebenso Druckaufträge starten. Ein weiteres nützliches Feature ist, dass man an den Raspberry eine USB Kamera anschließen kann und OctoPrint zeigt den Kamerastream im Browser an. So kann man einen schwierigen Druck starten und von Unterwegs nachschauen, ob noch alles in Ordnung ist. Sofern etwas schief gelaufen ist, kann man den Druckauftrag abbrechen und spart dadurch auch noch Filament/Druckmaterial.

Auf der letzten Fabcon hat die Entwicklerin von OctoPrint Gina Häußge ein kleines bisschen von OctoPrint erzählt. Seht euch das Video an.

 

Das Projekt OctoPi von Guy Sheffer, ein Raspberry SD Karten Image mit OctoPrint, kann ich auch empfehlen. Man muss fast gar nichts mehr einstellen. Sogar meine USB Webcam wurde gleich erkannt und der Stream in OctoPrint im Browser angezeigt. Bei einer händischen Installation muss man erst ein wenig herumkonfigurieren.

Bladuino – das kleine elektronische Gehirn

Gestern sind meine 10 Bladuino Pro mini angekommen. Der Bladuino ist, wie der Name vermuten lässt, ein Arduino-Klon.

Entstanden sind die Bladuino in einem Crowdfunding Projekt auf Indiegogo.


Ein Adapter zum Programmieren der Bladuinos war auch dabei. Dieser ist notwendig, da der Bladuino keine eigene USB-Schnittstelle hat. Der Adapter ist ein CP2102 von Silabs. Die Treiber gibt es hier: Treiberdownload beim Hersteller

Die Programme werden gewohnt über die Arduino IDE geschrieben und zum Bladuino hochgeladen. Hierbei muss man ein paar Dinge beachten.

Das richtige Bord auswählen: Der Bladuino ist ein Arduino Pro Mini 5 V mit einem ATmega 328
Port: Hier muss der vom System vergebene Port für den Adapter eingetragen werden. Wenn in der IDE sehr viele Ports angezeigt werden, kann man entweder im Gerätemanager den Port nachschauen, oder man zieht den Adapter einmal vom Computer ab und guckt nach, welcher der vielen Ports nicht mehr angezeigt wird. Danach den Adapter wieder reinstecken und Port wählen.

Der Adapter muss auch noch mit dem Bladuino verbunden werden. Laut Bladuino Projekt gilt folgende Belegung:

Pin-Belegung für den USB Adapter

Bladuino

Hier begannen dann meine Probleme. Nachdem ich den Adapter wie auf dem Bild gezeigt mit dem Bladuino verbunden habe, bekam ich immer eine Fehlermeldung, wenn ich ein Programm zum Bladuino transferieren wollte.

stk500_getsync(): not in sync: resp=0x00

In diversen Foren fand ich verschiedene Lösungswege, die bei dir jedoch nicht halfen. Dort wurde immer wieder darauf hingewiesen, dass man das richtige Bord und den richtigen Port auswählen muss. Dies war bei mir auf jeden Fall richtig eingestellt. Treiber waren auch installiert und Windows hat den Adapter erkannt. Auch mehrmaliges Versuchen inklusive ab und wieder einstecken des Adapters half nicht.

Dann fand ich den Hinweis, dass man bei einigen Bords einen manuellen Reset durchführen muss, wenn man ein Programm hochladen möchte. Eigentlich sollte das beim Bladuino nicht nötig sein, da dieser über einen Soft-Reset (Pin RST am Adapter) resettet werden soll. Also habe ich zu verschiedenten Zeitpunkte während des Hochladens den Resetknopf am Bladuino gedrückt. Es half einfach nicht!

Langsam begann ich glaube, dass der Adapter nicht richtig funktioniert, da dort die Daten LED niemals aufleuchtete. Dies lies mich vermuten, dass der Adapter keine Daten sendet. Aus Verzweiflung habe ich RX und TX auf einer Seite getauscht. Erst brachte es keinen Erfolg, aber als ich dann noch den manuellen Reset gemacht habe, wurde das Programm endlich übertragen.

Es traten also zwei Fehler auf

  • es muss ein manueller Reset durchgeführt werden
  • RX und TX sind an irgendeiner Stelle vertauscht

Der Bladuino hat noch jeweils einen weiteren Pin für RX und TX. Auch dort muss ich den Anschluss vertauschen. Es scheint so, als wäre die Beschriftung auf dem Adapter falsch.

Den Draht für RST (Reset) brauche ich nicht mehr anschließen, da eh ein manueller Reset durchgeführt wird. Schaden tut der Anschluss jedoch nicht. Die 5V des Adapters kann man statt mit dem RAW Pin des Bladuino auch mit VCC des Bladuinos verbinden. An den RAW Pin kann man bis zu 12 V anlegen. Dieser ist also ein bisschen sicherer, wenn die Eingangsspannung nicht geregelt ist. Bei dem Adapter sind die 5 V aus dem USB Anschluss stabil genug, um die direkt an VCC anzulegen.

 

EDIT 229.03.2014
Die Ersteller des Projektes haben nun eine eigene Seite erstellt: http://bladuino.com/