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

  • Fährnisse des Buildprozesses unter Windows

    17.07.2019

    Nachdem ich begonnen hatte, mich mit der Beschleunigung der Berechnung des Mandelbrot-Fraktals unter Zuhilfenahme der Shadereinheiten in Graphikkarten zu beschäftigen und erste Erfolge feiern konnte, wollte ich das mal auf einer richtigen Graphikkarte ausprobieren...

    Weiterlesen...

Neueste Artikel

  • Datenvalidierung UTF8 mit BiDi-Steuerzeichen (TrojanSource 2.0)

    Ich bin heute nochmal inspiriert worden, weiter über die Trojan Source Vulnerability nachzudenken. Meiner Meinung nach bestehen hier noch Probleme - speziell bei Nutzereingaben oder Daten, die über externe Schnittstellen ampfangen werden.

    Weiterlesen...
  • OpenStreetMap Navi als Docker-Container

    Ich habe die auf OpenStreetMap basierende OpenSource Navigationslösung Graphhopper in einen Docker-Container gepackt und als neuestes Mitglied in meinem Docker-Zoo willkommen geheißen.

    Weiterlesen...
  • SQL-Aggregatfunktionen in SQLite als BeanShell-Scripts

    Ich habe neulich über eine Möglichkeit berichtet, SQLite mittels der sQLshell und Beanshell-Skripten um SQL-Funktionen zu erweitern. In diesem Artikel versprach ich auch, über eine solche Möglichkeit für Aggregatfunktionen zu berichten.

    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.