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

17. června 2016

Lang: cs en de es

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. Jak začít používat Digispark?

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.

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 použít aplikaci MailCatcher pro testování emailů
Návod: Python OpenAI API
Vytvoření WebSocket webové aplikace a nastavení proxy
Řízení projektů: Agilní vývoj softwaru
Jak provozovat staré PHP aplikace
Co by měl umět dobrý programátor
Programovací jazyk Rust
NodeJS: vývoj, konfigurace serveru
Nette security bug CVE-2020-15227
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
Připojení k Microsoft SQL Serveru z Linuxu
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
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
Quickplay
Java program pro přehledné monitorování záložních zdrojů
Čipové kontaktní a bezkontaktní karty Java Card OpenPlatform
Otevřený chytrý telefon s Linuxem - Openmoko Neo FreeRunner
Vývoj pro bezdrátové moduly s procesorem PIC pod GNU/Linux - IQRF
Grafický program pro embeded/mobilní zařízení na vyhledávání dopravního spoje.
O programování a ruzné programy v jazyce Java, Python a dalších
Java program a applet Kalkulačka
Java program na výpočet kvadratické rovnice

Odběr novinek

Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k odběru novinek.


+