Das Digispark Modul für kleine Projekte

Wer kennt das nicht, da möchte man schnell mal eine kleine Anwendung realisieren, bei der ein Arduino Uno oder Arduino Mega viel zu überdimensioniert und auch zu teuer wären. Man benötigt vielleicht nur 3 Pins um z.B. eine RGB LED anzusteuern damit diese automatisch die Farbe ändert.

Für solche Fälle gibt es das Digispark Modul. Dieses Modul, das man z.B. auf AliExpress schon für ca. 1 Euro bekommt, ist gerade einmal 16mm x 16mm groß und basiert auf dem Attiny 85.
Das Modul kann zur Programmierung direkt per USB mit dem Rechner verbunden werden.

In diesem Beitrag zeige ich wie man den Treiber für das Modul installiert damit dieses von Windows erkannt wird, wie man das Modul über die Boardverwaltung in der Arduino IDE integriert und wie man letztendlich seine eigenen Anwendungen damit realisieren kann. Bei der Nutzung des Moduls gibt es aich einen Fallstrick, der gerade Anfänger verzweifeln lassen kann, obwohl die Lösung doch so einfach ist. Dazu aber später mehr.

 

Das Digispark Modul

digispark_preview

Spezifikationen Digispark Modul

  • Alle Pins können als Digitale Eingänge und Ausgänge genutzt werden
  • Pin 0 = I2C SDA, PWM (LED am Model B)
  • Pin 1 = PWM (LED am Model A)
  • Pin 2 = I2C SCK, Analog In
  • Pin 3 = Analog In (also used for USB+ wenn USB genutzt wird)
  • Pin 4 = PWM, Analog (also used for USB- wenn USB genutzt wird)
  • Pin 5 = Analog In
  • Stromversorgung über den USB-Port (5V) oder eine externe Stromversorgung (7V – 35V)
  • 5V Regulator mit 500mA on Board
  • Built-in USB (and serial debugging)
  • 8k Flash Memory
  • I2C and SPI
  • 3 Pins unterstützen PWM
  • 4 Pins unterstützen ADC
  • Power LED  und Status LED an Pin 0

 

USB Treiber installieren

Auf github finden Sie immer die aktuellsten Treiber, Sourcecodes und Libraries für die verschiedenen Digispark Module.
Klicken Sie uf folgenden Link um die Digistumb Treiber der Version 1.6.7 herunterzuladen.

https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip

Entpacken Sie die Zip-Datei und klicken Sie klicken Sie doppelt auf die Datei DPinst.exe wenn Sie ein 32 Bit System nutzen oder auf die Datei DPinst64.exe wenn Sie ein 64 Bit System nutzten.

DigisparkTreiberinstallationEnde

Hier nun etwas zum anfangs erwähnten Fallstrick.
Nachdem man den USB Treiber installiert hat, könnte man ja davon ausgehen dass das Digispark Modul, sobald man dieses in den USB Port des Rechners gesteckt hat, vom Rechner erkannt und angezeigt wird. Hier ist das jedoch nicht so. Ganz im Gegenteil, das Modul wird erkannt und sofort wieder ausgeworfen, erneut erkannt und wieder ausgeworfen. Das kann man im Gerätemanager auch gut erkennen. Keine Angst, fangen Sie jetzt nicht an, andere USB Ports zu testen oder nach anderen Treibern zu suchen. Das ist in Ordnung so. Mehr dazu unter dem Punkt „Upload eines Sketches auf das Modul“.

 

Modulunterstützung über die Boardverwaltung integrieren

Damit das Digistump Modul in der Arduino IDE ausgewählt werden kann müssen wir nun folgendes tun.

Gehen Sie im Menü auf „Datei->Voreinstellungen“ oder drücken Sie gleichzeitig die Tastenkombination „Strg + Komma“

Klicken Sie auf den Button hinter „Zusätzliche Boardverwalter URLs“

boardverwalter urls

Geben Sie in einer neuen Zeile folgendes ein (ohne Anführungszeichen) „http://digistump.com/package_digistump_index.json“

neueboardverwalterurl

Schließen Sie das Einstellungsfenster

Klicken Sie im Menü auf „Werkzeuge->Board->Boardverwalter…“

boardverwaltung-menu

Wählen Sie oben den Typ „Beigetragen“

Suchen Sie unten in der Liste nach „Digistump AVR Boards by Digistump“

boardverwaltung-inst

Klicken Sie auf den Installieren Button hinter diesem Eintrag und schließen Sie das Fenster.

Nun können wir das Digispark Board auswählen. Klicken Sie dazu auf „Werkzeuge->Board…“ und wählen Sie Ihr Digispark Board aus.

SelectDigisparkBoard

 

Upload eines Sketches auf das Modul

Stecken Sie das Digispark Modul noch nicht in den USB Port Ihres Rechners oder wenn schon geschehen, entfernen Sie dieses.
Zum Testen werden wir nun unser Digispark Board so programmieren dass die Status LED in einem bestimmten Interval blinkt.
Rufen Sie dazu das Beispiel Sketch Start unter „Datei->Beispiele->Digispark_Examples->Start“ auf.

DigisparkBlinkLED

Je nachdem ob Sie Model A oder B des Digispark Moduls verwenden müssen Sie hier Pin0 oder Pin1 auswählen. Bei meinem Modul ist die Status LED mit Pin0 verbunden.

Klicken Sie nun zum Upload des Sketches die Tastenkombination „Strg + U“ oder klicken Sie oben auf das zweite Symbol von Links. Das Digispark Modul darf noch immer nicht im USB Port stecken.

UploadSketch

Nachdem das Sketch kompiliert wurde sehen Sie folgende Meldung.

DigisparkUploadSketch

Verbinden Sie nun innerhalb von 60 Sekunden Ihr Digispark Modul mit einem USB Port Ihres Rechners.
Das Sketch wird nun auf den Digispark geladen. Wenn das erfolgreich war sehen Sie folgende Meldung.

DigisparkUploadSuccessfully

Vorrausgesetzt Sie haben den richtigen Pin für die Status LED angegeben sollte diese LED nun blinken. Ändern Sie zum testen die Delay Werte im Sketch und laden Sie das Sketch erneut auf den Digispark. Denken Sie aber daran jedesmal bevor Sie auf „Upload“ klicken, den Digispark vom Rechner zu trennen.

 

Unsere erste Anwendung

Um eine erste einfache, nützliche  Anwendung zu schreiben nutzten wir erneut ein Beispiel Sketch.

Ich möchte das eine RGB LED ständig die Farben in einem weichen Verlauf ändert. (faden)
Für dieses Beispiel benötigen wir den Digispark, eine RGB LED, 3 Widerstände und ein paar Jumperkabel.

Öffnen Sie das Sketch „DigisparkRGB“ im Menü unter „Datei->Beispiele->DigisparkRGB“

DigisparkRGBExample

Mein Aufbau der Schaltung, wobei ich eine RGB LED mit gemeinsamer Anode benutze.
Das lange Bein an der LED ist also mit Plus verbunden.

DigisparkRGBSchaltung

DigisparkRGB – Sketch

Das Ergebnis können Sie unter https://vimeo.com/204764026 sehen.
Das flackern kommt durch meine Kamera.

Über Enrico S.

Programmierer, Webdesigner, Grafiker, Blogger, Screencaster, Arduino- und eMobility Enthusiast.

Kommentar verfassen