DigiSparkBlinkStick

vorhergehende Artikel in: Hardware Git(lab|hub)
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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Mandelbrot-Sets mittels Shadern berechnen

    17.05.2019

    Nachdem ich in den letzten verregneten Tagen auf Youtube in den Videos von Numberphile versunken bin, hat mich eines davon angestachelt, mich selbst mit dem Mandelbrotset zu beschäftigen. Als ich dann noch Code fand, der behauptete, das auf einer Graphikkarte mittels Shadern berechnen zu können, war es um mich geschehen...

    Weiterlesen...

Neueste Artikel

  • Erste Vor-Version eines Gis-Plugin für die sQLshell

    Wie bereits in einem früheren Artikel erwähnt plane ich, demnächst ein Plugin für die sQLshell anzubieten, das eine Visualisierung von Daten mit räumlichem Bezug im Stil eines Geoinformationssystems erlaubt.

    Weiterlesen...
  • bad-certificates Version 2.1.0

    Das bereits vorgestellte Projekt zur automatisierten Erzeugung von Zertifikaten mit allen möglichen Fehlern hat eine Erweiterung erfahren und verfügt über ein Partnerprojekt - beide sind nunmehr in der Version 2.1.0 freigegeben

    Weiterlesen...
  • SQLite als Geodatenbank

    Wie bereits in einem früheren Artikel beschrieben treibe ich derzeit Anstrengungen voran, die sQLshell attraktiver für Nutzer zu machen, die mit Geodatenbanken arbeiten.

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.