DigiSparkBlinkStick

vorhergehende Artikel in: OpenSource Hardware
16.07.2020

Ich habe hier - es ist bereits etwas länger her - bereits über Experimente mit dem Digistump geschrieben. Neulich stolperte ich über einige Artikel, die mein Interesse erneut anfachten...

Beim Stöbern während der Quarantäne las ich unter anderem neues über Raspi-Cluster und als ich einigen der Links folgte, wurde ich an meine früheren Versuche erinnert. Einer der Links führte mich zu einer Seite, wo jemand bechrieb, dass er genau dieses Projekt erfolgreich durchgeführt hatte.

Das gab den Ausschlag, mich noch einmal selber dahinter zu klemmen...

Ich dachte zunächst darüber nach, meiner ursprünglichen Idee zu folgen und die Realisierung über die ursprünglich von DigiSpark angebotene "dumme" RGB-Led anzustreben. Nachdem der Code dafür funktionierte und ich ein entsprechendes Repository eingerichtet hatte bemerkte ich, dass Digispark aufgerüstet hatte: Das Kit mit der dummen Led gab es gar nicht mehr - das RGB-Led-Kit hat sich inzwischen in eines mit einer "smarten" Led verwandelt.

Da ich inzwischen aus Experimentiergründen solche Leds angeschafft hatte, habe ich erfolgreich versucht, dieselbe Funktionalität auch mit einer solchen smarten Led umzusetzen - daraus entstand ein erster Branch des Projekts.

Als ich einige weitere Kommandos für unterschiedliche Modi einführen wollte stieß ich auf ein Hindernis, das durch den extrem begrenzten "Massenspeicherplatz" im AtTiny85 dargestellt wurde. Ich hatte bis dahin noch die Arduino-Bibliothek zur Ansteuerung von NeoPixels verwendet. Diese verbrauchte einen enormen Anteil der zur Verfügung stehenden reichlich 6000 Bytes.

Eine Recherche im Internet förderte schließlich eine sehr gute Anleitung zu Tage, wie man solche smarten Leds "von Hand" per Bit-Banging ansteuert. Da diese so nicht sofort mit dem AtTiny85 funktionierte, habe ich sie - unterstützt von weiteren Informationen aus dem Internet angepasst und konnte damit die Codegröße drastische reduzieren um Platz für weitere Ideen zu schaffen.

Als ich so weit war, dass erst einmal alle meine Ideen für unterschiedliche Betriebsmodi und die zugehörigen Kommandos umgesetzt waren, entschloss ich mich, einen ersten Prototypen mit einer smarten Led zusammenzulöten. Natürlich steckte ich zunächst einmal alles auf einem Steckbrett zusammen und stellte fest, dass die Äußerung "WS2812-kompatibel" bei besonders günstigen Angeboten nicht immer ernstzunehmen ist: die von mir beschafften PL9823-F8 vertauschten die Farben Rot und Grün im Protokoll - daher existiert jetzt ein weiterer Branch.

Das System beherrscht nunmehr folgende Modi:

  • freie Farbwahl im RGB-Farbraum
  • Leuchten in der gewählten Farbe
  • Blinken in der gewählten Farbe
  • Einstellen der Dauer für "Led an" und "Led aus"
  • Einstellen einer endlichen Anzahl von Blinks
  • Wiederholen der eingestellten Anzahl von Blinks nach einer konfigurierbaren Pause
  • Konfigurieren der Anzahl von Wiederholungen
Hier noch einige Links, die mir bei der Umsetzung geholfen haben:

Artikel, die hierher verlinken

Mosquitto MQTT Broker on Docker@Raspi

25.07.2020

Nachdem ich in letzter Zeit wieder verstärkt neue Dienste in meinen Docker-Zoo integriert habe, habe ich nach Fertigstellung der ersten Version meiner Interpretation des BlinkStick einen weiteren Dienst "containerisiert"

DigiSparkBlinkStick II

25.07.2020

Ich habe vor kurzem darüber berichtet, wie ich meinen eigenen BlinkStick realisiert habe

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.