Posts tagged ‘micro’

 

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).

Sessions vom MobileCamp Dresden 2013

Sessions vom MobileCamp Dresden 2013

25.05.2013: „Arduino Grundlagen“

Präsentation:
PDF

Quelltext:

26.05.2013: „Arduino – Lessons Learned“

Präsentation:
PDF

Dokumentation der Arduino-Projekte

  • LedPost (Link folgt in Kürze)
  • TreasureChest (Link folgt in Kürze)
  • TeaBot (Link folgt in Kürze)
  • BeatingHeart (Link folgt in Kürze)
  • SmsSpeakingSkull (Link folgt in Kürze)