Digispark - Atmel ATtiny Mikrocontroller mit Arduino IDE programmieren

17. Juni 2016

Lang: cs en de es

Digispark ist eine programmierbare Plattform, die ATtiny-Prozessoren verwendet und mit Arduino kompatibel ist. Man könnte es als einen Arduino beschreiben, nur mit einem anderen Prozessor. Wie beginnt man mit Digispark?

Digispark basiert auf dem ATtiny Mikrocontroller, Dieser ist klein, billig, nicht sehr leistungsfähig und hat nur wenige Ausgänge, aber er reicht für einige grundlegende Aufgaben aus. Außerdem verfügt er bereits über USB, so dass kein USB-Seriell-Konverter erforderlich ist. Digispark enthält einen Bootloader, mit dem man bequem ein Programm in den Mikrocontroller laden kann.

Glaubenssätze

Digispark

Digispark enthält ATtiny85 Mikrocontroller. Die wichtigsten Parameter von Digispark sind:

  • 6 I/O Pins
  • 8k Flash-Speicher
  • I2C und SPI
  • PWM auf 3 Pins
  • ADC an 4 Pins
  • Power-LED und Test/Status-LED

digispark

Digispark Pro

Digispark Pro enthält den ATtiny167 Mikrocontroller.

  • 16KB Flash-Speicher
  • 14 I/O Pins
  • I2C, echtes SPI, UART, LIN und USI
  • ADC auf 10 Pins
  • Power-LED und Test/Status-LED

digispark pro

Bedienung

Nach dem Anschluss des Digispark an den PC über USB erscheint die virtuelle serielle Schnittstelle nicht im System, wie wir es vom Arduino gewohnt sind. Es ist nicht nötig, ein weiteres Modul (Treiber) zu installieren. Zumindest ist dies bei Linux der Fall. Beim Programmieren greift man wahrscheinlich direkt auf das USB-Gerät zu.

Beschreibung Die Bedienung der Digispark-Erweiterung auf der Arduino-IDE wird auf der offiziellen Website erläutert. Einfach durchklicken und im Boards Manager die Boardunterstützung zu Digistum hinzufügen.

Damit ein nicht privilegierter Benutzer dieses USB-Gerät benutzen kann, müssen Sie ein Subsystem hinzufügen. Die Ereignisregel für Dispark ist im offiziellen Handbuch noch einmal ganz deutlich zu sehen. Eine andere Möglichkeit ist, den Benutzer zu einer Gruppe hinzuzufügen, die bereits Zugriffsrechte auf USB-Geräte hat.

Das Hochladen eines Programms in den Digispark funktioniert in der Reihenfolge: Upload starten, dann Gerät anschließen.

Start von Digispark Pro

Das Hochladen von Code in Digispark Pro hat bei mir nicht funktioniert. Die Arduino IDE meldete dieses Problem:

 Warnung: Gerät mit unbekannter neuer Version von Micronucleus entdeckt.
Dieses Tool weiß nicht, wie man auf dieses neue Gerät hochlädt. Möglicherweise sind Updates verfügbar.
Das Gerät meldet als Version: 2.2
Das Micronucleus-Dienstprogramm, das zum Hochladen eines Programms auf den Mikrocontroller verwendet wurde, war alt. Daher habe ich die folgenden Befehle verwendet, um die aktuelle Version des micronucleus-Quellcodes herunterzuladen. Ich kompilierte das Programm und kopierte die resultierende Binärdatei an den Ort, an dem die Digispark-Erweiterung installiert war.
git clone https://github.com/micronucleus/micronucleus.git
cd micronucleus/
cd commandline/
make
cp micronucleus ~/.arduino15/packages/digistump/tools/micronucleus/2.0a4/micronucleus


Programm

Der erste Einsatz kann mit dem Diodenblinkprogramm leicht getestet werden.

Digispark (Modell A ) und Digispark Pro haben beide eine LED am Arduino Pin 1. Digispark Modell B hat die LED auf Arduino Pin 0. Der Code zum Blinken der LED lautet wie folgt:

void setup() {
  pinMode(1, OUTPUT);
}


void loop() {
  digitalWrite(1, HIGH); // schaltet die LED ein (HIGH ist der Spannungspegel)
  delay(1000); // warte eine Sekunde lang
  digitalWrite(1, LOW); // schaltet die LED aus, indem die Spannung auf LOW gesetzt wird
  delay(1000); // warte eine Sekunde
}

Die Programmierung von Digispark mit der Arduino IDE Entwicklungsumgebung ist in der folgenden Abbildung zu sehen. Das Listing zeigt den Fortschritt des Hochladens des Programms in den Digispark.

arduino-ide-digispark.png

Wer Erfahrung mit Arduino hat, kann schnell Programme für Mikrocontroller entwickeln. Dafür sorgen die Wiring-Bibliothek und die große Verfügbarkeit von Bibliotheken für verschiedene Peripheriegeräte. Außerdem ist es nicht mehr notwendig, sich auf einen Prozessor und einen Hersteller zu beschränken. Jetzt kann die Arduino-Erfahrung nicht nur auf die vielen Prozessoren von Atmel (kürzlich von Microchip übernommen) angewendet werden, sondern auch auf ARM-Mikrocontroller und auf IoT-SoCs ESP8266.

RGB-LEDs

Artikel zu einem ähnlichen Thema

Python-Programm zur Steuerung von Docker über die API
Wie man MailCatcher zum Testen von E-Mails verwendet
Python OpenAI API
Erstellen einer WebSocket-Webanwendung und Einrichten eines Proxys
Projektmanagement: agile Softwareentwicklung
Wie man alte PHP-Anwendungen ausführt
Was ein guter Programmierer wissen sollte
Programmiersprache Rust
NodeJS: Entwicklung, Serverkonfiguration
Nette Sicherheitslücke CVE-2020-15227
REST API: Plattform-API
Kundenspezifisches Web- und E-Mail-Hosting mit ISP Config-Software
Programmierung in SQL: PostgreSQL, MySQL/MariaDB
HTTPS: sicheres Web
NoSQL-Datenbank Mongo DB
Herstellen einer Verbindung zu Microsoft SQL Server unter Linux
Was ist die Stellenbeschreibung eines Programmierers?
Lokalisierung von Python-Anwendungen
Welches Mail- und Webhosting Sie wählen sollten
Entwicklung für ARM-Prozessoren mit Arduino IDE
Wie programmiere ich den ESP8266 WiFi-Prozessor?
Offenes Smartphone mit Linux - Openmoko Neo FreeRunner

Newsletter

Wenn Sie daran interessiert sind, gelegentlich Neuigkeiten per E-Mail zu erhalten.
Sie können sich registrieren, indem Sie Ihre E-Mail-Adresse eingeben News-Abonnement.


+