TeaBotSingle

TeaBotSingle

TeaBotDuo

TeaBotDuo

Der TeaBotDuo ist ein kleiner, niedlicher Tee-Roboter. Er wird als Bausatz geliefert und kann in etwa einem Tag zusammengebaut, verlötet und programmiert werden.

Für wen ist dieses Projekt geeignet?

Der TeaBotDuo ist kein Einsteiger-Projekt, aber setzt auch KEIN Elektronikstudium voraus. Wer schon ein halbes Dutzend kleine Elektronik-/Mechanik-Projekte erfolgreich abgeschlossen hat, der wird mit dem TeaBotDuo gut klarkommen. Man sollte sicher sein im Umgang mit einem Lötkolben und auch mit Senkbohrer und Flachfeile hantieren können. Zum Programmieren ist natürlich auch der Umgang mit einem PC/Mac und der Arduino-IDE nötig.

Welche Werkzeuge brauche ich?

  • Lötkolben
  • Seitenschneider
  • Senkbohrer und Bohrmaschine (man muss damit senkrecht bohren können)
  • Imbus-Schlüsselsatz
  • feine Flachfeile
  • ggf. Dreikantschaber (nur für Profis!)
  • PC oder Mac mit aktueller Arduino IDE und Internet-Zugang
  • Micro-USB-Kabel
  • Klebstoff
  • Heißluftpistole (oder auch ein Fön)

Was ist im Bausatz enthalten?

  • 2x NeoPixel-Ring mit 12 LEDs WS2812
  • 2x Modellbau-Servo
  • 1x Brille (milchiges Plexiglas lasercut mit Gravur)
  • 1x Fußplatte (nicht auf dem Foto)
  • 4x M4 Imbusschraube lang
  • 2x M4 Imbusschraube kurz
  • 1x M4 Imbus-Linsenkopfschraube kurz
  • 1x M5 Senkkopfschraube
  • 1x 20×20 Holm mit M5 Gewinde auf einer Seite
  • 7x M4 Keystone für Holm
  • 1x Endkappe für 20×20 Holm
  • 3x Kabel 150mm (rt,ge,sw)
  • teabotduo_teile

      Ablauf der Montage

      Die hier vorgestellte Reihenfolge der Arbeitsschritte ist ein Vorschlag. Andere Reihenfolgen sind möglich.

      Plexiglasteile entgraten

      Die Fußplatte, die vier Arm-Hälften und die Brille sind mit dem LaserCutter geschnitten. Diese Teile haben noch einen Grat, den es zu entfernen gilt. Dazu eignen sich sowohl eine feine Feile, als auch ein Dreikantschaber. Wer sich nicht sehr sicher ist, sollte lieber auf den Dreikantschaber verzichten.

      Achtung: Man rutscht leicht einmal ab und beschädigt dabei die „gute“ Oberfläche. Deshalb bitte unbedingt langsam und umsichtig arbeiten.

      Mit einem Dreikantschaber lassen sich Kanten gut „abziehen“ und man erhält (wenn man es richtig macht) eine bessere Oberfläche. Aber die Arbeit mit den Dreikantschaber ist ungleich gefährlicher! Im Zweifel sollte man also lieber bei einer feinen Flachfeile bleiben.

      Arme vorbereiten

      Die beiden Arme bestehen aus jeweils zwei Hälften: eine innere und eine äußere. Die Hälfte mit dem „Stern in der Bohrung“ ist die innere. Sie wird später auf den Zahnkranz des Servos greifen.

      Wenn alle Hälften entgratet sind, sollten die Hände noch jeweils von einer Seite angeschrägt werden. So dass sie ein V bilden. Das V ist später hilfreich, wenn man zwischen den beiden Hälften den Faden eines Tee-Beutels einfädeln/einklemmen will.

      teabotduo_arm_von_oben

      Bohrung für Holm senken

      Die Bohrung zum Befestigen des Holmes muss auf der Unterseite mit einem Senkbohrer so gesenkt werden, dass der Kopf der M5-Senkkopfschraube gerade so im Material der Fußplatte verschwindet. Die Fussplatte wird dazu mit der Guten Seite auf eine saubere Oberfläche gelegt und gut festgehalten. Dann langsam und mit wenig Druck den Senkbohrer ansetzen. Es muss unbedingt vermieden werden, dass der Bohrer „einrastet“ und die Fußplatte mitdreht. Das würde die gute Oberseite verkratzen.

      teabotduo_fuesse

      Montage des Holm an den Fuß

      Die M5 Senkkopfschraube wird von unten durch die Bohrung in der Fußplatte geführt im M5-Gewinde ses Holmes berschraubt. Achte darauf, dass der Holm nicht nur gerade sitzt, sondern sich auch während der Montage möglichst nicht verdreht. Das könnte die Fußplatte verkratzen.

      Aufkleben der Gummifüßchen

      Klebe an den äußersten Punkten der Bodenplatte (von unten ;-)) die Gummifüßchen an. Natürlich so, dass sie gerade nicht über die Fußplatte hinausragen. (siehe Bild weiter oben)

      Die Gummifüßchen geben dem TeaBotDuo später den sicheren Stand.

      Montage der Servos

      Die Servos werden mit jeweils zwei langen Schrauben befestigt und durch einen Abstandsbolzen und eine Unterlegscheibe auf Position gehalten. Sie Schrauben greifen in Keystones, die von oben in den Holm eingefädelt werden, je zwei links und rechts.

      teabotduo_unterlegscheiben

      Die Servos werden so ausgerichtet, daß die Achse unten ist. Die obere Unterlegscheibe sollte oben mit dem Holm abschließen.

      Sobald ein Servo montiert ist, wird er in Mittelstellung gebracht. Das Einfachste ist, ein Horn aus dem Servopäckchen aufzustecken und durch vorsichtiges Drehen bis zu den Anschlägen die Mitte zu finden.

      Bestücken der Leiterplatte

      Die Leiterplatte enthält nicht viele Bauelemente, aber es ist wichtig, dass man sie von der richtigen Seite bestückt. Beginne am Besten mit der Strom-Buchse. Sie muss unten links sein.

      teabotduo_stromversorgung

      Anschliessend der Elko, der Spannungsregler, die Diode, den Piezosummer und die vier Taster.

      teabotduo_kabelführung

      Erst zum Schluß wird der Arduino Micro verlötet. Die Anschlüsse sollten beim Durchstecken etwa einen Millimeter auf der anderen Seite herausragen. Man kann ihn auch auf eine Fassung (die aber kein Bestandteil des Bausatzes ist) setzen, aber dann ragt er noch weiter raus. Löten sichert eine saubere elektrische Verbindung. Für ein Gerät, dass in die Nähe von Wasser kommt, sicher nicht unwichtig.

      Ggf. sollte die Leiterplatte jetzt noch gesäubert werden. Der Schutzaufkleber auf dem Piezo-Summer kann dann auch endlich entfernt werden.

      Das Montieren der bestückten Leiterplatte ist kein Hexenwerk. Je zwei kurze Imbusschrauben, kurze Distanzrollen, Unterlegscheiben und Keystones … und schon ist die Leiterplatte am Holm.

      Verdrahten der LED-Ringe

      Dieser Schritt ist anspruchsvolles Löten. Auf der Oberseite der LED-Ringe sind insgesamt sieben Lötstellen zu erstellen.

      Beginnen wir mit einem LED-Ring. Wir isolieren etwa 5 mm von je einer schwarzen, roten und gelben Litze ab, verdrillen und verzinnen sie. Anschliessend kürzen wir das verzinnte Ende auf 1,5 bis 2 mm. (Auf diese Weise erhalten wir ein kurzes Ende ohne hervorstechende einzelne Drähte.) Die rote Leitung wird an +5V (auf der Oberseite!) angelötet, die schwarze Leitung kommt an GND und gelb an Data In.

      Wir legen die beiden LED-Ringe so nebeneinander auf die Brille. Die Anschlüsse für +5V und GND zeigen jeweils nach oben. Jetzt können wir ermitteln, wo wir die rote (+5V) und schwarze Leitung aufschneiden müssen: nämlich 6cm mehr als dieser Abstand. (Die 6 cm dienen dazu, die Leitungen hinten herum führen zu können und als Manövrierlänge.) Aufschneiden, alle vier Enden (2x rt, 2x sw) abisolieren und dann die gleichfarbigen Enden straff GEMEINSAM verdrillen. Wieder verzinnen und abschneiden und vorsichtig den zweiten LED-Ring mit Strom versorgen. Nun bleibt noch die gelbe Datenleitung. Wir ermitteln den Abstand zu Data Out und geben 6cm zu. Schneiden, abisolieren anlöten, aber nur die das eine Ende (vom ersten LED-Ring kommend). Das andere Ende wird an Data In gelötet.

      Kleben der LED-Ringe

      Die LED-Ringe werden auf die Servos geklebt. Ihre Positionierung ist für das spätere Erscheinungsbild sehr wichtig, deshalb wird vorbereitend schon einmal die Brille montiert. Keystone, Linsenkopf-Schraube und Brille, es ist offensichtlich, wie das an den Holm kommt. Trotzdem drehen wir die Brill erst einmal senkrecht und bringen die LED-Ringe in Position. Vermutlich musst Du dafür noch einmal die Schrauben der Servos lösen.

      Trage sehr vorsichtig Klebstoff auf der Rückseite der LED-Ringe auf. Achtung: Es darf NICHTS an die Brille gelangen! Drehe die Brille wieder waagerecht und positioniere die LED-Ringe nun so, dass LEDs genau hinter den Ziffern liegen, die auf der Brille eingraviert sind. Und nochmal: Kein Klebstoff auf die Brille!

      teabotduo_brille_20x20-blende

      Sensoren verlöten

      Die Themperatursensoren DZ35 (Datenblatt) werden mit 5V betrieben und liefern eine analogspannung proportional zur Temperatur. Wenn man auf die Anschlüsse schaut und die flache Seite nach oben zeigt, ist links +5V, in der Mitte der Ausgang und rechts GND. An diese Anschlüsse wollen wir wieder rote (+5V), gelbe (Ausgang) und schwarze Leitungen (GND) anlöten. Wir schneiden die Pins auf etwa 5mm zurück und biegen die äußeren etwa 10 Grad nach aussen (um leichter löten zu können). Je ein Ende der Leitungen wird abisoliert, verdrillt und verzinnt. Hier können wir die verzinnten Enden auf etwa drei Millimeter zurechtstutzen. Es ist wichtig, dass wir die Farben richtig zuordnen, wenn wir die Leitungen anlöten.

      Isolier-Tüllen werden aufgefädelt und mit der Heisluftpistole / einem Fön aufgeschrumpft. Anschliessend werden die Pins wieder etwa parallel ausgerichtet.

      Damit die drei Leitungen nicht „wild in der Gegend rumhängen“, gleichzeitig aber die Flexibilität behalten, empfiehlt sich Flechten der Leitungen. Das ist einfach und sieht gut aus.
      tebotduo_arm_seitenansicht

      Wir können nun die Sensoren an die Arme bringen.

      Arme montieren

      Schraube die Arme waagerecht an die Servos. Achte darauf, dass der gefeilte V-Ausschnitt an „den Händen“ richtig montiert ist. Halte einen Sensor mit seinen geflochtenen Leitungen an den Arm und stülpe den großen, transparenten Isolierschlauch darüber. Dann kommt wieder die Heißluftpistole zum Einsatz, aber Achtung: Die „Handgelenke“ sind sehr feine Strukturen, die auch gern einmal wegschmelzen, wenn zuviel Hitze dort ankommt. Die Sensoren sollten gerade so nicht diese feinen Strukturen verdecken und sie sollten auch nicht vom Isolierschlauch bedeckt sein.

      Das Ganze für beide Arme und es bleibt noch, die Sensoren und Aktoren (Servos und LEDs) anzuschliessen.

      Endmontage

      Die Leiterplatte wird noch einmal abgenommen. Auf der Rückseite sind beschriftete Anschlussfelder für alle Sensoren und Aktoren. Jetzt zahlt sich aus, daß wir immer die gleiche Farbe für +5V, Signal und GND verwendet haben. Bei den Servos wir manchmal braun statt schwarz und orange oder weiß statt gelb verwendet. Rot ist immer rot.

      Jetzt muss nur nch entschieden werden, an welcher Stelle die Anschlussleitungen gekappt werden sollen. Das hängt sehr wesentlich vom Geschick ab und weil man keine Leitungen „dranschneiden“ kann, sollte man lieber etwas mehr Länge lassen. Noch einmal kürzen kann man später immer noch. Wichtig ist auch, den Sensoren an den Armen reichlich Raum zu lassen. In keiner Position sollten die Leitungen auch nur annähernd straff sein.

      teabotduo_kabelführung

      Wenn die Längen feststehen: 15 mal zuschneiden, abisolieren, verzinnen und schliesslich anlöten.

      So das war jetzt der schwierigste Tiel der Montage. Es ist Zeit, die Leiterplatte wieder anzuschrauben. zu lange Leitungen lassen sich vorsichtig zwischen Leiterplatte und Holm schieben. Es soll ja gut aussehen.

      Final Touches

      Abschliessend wir der Holm oben mit einer Kappe verschlossen. Dazu muß deutlich Kraft aufgewandt werden. Es wird empfohlen, den TeaBotDuo dafür kopfüber auf die Kappe zu drücken, die ihrerseits auf einer stabilen Unterlage liegt.

      Noch alles ausrichten, alle Schrauben nachziehen und es bleibt „nur noch“ das Programmieren.

      Programmieren und Anpassen

      Den Quellcode bekommst Du erwartungsgemäß hier: https://github.com/AgileHardware/TeaBotDuo

      Je nachdem, wie Du Deinen TeaBotDuo montiert hast, musst Du folgende Konstanten aus config.h noch anpassen:


      #define LEFT_ARM_LOWER 137 // depending on how you
      #define LEFT_ARM_UPPER 50 // mounted the arms, their
      #define RIGHT_ARM_LOWER 60 // values for lower and upper
      #define RIGHT_ARM_UPPER 148 // position need adjustment

      #define OFFSET_LEFT LEDS_PER_RING // depending on how
      #define OFFSET_RIGHT 0 // you wired and
      #define ROTATION_LEFT 6 // glued the LED rings
      #define ROTATION_RIGHT 5 // these 4 values need to be adjusted

      Also einfach ein Stromzufuhr an den TeaBotDuo anschliessen und über das Micro-USB-Kabel eine Verbindung vom PC/Mac zum Arduino herstellen.

      Wenn man in der Arduino-IDE die Kommentarzeichen vor

      #define COMISSIONING
      

      (Zeile 2 in TeaBotDuo.ino) entfernt, geht die Software in einen speziellen Modus, der das Finden der richtigen Werte für obige Konstanten sehr viel leichter macht.
      Anpassen, Hochladen, wiederholen bis es passt. Natürlich für linke und rechte Seite.

      Abschliessend wieder in den normalen Modus gehen (Zeile 2 auskommentieren) und in den Arduino laden.

      Es ist Zeit für einen gaaaanz leckeren Tee. 🙂

      Fazit

      Tee-Trinken hat noch nie so so viel Spass gemacht. Und es soll ja viel gesünder sein, als der viele Kaffee, den man sonst trinken würde. TeaBotDuo ist also ein Arduino-Projekt für mehr Spass und einen gesünderen Alltag. 🙂 Und das alles mal zwei.

    MIDI Magic

    MIDI Magic

    Dieses Projekt ist entweder ein super Spielzeug für Kleine und Große, oder ein nützliches Werkzeug für Musiker. Aufbauend auf den Trellis Modulen von Adafruit, die ein Silikontastenfeld mit LEDs für jede Taste verbinden, haben wir einen 8 Step MIDI Sequencer gebaut. Entweder kann man mit dem Musik Maker Shield und einem Lautsprecher direkt Musik erzeugen, oder ein MIDI Signal ausgeben um externe Instrumente zu steuern. 4 Trellis Module werden in einer 8×8 Matrix mit 4 Potis zur Steuerung in einem kompakten Gehäuse aus dem Lasercutter untergebracht. Dadurch ergibt sich ein solides Gerät, das auch Kinder nicht so schnell kaput kriegen sollten.

    Du kannst das ganze auch selber nachbauen.

    Benötigte Teile

    Aufbau

    1. Trellis Module und Potentiometer an Gehäuseoberseite schrauben
    2. Trellis Module verbinden
    3. Arduino und Music Maker Shield an Gehäuseunterseite schrauben
    4. Arduino und Musik Maker Shield verbinden
    5. Lautsprecher an Gehäuseunterseite schrauben
    6. Lautsprecher und Musik Maker Shield verbinden
    7. Arduino mit den 4 Potentiometern verbinden
    8. Arduino und Trellis verbinden
    9. Gehäuse Ober- und Unterseite zusammenschrauben
    10. Software auf Arduino spielen
    11. Wenn deine Startanimation nicht wie folgt aussieht, dann musst du die Werte im Array chessboard entsprechend anpassen.Animation: Die LEDs gehen der Reihe nach von oben links, zweite in oberster reihe, dritte in oberster reihe, ..., bis unten rechts an.Um die richtige Belegung rauszufinden kannst du die entsprechenden Zeilen in der setup und der checkButtons Funktion einkommentieren und dann die Tasten auf deiner Matrix drücken während du die Serial Konsole im Arduino IDE beobachtest. Die Anordnung in chessboard muss grafisch mit deiner Anordnung auf deiner Matrix übereinstimmen, also eine Zeile auf der Matrix = eine Zeile im Array.

    Steuerung

    Das Gerät wird über die 4 Potentiometer auf folgende Weise gesteuert:

    Kanal

    Es können Patterns für 4 Kanäle programmiert und gleichzeitig abgespielt werden. Der Kanal wird mit dem ersten Potentiometer von 1 – 4 gewählt:

    Kanal 1 – Drums: Wird nicht durch Änderungen an der Tonhöhe beeinflusst
    Kanal 2 – Bass
    Kanal 3 – Pad: Ton wird nicht beim nächsten Schritt gestoppt sondern gehalten bis entweder ein anderer Ton gespielt wird oder alle Töne gelöscht sind.
    Kanal 4 – Lead

    Geschwindigkeit

    Mit dem zweiten Potentiometer kann die Abspielgeschwindigkeit über ein Delay gesteuert werden. Von 512 ms Delay bis zu kein Delay.

    Tonhöhe

    Tonhöhe kann mit dem dritten Potentiometer gewählt werden. 5 Oktaven von C2 (MIDI Noten 36 – 48) bis C6 (MIDI Note 108 – 120) können gewechselt werden

    Instrumente

    Mit dem vierten Potentiometer kann zwischen acht verschieden Sätzen von Instrumenten gewählt werden:

    Index Name Drums Bass Pad Lead
    0 Glockenspiel Bank 2: Percussion 38: Slap Bass 2 42: Viola 10: Glockenspiel
    1 Drums Bank 2: Percussion 118: Melodic Tom 114: Agogo 116: Woodblock
    2 Rock Bank 2: Percussion 38: Slap Bass 2 19: Rock Organ 29: Electric Guitar (muted)
    3 Choir 116: Woodblock 54: Voice Oohs 53: Choir Aahs 86: Voice Lead
    4 Church 15: Tubular Bells 53: Choir Aahs 20: Church Organ 20: Church Organ
    5 Glitchy 120: Reverse Cymbal 121: Guitar Fret Noise 77: Blown Bottle 114: Agogo
    6 Electronic 119: Synth Drum 87: Fifths Lead 83: Calliope Lead 7: Harpsichord
    7 Electronic 119: Synth Drum 87: Fifths Lead 83: Calliope Lead 7: Harpsichord

    Personalisieren

    Folgende Einstellungen kannst du ganz einfach im Arduino Sketch verändern.

    Lautstärke

    Die Lautstärke kannst du von 1 bis 10 in der Konstante VOLUME verändern:
    #define VOLUME 8
    Außerdem kannst du in den Konstanten darunter ( VOLUME_FACTOR_XXX ) das Verhältnis der verschiedenen Kanäle mit einem Faktor von 0 (stumm) bis 12 gewichten.

    Instrumente

    In den Arrays lead, pad, bass und drums kannst du eigene Instrumente wählen. Die verfügbaren Instrumente findest du auf Seite 32 von diesem PDF des Chipherstellers.

    Kopfhörer

    Leider kann das Music Maker Shield nicht automatisch erkennen ob Kopfhörer angesteckt sind. Der Ton wird immer über den Kopfhöreranschluss ausgegeben. Wenn du die Lautsprecher dafür abschalten möchtest, setzte die Konstante HEADPHONES_ONLY auf true.

    TeaBot Bausätze

    TeaBot Bausätze

    Endlich ist es soweit: Die Bausätze für TeaBot Single und TeaBot Duo sind im Shop.

    Das durchweg positive Feedback auf der Messe „Modell Hobby Spiel“ hat sehr wesentlich dazu beigetragen, dass wir eine Serie auflegen, die größer ist, als ursprünglich geplant.

    Was Messebesucher und Kunden sagen:

    „Endlich mal eine sinnvolle Microcontroller-Anwendung für den Heimbereich.“

    „Für mich ist das das beste Produkt in dieser Halle.“

    „Genial. Das perfekte Weihnachtsgeschenk, insbesondere für Leute, die schon alles haben.“

    Wir arbeiten mit Hochdruck an der Bauanleitung. Sie wird mit der Auslieferung der ersten Bausaetze fertig sein.

    Digitale LEDs steuern

    Digitale LEDs steuern

    Digitale LED Streifen mit integrierten Steuerungschips in jeder LED ermöglichen das einzelne Ansteuern der Farbe jeder einzelnen LED. Dadurch ist es möglich vielfältige und hübsche Animationen zu gestalten.

    Das macht sehr viel Spaß, das Betreiben dieser Streifen ist aber leider nicht ganz einfach. Außerdem braucht man noch ein zusätzliches Interface wenn man zum Beispiel zwischen verschiedenen Animationen wählen möchte.

    Wir haben dafür eine einfache Lösung, natürlich basierend auf Arduino. Mit unserem WS28xx Micro Adapter und einem Arduino Micro ist es ganz einfach, verschiedene Animationen abzuspielen, Parameter wie Helligkeit und Farbe zu ändern und eigene Animationen hinzuzufügen. Die Steuerung funktioniert ganz einfach über Tasten, die wie bei einer Stehlampe direkt am Stromkabel zu finden sind.

    Der WS28xx Micro Adapter ist als Shield für den Arduino Micro konzipiert. Er kann also einfach aufgesteckt werden. Das Board verfügt über 3 Tasten zur Steuerung und den nötigen Pads um den LED Strip und eine Stromversorgung anzuschließen.

    Außerdem haben wir die passende Software dazu entwickelt um mit vielen vorprogrammierten Animationen gleich loszulegen und schnell eigene Animationen zu programmieren.

    Wir verkaufen ein unbestücktes PCB oder ein Kit inklusive Arduino Micro. Wenn du das Kit gekauft hast, kannst du es mit folgender Anleitung zusammenbauen:

    Benötigte Teile

    Kompatible LEDs

    Hier beschreiben wir, wie ein LED-Strip mit WS2812 (NeoPixel) angeschlossen werden kann. Es können aber auch alle anderen von FastLED unterstützen LEDs benutzt werden.

    Wir haben bisher mit folgenden LEDs getestet. Über Rückmeldungen zu anderen LED Typen freuen wir uns sehr.

    • WS2812 / Adafruit NeoPixel
    • APA102 / Adafruit DotStar (sehr schnelle Wiederholraten)
    • WS2801

    Aufbau

    Achtung: Digitale LEDs und insbesondere die Neopixel sind sehr empfindlich für elektrostatische Entladungen. Also bei der Arbeit mit diesen Bauteilen immer auf gute Erdung achten.

    1. Verbinde 5V und GND mit dem Micro USB Stecker. Schiebe dafür zuerst das Gehäuse auf das Kabel und dann den kleinen Kabelhalter. Danach löte die beiden Kabel auf die Seite des Steckers auf der sich 3 (nicht 2!) Kontakte befinden. Das GND Kabel (Schwarz) auf den oberen Kontakt und das 5V Kabel (Rot) auf den Unteren. Der mittlere Kontakt muss frei bleiben.microUSB_plug
    2. Löte die 3 Kabel des LED Strips, die zwei Kabel der Stromversorgung und die zwei Kabel des Micro USB Anschlusses an die entsprechenden Pads.step2_label
    3. Löte die 3 Buttons auf das Board.step3
    4. Löte die beiden 17 Pin Header in die Löcherleisten auf den beiden Seiten des Adapter Boards.
    5. Stecke den WS28xx Micro Adapter auf den Arduino Micro. Die Stromversorgung des Adapters muss auf der gleichen Seite liegen wie der Micro-USB Anschluss des Arduino Micro. Löte dann alle Pins an der Unterseite an den Arduino.step5_label
    6. Stecke das kleine Micro USB Kabel vom WS28xx Micro Adapter in dem Arduino Micro.
    7. Spiele die Software auf den Arduino Micro, wie im nächsten Abschnitt beschrieben wird.
    8. Fertig. Stecke das Netzteil in die Steckdose um deine LEDs einzuschalten.

    Software aufspielen

    Unsere Software für den WS28xx Micro Adapter kannst du hier auf github herunterladen. Wähle die Option “Download ZIP”, entpacke das Archiv, bennene den resultierenden Ordner von ‚WS28xxMicroAdapter-master‘ in ‚WS28xxMicroAdapter‘ um und kopiere ihn in dein Arduino Sketchbook Verzeichnis. Außerdem musst du noch die FastLED Bibliothek installierten.
    Nun kannst du das Projekt über dein Arduino IDE öffnen und auf deinen Arduino spielen. Verbinde dazu deinen Computer mit einem Micro USB Kabel mit dem Arduino Micro und vergiss nicht unter “Tools > Board” Arduino Micro auszuwählen.

    Einstellungen vornehmen

    Nun musst du noch ein paar Einstellungen in der Datei ‘settings.h’ vornehmen.

    • NUM_LEDS: Anzahl von LEDs die dein Streifen / Ring hat
    • USE_XXXXXX: Kommentiere die Zeile die mit deinem Chipsatz ein und die Zeile ‚#define USE_NEOPIXEL‘ aus. (Wenn du NeoPixel verwendest, musst du nichts verändern)

    Optionale Einstellungen:

    • SLOWDOWN_CYCLES: Falls dir die Animationen auch auf der langsammsten Stufe noch zu schnell vorkommen, kannst du hier eine zusätzliche Verzögerung festlegen. 1 bedeutet keine Verzögerung, 2 bedeutet doppelte Verzögerung, und so weiter. Der Standardwert ist 144 / NUM_LEDS. Das heißt es gibt keine Verzögerung wenn 144 LEDs genutzt werden. Falls weniger LEDs vorhanden sind, gehen die Berechnungen für die Animationen schneller, und werden deshalb verzögert.
    • COLOR_CORRECTION: Wenn weiß auf deinem LED Strip eher rosa oder hellblau aussieht, dann kannst du hier einen korrigierten Weißwert angeben. Detailierte Anweisungen dazu sind in der Datei zu finden.
    • COLOR_TEMPERATURE: Hier könntest du zum Beispiel Candle eintragen wenn du etwas wärmere Farben haben möchtest.
    • STATE_XXXXX: Hier kannst du die Größe der Optionsanzeige verändern oder sie ganz abschalten, z.B. wenn du einen sehr kurzen LED Strip oder Ring verwendest.

    Steuerung

    control_label

    Der LED Streifen kann über die 3 Buttons auf dem WS28xx Micro Adapter gesteuert werden. Mit dem ersten Button (A02) wählst du aus welchen Parameter du verändern möchtest und mit den anderen beiden kannst du den Wert nach oben (C04) und unten (B03) setzen. Die Parameter sind:

        1. Programm
        2. Farbe
        3. Geschwindigkeit
        4. Helligkeit

    Der Status der verschiedenen Werte wird während der Steuerung am Anfang des LED Streifens angezeigt.

    select_color_fast

    Eigene Animationen

    Du kannst ganz einfach deine eigenen Animationen programmieren. Öffne dazu das Projekt von github in deinem Arduino IDE.

    Alle Animationen sind in der Datei ‘animations.cpp’ definiert. Das Grundprinzip einer Animationen ist an ‘yourAnimation’ gut zu erkennen. Wenn du deine erste eigene Animation schreiben willst kopiere am besten diese Funktion als Ausgangsbasis, oder bearbeite sie einfach.

    Der Wert ‘tick’ steuert der den Ablauf der Animation.
    Jede Animationsfunktion gibt in ihrem Rückgabewert an, wie viele Schritte die Animation hat. Die Funktion wird dann zu jedem Schritt mit einem erhöhten Wert für ‘tick’ aufgerufen, bis die volle Schrittzahl erreicht ist. Dann beginnt ‘tick’ wieder bei 0.

    Aus dem aktuellen Wert von ‘tick’ muss die Animationsfunktion dann das aktuelle Bild errechnen. Verschiedene Wege dafür werden in den vielen Beispielanimationen aufgezeigt. Die Möglichkeiten reichen von einfach (z.B. ‘snake1’) bis komplex (z.B. ‘rainbowColors’).

    Es ist wichtig das die Funktion für einen gleichen ‘tick’ Wert ein gleiches Ergebnis liefert, damit die Geschwindigkeit der Animation vom Benutzer geregelt werden kann. Sofern möglich, sollte in der Animation die Farbe die im Wert ‘color’ übergeben wird verwendet werden.

    Wenn du nun in ‘animations.cpp’ eine neue Animation hinzugefügt hast, musst du sie nur noch in ‘animations.h’ und ‘WS28xxMicroAdapter.ino’ mit in die Listen aufnehmen damit sie mit den Tasten ausgewählt werden kann. Außerdem muss die Anzahl aller Animation im Wert NUM_PROGRAMS in der Datei ‘settings.h’ erhöht werden.
    Wie das geht, kannst du im Code anhand der auskommentierten Zeilen für ‘yourAnimation’ sehen.

    Viel Spaß.

    step7

    Probleme

    Problem: Die Farben des Regenbogens sehen irgendwie falsch aus. Rot/Grün/Blau ist nicht Rot/Grün/Blau.

    Lösung: Das liegt wahrscheinlich daran, das der Hersteller deines LED Strips eine andere Pin Reihenfolge verwendet als für den Chipsatz üblich. Wenn die Farben in der Optionswahl bei dir nicht diese Reihenfolge haben, dann ist das der Fall (Weiß, Gelb, Orange, Rot, Violet, Blau, Cyan, Grün)

    FarbreihenfolgeKorrigieren kannst du das in der Datei ‚leds.cpp‘. Suche die Zeile mit deinem Chipsatz (z.b. FastLED.addLeds<WS2812, PIN_DATA, RGB>(leds, NUM_LEDS);) und probiere verschiedene Reihenfolgen aus (RGB, RBG, GBR, GRB, BRG, BGR) bis es funktionert.

    Ist die Reihenfolge grundsätzlich richtig, doch die Farben sehen etwas komisch aus, passe Farbkorrektur oder Farbtemperatur an (siehe „Einstellungen vornehmen“).

    Hai-Tech ;-)

    Hai-Tech ;-)

    Am 04.04.2014 konnte sich das FabLab Dresden mit einem eigenen Stand auf dem JUG Saxony Day präsentieren.

    Als Unterstützer des FabLab wollten wir neben den 3D-Druckern auch ein Zeichen für Arduino setzen. Und so haben wir einen ferngesteuerten Spielzeug-Hai beklebt und mit Arduino getuned.

    Tuning:

    Die normale Fernbedienung hat 4 Taster, die mit Pull-Up-Widerständen versehen sind. Parallel zu den Tastern haben wir je einen NPN-Transistor geschaltet (Emitter an Masse, Collector an den anderen Tasterkontakt). Die Basis wird jeweils über einen 1kOhm Widerstand aus dem Arduino gesteuert.

    Der Arduino bekommt von einem Beschleunigungs-Sensor (ADXL335) analoge Informationen zu X, Y und Z und errechnet daraus, welche Signale und welche Tastverhältnisse an die Transistoren gegeben werden müssen.

    Um nicht kontinuierlich zu senden (so ein Hai will ja auch mal Ruhe haben 😉 ) haben wir noch einen Taster an den Arduino angeschlossen und mit dem internen Pull-Up-Widerstand programmiert. Nur wenn dieser Taster gedrückt wird, gibt der Arduino irgend etwas aus.

    Ein Schalter erlaubt, die Stromversorgung des Arduino von den 9V der eigentlichen Fernsteuerung zu trennen.

    remote-remote-control

    Eigentlich nicht viel und doch hebt es die Bedienung des RC-Modelles auf ein anderes Niveau.

    Bauteile:

    • RC-Hai (suche nach der Marke „Air Swimmer“)
    • Arduino Micro
    • Adafruit ADXL335
    • Kleinteile (M3-Schrauben und -Muttern, Abstandshalter, vier Widerstände, vier NPN-Transistoren, Litze, Lochrasterplatte, zwei Plexiglasplatten, je ein Taster und Schalter)

    derhai

    Sketch (das überarbeitete Arduino-Programm):

    Update

    Der Hai soll auch beim MobileCamp Dresden 2014 zum Einsatz kommen. Deshalb wurde seine Software überarbeitet (Link ist angepasst) und eine Präsentation erstellt (wird nach dem MobileCamp hier verlinkt).

    Münzgeräte für das FabLabDD

    Münzgeräte für das FabLabDD

    Bei jeder Station des FabLabDD gibt es ein Projekt, das das FabLabDD selbst weiterbringt. Wir nennen das „WorkOn“.

    In der CoFab (ebenso ein Geschäftsbereich der ObjectFab GmbH wie Agile Hardware) bieten sich natürlich Arduino-Themen an.

    Deshalb werden wir mit einem induktivem Stromsensor, einem Münzzähler und einem Arduino ein Gerät zum fairen Abrechnen von Gerätezeit bauen. Natürlich mit Gehäuse und allem Drum und Dran. Unser Ergebnis wird dokumentiert und als OpenSource zur Verfügung gestellt. Sicherlich haben andere FabLabs auch ein Interesse an so einem Gerät.

    Wer daran mitbauen möchte kann sich während des FabLabDD@CoFab bei uns melden.

     

    FabLabDD@CoFab (02/2014)

    FabLabDD@CoFab (02/2014)

    Das FabLabDD ist zu Gast im CoWorking-Space CoFab. Eine ganze Woche mit 3D-Ducker, LaserCutter, Arduino, Lötkolben und vielen Workshops. Kurz: Maker-Heaven!

    Details zum Ablauf findet Ihr auf FabLabDD und CoFab.

    Hier möchten wir die Workshops vorstellen, die wir zum FabLabDD beisteuern. Workshops anderer Mitausrichter sind bei FabLabDD und CoFab ebenfalls verlinkt.


    Löten für Einsteiger

    Löten ist keine Hexerei, man muss nur auf die Temperatur achten. Im Workshop werden die Grundlagen vermittelt und vor allem viel geübt.
    (Verzinnen, Drähte verbinden, Bauelemente in Leiterplatten löten, …)

    loeten

    Zielstellung:
    Die perfekte Lötstelle erkennen und vielleicht sogar selbst herstellen können.

    Ablauf:
    Eine klitzekleine Einführung und vor allem viel üben, üben, üben (unter Anleitung)

    Voraussetzungen:
    Wer hat und mag, kann seinen eigenen Lötkolben mitbringen. Das ist aber keine Voraussetzung (wir haben Lötkolben da).

    Nächste Veranstaltung:
    Donnerstag, 13. Februar 2014, von 18:00 Uhr bis 22:00 Uhr


    Arduino für Einsteiger

    Wer wollte sich den Alltag nicht schon mit einem kleinen Gerät erleichtern, aber dieses Gerät gab es nicht fertig zu kaufen. Nicht verzweifeln, selber bauen! Mit Arduino ist nun auch das Programmieren von Microcontrollern so einfach, dass es jeder lernen kann. Und das Beste: Man sieht, was man programmiert.

    Die Teilnehmer dieses Workshops lernen nicht nur, wie man Arduino programmiert, sie können auch einen Arduino Uno und ein paar externe Bauelemente mit nach Hause nehmen.

    arduino_uno

    Zielstellung:
    Jeder Teilnehmer hat mehrere Sketches (kleine Programme) geschrieben und verstanden.

    Ablauf:
    Jeder Teilnehmer bekommt seine eigene Hardware (die er im Anschluss auch mitnehmen darf). Neben dem Arduino UNO kommt folgende Hardware zum Einsatz:

    • Taster
    • Temperatur-Sensor
    • analoge LED
    • Micro-Servo
    • digitale LEDs (NeoPixel z.B. als Ring)

    Programmiert wird im Chrome-Browser auf www.codebender.cc. Alternativ kann auch die Arduino IDE (Java-basiert) verwendet werden.

    Voraussetzungen:
    Ein eigenes Notebook (idealerweise mit mit installiertem Chrome-Browser) ist zwingend erforderlich.

    Nächste Veranstaltung:
    Mittwoch, 12. Februar 2014, von 18:00 Uhr bis 22:00 Uhr


    Build Your Own TeaBot

    Bitterer Tee ist, ähm, bitter. Mit einem TeaBot wird Dein Tee nie mehr zu lange ziehen.

    Du kannst Deinen eigenen TeaBot unter Anleitung selbst bauen (alle Materialien werden gestellt).
    Dabei hast Du zwischen dem zweiarmigen TeaBot (siehe Video und auch hier: www.agile-hardware.de/teabot/) und dem einfacheren TeaBot-Single (Empfohlen!).

    Zielstellung:
    Jeder Teilnehmer geht mit seinem eigenen TeaBot nach Hause.

    Ablauf:
    Die beiden TeaBot-Varianten (für ein oder zwei Tassen) werden vorgestellt und die einzelnen Baugruppen identifiziert.

    • Arm(e) im 3D-Drucker herstellen
    • Front-und Rückplatte bzw. Fuß (mit dem LaserCutter ausschneiden)
    • Leiterplatte(n) löten
    • Sensor(en) löten
    • montieren
    • verdrahten
    • Software aufspielen
    • justieren
    • Probe-Tee kochen

    Neben der Arbeit mit LaserCutter und 3D-Drucker wird auch entgratet, geschraubt, programmiert und sehr viel gelötet. Eine herrliche Herausforderung und am Ende steht ein Produkt, daß Du im Alltag gut gebrauchen kannst.

    Voraussetzungen:
    Eigenes Notebook mit installiertem Chrome-Browser, Grundkenntnisse im Programmieren und ein ganz klein wenig handwerkliches Geschick sind leider nötig.

    Nächste Veranstaltung:
    Samstag, 15. Februar 2014, von 10:00 Uhr bis 17:00 Uhr

    Speaking Skull (Halloween Special)

    Speaking Skull (Halloween Special)

    A little plastic skull reads a text message (a.k.a. SMS) received via GSM. The robotic voice, little LEDs in the eyes and a moving jaw make this even more creepy.

    This Speaking Skull was first presented at Mobile Bar Camp 2013 in Dresden as part of our presentation about open source hardware.

    In preparation of Halloween we figured, it meight be a good idea to present this little project here, too. Enjoy.

    How to do this?

    Let’s start with jaw movement. The plastic skull has a small servo to move the jaw. An Arduino controls this servo. Just make sure the jaw moves freely. So far nothing special, just a bit mechanic and another use of the Servo library.

    The Arduino is supposed to move the jaw following the spoken text message. Given some audio signal this could be coupled into a voltage divider where the resulting voltage is measured by an analog input of the Arduino.

    Now, how to get the audio signal? There is a very cool text to speech module one can buy. Connect this to the Arduino and all the controlling is reduced sending a String to a serial interface. In order to keep this serial interface separated from the one the USB connection is using, we opted for an Arduino Leonardo.

    And how does the Leonardo know the String to send? Well, finally the GSM shield gets involved. Just make sure to bend the pin 2 away when plugging the GSM shield in the Leonardo.

    Don’t forget the final touches. The LEDs in the eyes are bidirectional LEDs which glow red or green depending on the direchtion of the current. Connect an resistor in series and wire that to two Arduino pins. As long as both pins are equal (both low or both high), the LED is off. If one pin is low while the other is high, the LED glows red. When levels are reversed, the LED glows green.

    We decided to have the „eyes“ glow red when speaking.

    Of course you want the text to be heared, so add some active speakers to the setup. Preferably some USB-powered speakers. USB-powered means, you can connect them to the 5V of the Arduino.

    Finally, you don’t want to actually send a text message each time you want to demonstrate the speaking skull. So add a simple switch to the setup. Each time the switch is pressed an predefined message is processed. A prototype shield holds EMIC2, voltage divider, 5V power to speakers and the switch.

    List of parts:

    • 1x Arduino Leonardo
    • 1x Arduino GSM-Shield
    • 1x Prototype Shield
    • 1x EMIC2 – text to speech module
    • 1x plastic skull
    • 1x miniature servo
    • 1x switch (print)
    • 2x resistor 4,7k (voltage divider)
    • 1x capacitor 100nF (coupling audio to voltage divider)
    • 1x USB powered speakers
    • 1x wooden board (200mm x 300 mm)
    • 2x distance bolt and screws (to hold skull)
    • 4x screw and distance roll (to hold Arduino Leonardo)
    • 2x double sided tape (to hold speakers)

    Source Code

    The source code is hosted at CodeBender, which we are proud to support.

    Thank You

    Thanks go to Arduino and SparkFun for providing the maker community with this fine electronic components.

    TeaBot (Bitter tea? Never again!)

    TeaBot (Bitter tea? Never again!)

    Imagine this situation: You prepare a cup of tea and look forward to drinking it. Then the phone rings or some other distraction leads you to forget the tea bag in the cup. That’s bitter and so is the tea. All the looking forward to a nice cup of tea turned into bitterness.

    These are the kind of situations where a little bit of automation would help. And there is arduino. That got us thinking.

    Core Ideas

    Let’s build something with Arduino that removes the tea bag in time. But what time? It differs from tea to tea. So the time has to be easily adjustable.

    • When does the time start? Well, when the hot water meets the tea bag. Some sensing would be very helpful there, as there is no reason to start manually.
    • How does it remove the tea bag? It has to be something mechanical. Servos (known from RC-models) are easy to control with an Arduino.
    • If we can lift the tea bag out of a cup, we could lower it in there, too. This would be good to keep the tea bag in motion. Motion would result in a shorter time needed to make the tea. But do we want that? Really? On most tea bags the suggested draw time is printed on. If you speed up the process (by moving the tea bag all the time) all those suggestions would be worthless. Bottom line: Let’s Relax. We don’t keep the tea bag moving.
    • When two people drink tea together, chances are they have different tastes. So the system should be able to make two cups of tea at the same time, but with different drew times.

    The result: TeaBot in action

    How we did it

    TODO

    The trunk is fastened by a M5x20 screw from below. Also you see the 4 transparent feet in the corners of the base board. From above you see the LCD mounted with M3x20 screws and 3x10 distance rolls. Also good to see: the pull-up resistors are soldered to both sides of the switches.

    Hardware (approx. 150..200 € in total)

    • 1 x Arduino Leonardo w/o Header
    • 1 x TimesSquareShield-Bausatz
    • 2 x Servo
    • 1 x LCD 20×4 Seriell
    • 2 x Temperatur-Sensor LM35DX (TO 92)
    • 2 x Servo-Arm (Plastik 10x10x120mm mit Bohrung und Einschnitt)
    • 2 x Holzschraube 2,9×12
    • 1 x Aluminium Vierkantprofil 20x20x250mm
    • 1 x Plexiglas Frontplatte 200x120x3mm
    • 1 x Plexiglas Rueckplatte 120x80x3mm
    • 2 x Abstandsbolzen M4 x 10 innen/aussen
    • 2 x Abstandsbolzen M4 x 20 innen/aussen
    • 4 x Abstandsbolzen M4 x 40 innen/aussen
    • 8 x Linsenkopfschraube M4 x 8
    • 1 x Senkkopfschraube M5 x 20
    • 1 x Frühstücksbrettchen
    • 4 x Inbusschraube M3 x 10
    • 4 x Inbusschraube M3 x 20
    • 8 x Mutter M3
    • 2 x Kipptaster (ein) / aus / (ein)
    • 1 x Kippschalter ein / aus
    • 4 x Widerstand 10 kOhm
    • 1 x Miniaturlautsprecher
    • 1 x Widerstand 470 Ohm
    • 1 x NPN-Transistor BC 546 (TO-92)

    Software (free)