In diesem Beitrag möchte ich euch erklären, wie Ihr mit einem Arduino eure Eier für Ostern oder auch eure Weihnachtskugeln bemalen könnt. Prinzipiell kann der Drucker alle runden Objekte die sich einspannen lassen auch bedrucken.
Benötigte Bauteile
3D-Druck Teile
Die in meinem Projekt verwendeten 3D-Druck Bauteile stammen von Herbert Schützeneder (herbert_b1) und sind auf Thingiverse unter folgendem Link frei verfügbar:
https://www.thingiverse.com/thing:3431363
Die Schraube und Gewinde würde ich empfehlen ohne Stützmaterial drucken. Das endet sonst in einer ewigen Schleiferei. Ich habe alles mit Stützmaterial gedruckt und war zwei Tage mit schleifen beschäftigt.
Zur Montage brauche ich glaube ich nicht viel sagen. Das ist durch die Explosionszeichnungen auf Thingiverse sehr gut erklärt und ansonsten in meinem Video zum EggDuino zu sehen. Allerdings funktionierte bei mir die Anleitung zum Software-Teil nicht, weshalb ich auf diese Schritte hier noch einmal im Detail eingehe, damit Ihr nicht die gleichen Probleme wie ich lösen müsst, um eure Eier mit einem Arduino zu bemalen.
Arduino-Software
Das Arduino-Sketch vom Benutzer plex3r für das Projekt findet Ihr auf GitHub unter folgendem Link:
https://github.com/plex3r/EggDuino
Diese Software müsst ihr lediglich herunterladen und auf euren Arduino hochladen. Denkt nur daran, das Shield erst nach dem Hochladen des Sketches aufzustecken, damit eure Motoren und der Servo keine ungewollten Bewegungen machen.
Wie Ihr die Arduino Software installiert und einrichtet könnt Ihr euch in Folge eins meiner Arduino Basics-Reihe ansehen:
Hier geht’s zu den Arduino Basics
Inkscape
Nachdem der Arduino eingerichtet ist, müsst Ihr nun Inkscape installieren.
Ich habe dazu die Version 0.92.4 verwendet. Den Download findet Ihr auf der Homepage unter:
https://inkscape.org/de/
Inkscape EggBot Erweiterung
Damit Inkscape nun auch in der Lage ist, mit eurem Arduino zu kommunizieren und ihm mitzuteilen, was er auf euer Ei drucken soll benötigt Ihr eine Erweiterung welche auch noch zusätzliche Anpassungen erfordert.
Diese Erweiterung (ich habe Version 2.8.1 verwendet) könnt Ihr euch unter folgendem Link herunter laden:
https://github.com/evil-mad/EggBot/releases/tag/v2.8.1
Empfohlen wird die Exe-Datei (EggBot_281_r1.exe).
Sollte diese bei euch zu Problemen führen bzw. die Erweiterung nicht wie gewünscht funktionieren, nutzt die Zip-Datei und entpackt den Inhalt daraus einfach in das Erweiterungs-Verzeichnis von Inkscape (C:\Programme\Inkscape\share\extensions).
Nachdem Ihr die Erweiterung zu Inkscape hinzugefügt habt, müsst Ihr nun noch die Serielle Kommunikation mit dem Arduino ermöglichen. Dazu ladet Ihr euch das Projekt Plotink von plex3r herunter:
https://github.com/plex3r/plotink
Die im Ordner “libraries” enthaltenen 3 Dateien kopiert Ihr nun ebenfalls in das Erweiterungs-Verzeichnis von Inkscape.
Anschließend öffnet Ihr die Datei “ebb_serial.py” in einem Texteditor. Sucht nun die folgende Zeile:
if port[2].startswith(“USB VID:PID=04D8:FD92”):
Diese Zeile ersetzt Ihr durch folgendes:
if port[2].startswith(“USB VID:PID=04D8:FD92”) or \
port[2].startswith(“USB VID:PID=2341:0001”) or \
port[2].startswith(“USB VID:PID=1A86:7523”):
Achtet dabei darauf, dass die Einrückung erhalten bleiben muss! Einrückungen sollten nur mit Leerzeichen und nicht mit Tabulator erfolgen. Ein mischen von Tab und Leerzeichen führt später zu Problemen!
Wenn Ihr diese Änderung durchgeführt habt, sollte der Com-Port des Arduino schon von Inkscape erkannt werden. Da es hier aber meist zu Timing-Problemen kommt, setzen wir nun noch das Timeout etwas höher. Sucht dazu die folgende Zeile in der Datei “ebb_serial.py”.
serialPort = serial.Serial( comPort, timeout=1.0 ) # 1 second timeout!
Ändert hier nun die 1.0 in 2.0, damit der Timeout von einer auf zwei Sekunden verdoppelt wird.
serialPort = serial.Serial( comPort, timeout=2.0 ) # 2 second timeout!
Das sollte es gewesen sein. Der Arduino sollte nun von Inkscape aus steuerbar sein.
Drucken aus Inkscape heraus
Startet nun Inkscape und öffnet die Beispiel-Datei für den EggBot.
Beispieldateien findet Ihr z.B. vom User evil-mad auf GitHub unter:
https://github.com/evil-mad/EggBot
Die Beispiel-Datei findet Ihr im Ordner “example files”.
Der EggBott hat einen Druckbereich von 3200 x 800 Pixeln. Diesen könnt Ihr nun nach Lust und Laune füllen.
Wenn Ihr euer Design fertig erstellt habt, klickt Ihr oben im Menü auf “Erweiterungen” und wählt darunter nun die Erweiterung “EggBot -> EggBot Controll” aus.
Es öffnet sich ein Dialog. In diesem Dialog könnt Ihr einige Einstellungen vornehmen. Die einzige die beim ersten Aufruf wichtig ist, ist unter “Setup” die Einstellung für den Servo um den Stift anzuheben. Diese Werte stehen auf 50 für “up” und 30 für “down”. Das muss in unserem Fall genau anders herum sein. Also hier die beiden Zahlen einfach tauschen, so dass 30 für “up” und 50 für “down” angegeben ist. Anschließend die Änderungen mit Klick auf “Anwenden” bestätigen.
Jetzt könnt Ihr auf den ersten Reiter “Plotten” im Dialog wechseln und mit einem Klick auf “Anwenden” den Druck starten. Jetzt sollte der Arduino beginnen, das Ei zu bemalen.
Wenn alles geklappt hat solltet Ihr also bald euer erstes Arduino bedrucktes Ei in den Händen halten.
Video zum Projekt
Den gesamten Aufbau inklusive Einrichtung bis zum ersten Druck habe ich auch in einer Videoanleitung zusammengefasst. Dieses Video findet Ihr hier: