Digispark - Programujte mikrokontrolér Atmel ATtiny pomocí Arduino IDE

17. června 2016

Digispark je programovatelná platforma, která používá procesory ATtiny a je kompatibilní s Arduinem. Dá se to označit za Arduino jen s jiným procesorem.

Digispark je založen na mikrokontroléru ATtiny, který je malý levný ne příliš výkonný a s málo výstupy, ale na některé základní úlohy dostačuje. Navíc již obsahuje USB, není tedy potřeba USB serial převodník. Digispark obsahuje bootlooder, který slouží k pohodlnému nahrání programu do mikrokontroléru.

digispark, digispark pro

Verze

Digispark

Digispark obsahuje mikrokontrorélu ATtiny85. Hlavní parametry Digisparku jsou jsou:

  • 6 I/O Pinů
  • 8k Flash Memory
  • I2C and SPI
  • PWM na 3 pinech
  • ADC na 4 pinech
  • Power LED and Test/Status LED

digispark

Digispark Pro

Digispark Pro obsahuje mikrokontrorélu ATtiny167.

  • 16KB Flash Memory
  • 14 I/O Pinů
  • I2C, true SPI, UART, LIN and USI
  • ADC na 10 pinech
  • Power LED and Test/Status LED

digispark pro

Zprovoznění

Po připojení Digisparku k PC pomocí USB se v systému neobjeví virtuální sériový port jak jsme u Arduina zvyklí. Není potřeba ani instalovat jiný modul(ovladač). Aspoň tak tomu je u Linuxu. Při programovaní se pravděpodobně přistupuje přímo k USB zařízení.

Popis zprovoznění rozšíření Digispark u Arduino IDE je názorně vidět na oficiálních stránkách. Stačí se proklikat a v Boards Manageru přidat desku podporu Digistum.

Aby neprivilegovaný uživatel mohl používat toto USB zařízení je potřeba přidat do subsystému udev pravidlo pro Dispark vše je opět dobře vidět v oficiálním návodu. Jinou možností je přidat uživatele do takové skupiny, která má již přístupová práva k USB zařízením.

Nahraní programu do Digisparku funguje v pořadí: spusť nahrání pak připoj zařízení.

Zprovoznění Digispark Pro

Nahrávání kódu do Digisparku Pro mě nefungovalo. Arduino IDE hlásilo tento problém:

 Warning: device with unknown new version of Micronucleus detected.
This tool doesn't know how to upload to this new device. Updates may be available.
Device reports version as: 2.2
Utilita micronucleus, která slouží pro nahrávání programu do mikrokontroléru byla stará. Následujícími příkazy jsem proto stáhl aktuální verzi zdrojových kódů programu micronucleus. Program zkompiloval a výsledný binární soubor zkopíroval do umístění, kam se nainstalovalo rozšíření pro Digispark.
git clone https://github.com/micronucleus/micronucleus.git
cd micronucleus/
cd commandline/
make
cp micronucleus ~/.arduino15/packages/digistump/tools/micronucleus/2.0a4/micronucleus


Program

První použití lze lehce vyzkoušet programem pro blikání diody.

Digispark (Model A ) i Digispark Pro má LED diodu na Arduino Pinu 1. Digispark model B má led na Arduino Pinu 0. Kód pro rozblikání LED je následující:

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


void loop() {
  digitalWrite(1, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(1, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

Programování Digisparku pomocí vývojové prostředí Arduino IDE je vidět na následujícím obrázku. Ve výpisu je vidět průběh nahrávání programu do Digisparku.

arduino-ide-digispark.png

Kdo má zkušenosti s Arduinem, může rychle vyvíjet programy pro mikrokontroléry. To vše zajišťuje knihovna Wiring a velká dostupnost knihoven pro různé periferie. Navíc už dávno není nutné se omezovat na jeden procesor a jednoho výrobce. Nyní je možno zkušenosti z Arduina lehce zúročit nejen na mnoha procesor od firmy Atmel (nedávno koupený Microchipem), ale také na mikrokontrolérech ARM a na IoT SoC ESP8266.

RGB LEDs

Články na podobné téma

Jak porovnat dvě stejné databáze?
REST API: API platform
Vlastní web a mail hosting se softwarem ISP Config
Programovní v SQL: PostgreSQL, MySQL/MariaDB
HTTPS: zabezpečený web
NoSQL databáze Mongo DB
Linux a MS SQL server
Co je pracovní náplň programátora
Lokalizace aplikací v jazyce Python
Jaký mail a web hosting vybrat
How to make wireless low power Arduino
Digispark - Programujte mikrokontrolér Atmel ATtiny pomocí Arduino IDE
Program Roulette
Vývoj pro procesory ARM s Arduino IDE
Wireless low power Arduino
Pyradio - Python program for receive Internet radio with text user inteface
UPS monitor pro Android
Bezdrátový bateriově napájený WiFi teploměr
Jak programovat WiFi procesor ESP8266
Comparison IQRF vs Wireless Arduino
Jakou platformu zvolit pro eshop? Například Prestashop
Development kits and gateways for wireless platform IQRF

OpenStreetMap a GPS trasy v mapě na webu
Java program pro přehledné monitorování záložních zdrojů
Quickplay
Otevřený chytrý telefon s Linuxem - Openmoko Neo FreeRunner
Čipové kontaktní a bezkontaktní karty Java Card OpenPlatform
Grafický program pro embeded/mobilní zařízení na vyhledávání dopravního spoje.
Vývoj pro bezdrátové moduly s procesorem PIC pod GNU/Linux - IQRF
Java program a applet Kalkulačka
Java program na výpočet kvadratické rovnice
O programování a ruzné programy v jazyce Java, Python a dalších