Arduino - Arduino

Arduino
Arduino Logo.svg Genuino Logo.svg
Arduino Uno - R3.jpg
Arduino Uno SMD R3
Vývojář arduino.cc
Výrobce Arduino
Typ Jednodeskový mikrokontrolér
Operační systém Žádný (výchozí) / Xinu
procesor Atmel AVR (8bitový),
ARM Cortex-M0+ (32bitový),
ARM Cortex-M3 (32bitový),
Intel Quark ( x86 ) (32bitový)
Paměť SRAM
Úložný prostor Flash , EEPROM
webová stránka www .arduino .cc

Arduino ( / ɑː r d w I n / ) je open-source hardware a software společnost, projekt, a uživatelská komunita, která vyvíjí a vyrábí s jednou deskou mikroprocesory a mikrokontroléru výstroje pro budování digitálních zařízení. Jeho hardwarové produkty jsou licencovány pod licencí CC-BY-SA , zatímco software je licencován pod licencí GNU Lesser General Public License (LGPL) nebo GNU General Public License(GPL), umožňující výrobu desek Arduino a distribuci softwaru kýmkoli. Desky Arduino jsou komerčně dostupné z oficiálních webových stránek nebo prostřednictvím autorizovaných distributorů.

Desky Arduino používají různé mikroprocesory a řadiče. Desky jsou vybaveny sadou pinů digitálního a analogového vstupu/výstupu (I/O), které mohou být propojeny s různými rozšiřujícími deskami („štíty“) nebo breadboardy (pro prototypování) a dalšími obvody. Desky jsou vybaveny sériovými komunikačními rozhraními, včetně Universal Serial Bus (USB) u některých modelů, které se také používají pro načítání programů. Mikroprocesory lze programovat pomocí programovacích jazyků C a C ++ pomocí standardního API, které je také známé jako „jazyk Arduino“. Kromě používání tradičních řetězců nástrojů kompilátoru projekt Arduino poskytuje integrované vývojové prostředí (IDE) a nástroj příkazového řádku vyvinutý v Go .

Projekt Arduino byl zahájen v roce 2005 jako nástroj pro studenty Interaction Design Institute Ivrea v Itálii s cílem poskytnout nováčkům a profesionálům levný a snadný způsob vytváření zařízení, která interagují se svým prostředím pomocí senzorů a akčních členů . Mezi běžné příklady takových zařízení určených pro začínající fandy patří jednoduché roboty , termostaty a detektory pohybu .

Název Arduino pochází z baru v italské Ivrei , kde se dříve scházeli někteří zakladatelé projektu. Bar byl pojmenován po Arduin Ivrea , který byl markrabě z března Ivrea a král Itálie od 1002 do 1014.

Dějiny

První Arduino, které kdy bylo vyrobeno

Projekt Arduino byl zahájen v Interaction Design Institute Ivrea (IDII) v Ivrea , Itálie. V té době studenti používali mikrokontrolér BASIC Stamp za cenu 50 USD. V roce 2003 vytvořil Hernando Barragán vývojovou platformu Wiring jako projekt diplomové práce na IDII, pod dohledem Massima Banziho a Caseyho Reasa . Casey Reas je známá pro spoluvytváření s Ben Fry, vývojovou platformou Processing . Cílem projektu bylo vytvořit jednoduché, levné nástroje pro vytváření digitálních projektů neinženýry. Platforma Wiring se skládala z desky s plošnými spoji (PCB) s mikrokontrolérem ATmega 168, IDE založeného na funkcích zpracování a knihovny pro snadné programování mikrokontroléru. V roce 2005 Massimo Banzi s Davidem Mellisem, dalším studentem IDII a Davidem Cuartiellesem rozšířili Wiring přidáním podpory levnějšího mikrokontroléru ATmega8. Nový projekt, rozdvojený od Wiring, se jmenoval Arduino .

Počáteční tým Arduino tvořili Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino a David Mellis.

Po dokončení platformy byly v komunitě open-source distribuovány lehčí a levnější verze. V polovině roku 2011 se odhadovalo, že bylo komerčně vyrobeno přes 300 000 oficiálních Arduinos, a v roce 2013 bylo 700 000 úředních desek v rukou uživatelů.

Spor o ochrannou známku

Na začátku roku 2008 založilo pět spoluzakladatelů projektu Arduino společnost Arduino LLC, která bude vlastnit ochranné známky spojené s Arduino. Výroba a prodej desek měla být prováděna externími společnostmi a Arduino LLC by od nich získalo licenční poplatek. Zakládající stanovy společnosti Arduino LLC upřesnily, že každý z pěti zakladatelů převádí vlastnictví značky Arduino na nově vytvořenou společnost.

Na konci roku 2008 si společnost Gianluca Martino, Smart Projects, zaregistrovala ochrannou známku Arduino v Itálii a tajila to před ostatními spoluzakladateli asi dva roky. To bylo odhaleno, když se společnost Arduino pokusila zaregistrovat ochrannou známku v jiných částech světa (původně se registrovali pouze v USA) a zjistila, že již byla zaregistrována v Itálii. Jednání s Martinem a jeho firmou o získání ochranné známky pod kontrolou původní společnosti Arduino selhala. V roce 2014 začaly Chytré projekty odmítat platit licenční poplatky. Poté jmenovali nového generálního ředitele Federica Musta, který přejmenoval společnost Arduino SRL a vytvořil webové stránky arduino.org , kopírující grafiku a rozvržení původního arduino.cc . To vedlo k roztržce ve vývojovém týmu Arduino.

V lednu 2015 podala společnost Arduino LLC žalobu proti společnosti Arduino SRL.

V květnu 2015 vytvořila společnost Arduino LLC celosvětovou ochrannou známku Genuino , používanou jako obchodní značka mimo Spojené státy.

Na World Maker Faire v New Yorku 1. října 2016 oznámili fúzi obou společností spoluzakladatel a generální ředitel společnosti Arduino LLC Massimo Banzi a generální ředitel společnosti Arduino SRL Federico Musto. Zhruba ve stejné době Massimo Banzi oznámil, že kromě společnosti bude spuštěna nová nadace Arduino jako „nový začátek pro Arduino“, ale toto rozhodnutí bylo později staženo.

V dubnu 2017 Wired uvedl, že Musto „vyrobil svůj akademický záznam ... Na webových stránkách své společnosti, osobních účtech LinkedIn a dokonce i na italských obchodních dokumentech byl Musto až donedávna veden jako držitel titulu PhD z Massachusetts Institute of Technologie. V některých případech si jeho biografie také vyžádala titul MBA z New York University. “ Wired uvedl, že ani jedna univerzita neměla žádný záznam o účasti Musta, a Musto později v rozhovoru pro Wired přiznal, že tyto tituly nikdy nezískal. Spor kolem Musta pokračoval, když v červenci 2017 údajně stáhl z webu Arduino mnoho licencí, schémat a kódu Open source , což vyvolalo zkoumání a pobouření.

Do roku 2017 vlastnila Arduino AG mnoho ochranných známek Arduino. V červenci 2017 společnost BCMI, kterou založili Massimo Banzi, David Cuartielles, David Mellis a Tom Igoe, získala Arduino AG a všechny ochranné známky Arduino. Fabio Violante je novým generálním ředitelem nahrazujícím Federica Musta, který již nepracuje pro Arduino AG.

Post-spor

V říjnu 2017 společnost Arduino oznámila partnerství s ARM Holdings (ARM). V oznámení bylo částečně uvedeno: „ARM uznalo nezávislost jako základní hodnotu Arduina ... bez jakéhokoli zablokování architektury ARM .“ Arduino hodlá i nadále spolupracovat se všemi dodavateli technologií a architekturami.

Pod Violanteho vedením začala společnost opět růst a vydávat nové designy. Ochranná známka Genuino byla zamítnuta a všechny výrobky byly znovu označeny názvem Arduino. V únoru 2020 zahrnovala komunita Arduino přibližně 30 milionů aktivních uživatelů na základě stahování IDE.

V srpnu 2018 společnost Arduino oznámila svůj nový nástroj příkazového řádku s otevřeným zdrojovým kódem ( arduino-cli ), který lze použít jako náhradu IDE k programování desek z prostředí.

V únoru 2019 společnost Arduino oznámila svoji službu IoT Cloud jako rozšíření online prostředí Create.

Hardware

Deska R3 Uno kompatibilní s Arduino vyrobená v Číně bez loga Arduino, ale se stejným označením, včetně textu „ Made in Italy

Arduino je hardware s otevřeným zdrojovým kódem . Návrhy hardwaru jsou distribuovány pod licencí Creative Commons Attribution Share-Alike 2.5 a jsou k dispozici na webových stránkách Arduino. K dispozici jsou také soubory rozvržení a produkce pro některé verze hardwaru.

Ačkoli jsou návrhy hardwaru a softwaru volně dostupné pod licencemi copyleft , vývojáři požadovali, aby název Arduino byl exkluzivní pro oficiální produkt a nebyl používán pro odvozená díla bez svolení. Oficiální dokument o zásadách používání názvu Arduino zdůrazňuje, že projekt je otevřený začlenění práce ostatních do oficiálního produktu. Několik komerčně vydaných produktů kompatibilních s Arduino se vyhýbalo názvu projektu pomocí různých názvů končících na -duino .

Počáteční deska Arduino se sériovým rozhraním RS-232 (vlevo nahoře) a čipem mikrokontroléru Atmel ATmega8 (černý, vpravo dole); 14 digitálních I/O pinů je nahoře, 6 analogových vstupních pinů vpravo dole a napájecí konektor vlevo dole.

Většina Arduino desky sestávají z Atmel 8bitové AVR (ATmega8, ATmega168, ATMEGA328 , ATmega1280 nebo ATmega2560) s různým množstvím flash paměti, kolíky, a funkce. 32bitový Arduino Due , založený na Atmel SAM3X8E, byl představen v roce 2012. Desky používají jedno nebo dvouřadé piny nebo samičí záhlaví, které usnadňují připojení pro programování a začlenění do jiných obvodů. Ty se mohou spojit s přídavnými moduly nazývanými štíty . Více a případně skládaných štítů může být jednotlivě adresovatelných prostřednictvím sériové sběrnice I²C . Většina desek obsahuje 5 V lineární regulátor a 16 MHz krystalový oscilátor nebo keramický rezonátor . Některé konstrukce, například LilyPad, běží na 8 MHz a upouštějí od integrovaného regulátoru napětí kvůli specifickým omezením tvarového faktoru.

Mikrokontroléry Arduino jsou předprogramovány pomocí zavaděče, který zjednodušuje nahrávání programů do flash paměti na čipu . Výchozím zavaděčem Arduino Uno je zavaděč Optiboot. Desky jsou načteny programovým kódem prostřednictvím sériového připojení k jinému počítači. Některé sériové desky Arduino obsahují obvod řadiče úrovně pro převod mezi logickými úrovněmi RS-232 a signály úrovně tranzistoru a tranzistoru (TTL). Aktuální desky Arduino jsou programovány pomocí Universal Serial Bus (USB), implementované pomocí čipů adaptéru USB-to-serial, jako je FTDI FT232. Některé desky, jako například novější desky Uno, nahrazují čip FTDI samostatným čipem AVR obsahujícím firmware USB-to-serial, který lze přeprogramovat pomocí vlastní hlavičky ICSP . Jiné varianty, jako například Arduino Mini a neoficiální Boarduino, používají odnímatelnou desku nebo kabel adaptéru USB-to-serial, Bluetooth nebo jiné metody. Při použití s ​​tradičními nástroji mikrokontroléru se místo Arduino IDE používá standardní programování AVR v systému (ISP).

Oficiální Arduino Uno R2 s popisem umístění I/O

Deska Arduino odhaluje většinu I/O pinů mikrokontroléru pro použití jinými obvody. Diecimila , Duemilanove a aktuální Uno poskytuje 14 digitálních vstupů / výstupů, z nichž šest mohou vytvářet s modulovanou šířkou pulzu signály a šest analogových vstupů, které mohou být také použity jako šest digitálních vstupů / výstupů. Tyto kolíky jsou na horní straně desky prostřednictvím samičích 0,1 palce (2,54 mm) záhlaví. Několik štítů aplikačních štítků je také komerčně dostupných. Arduino Nano a Arduino-kompatibilní desky Bare Bones Board a Boarduino může poskytnout samčí hlavičku kolíky na spodní straně desky, které lze zasunout do solderless breadboards .

Existuje mnoho desek kompatibilních s Arduino a odvozených od Arduina. Některé jsou funkčně ekvivalentní Arduinu a lze je používat zaměnitelně. Mnoho vylepšuje základní Arduino přidáním výstupních ovladačů, často pro použití ve školním vzdělávání, aby se zjednodušilo vytváření kočárků a malých robotů. Ostatní jsou elektricky ekvivalentní, ale mění tvar, někdy si zachovávají kompatibilitu se štíty, někdy ne. Některé varianty používají různé procesory s různou kompatibilitou.

Úřední desky

Originální hardware Arduino vyrobila italská společnost Smart Projects. Některé desky se značkou Arduino byly navrženy americkými společnostmi SparkFun Electronics a Adafruit Industries . V roce 2016 bylo komerčně vyrobeno 17 verzí hardwaru Arduino.

Štíty

Desky kompatibilní s Arduino a Arduino používají rozšiřující desky s tištěnými obvody, nazývané štíty , které se zapojují do běžně dodávaných konektorů pinů Arduino. Shields může poskytovat ovládání motoru pro 3D tisk a další aplikace, GNSS (satelitní navigace), Ethernet, displej z tekutých krystalů (LCD) nebo breadboarding ( prototypování ). Několik štítů lze také vyrobit vlastními silami (DIY).

Software

Software Arduino IDE
Arduino IDE - Blink.png
Screenshot Arduino IDE ukazující program Blink
Vývojáři Software Arduino
Stabilní uvolnění
1.8.16 / 6. září 2021 ; Před 34 dny ( 2021-09-06 )
Napsáno Java , C , C ++
Operační systém Windows , macOS , Linux
Plošina IA-32 , x86-64 , ARM
Typ Integrované vývojové prostředí
Licence Licence LGPL nebo GPL
webová stránka www .arduino .cc /cs /Hlavní /Software

Program pro hardware Arduino může být napsán v jakémkoli programovacím jazyce s překladači, které produkují binární strojový kód pro cílový procesor. Atmel poskytuje vývojové prostředí pro své 8bitové mikrokontroléry AVR a 32bitové ARM Cortex-M : AVR Studio (starší) a Atmel Studio (novější).

IDE

Integrované vývojové prostředí Arduino (IDE) je multiplatformní aplikace (pro Windows , macOS a Linux ), která je napsána v programovacím jazyce Java . Pocházel z IDE pro jazyky Processing and Wiring . Obsahuje editor kódu s funkcemi, jako je vyjímání a vkládání textu, vyhledávání a nahrazování textu, automatické odsazování, párování závorek a zvýrazňování syntaxe , a poskytuje jednoduché mechanismy na jedno kliknutí pro kompilaci a nahrávání programů na desku Arduino. Obsahuje také oblast zpráv, textovou konzolu, panel nástrojů s tlačítky pro běžné funkce a hierarchii nabídek operací. Zdrojový kód IDE je vydán pod licencí GNU General Public License , verze 2.

Arduino IDE podporuje jazyky C a C ++ pomocí speciálních pravidel strukturování kódu. Arduino IDE dodává softwarovou knihovnu z projektu Wiring , která poskytuje mnoho běžných vstupních a výstupních procedur. Uživatelsky psaný kód vyžaduje pouze dvě základní funkce, pro spuštění skici a hlavní programové smyčky, které jsou kompilovány a propojeny se stubem programu main () do spustitelného cyklického výkonného programu s řetězcem nástrojů GNU , rovněž součástí distribuce IDE. Arduino IDE využívá program avrdude k převodu spustitelného kódu na textový soubor v hexadecimálním kódování, který je načten do desky Arduino programem zavaděče ve firmwaru desky.

IDE 2.0

18. října 2019 bylo vydáno Arduino Pro IDE (alfa náhled). Později, 1. března 2021, byl vydán beta náhled přejmenovaný na IDE 2.0. Systém stále používá Arduino CLI (rozhraní příkazového řádku), ale vylepšení zahrnují profesionálnější vývojové prostředí, podporu automatického doplňování a integraci Git. Frontend aplikace je založen na IDE Eclipse Theia Open Source. Hlavní funkce dostupné v nové verzi jsou:

  • Moderní, plně vybavené vývojové prostředí
  • Duální režim, klasický režim (shodný s klasickým Arduino IDE) a režim Pro (zobrazení systému souborů)
  • Nový vedoucí představenstva
  • Nový správce knihovny
  • Seznam desek
  • Základní automatické dokončování (pouze cíle na paži)
  • Integrace Git
  • Sériový monitor
  • Tmavý režim

Skica

Skica je program napsaný s Arduino IDE. Skici jsou uloženy na vývojovém počítači jako textové soubory s příponou .ino . Arduino Software (IDE) pre-1.0 uložené skici s příponou .pde .

Minimální program Arduino C/C ++ se skládá pouze ze dvou funkcí:

  • setup(): Tato funkce se vyvolá jednou, když se skica spustí po zapnutí nebo resetování. Používá se k inicializaci proměnných, režimů vstupních a výstupních pinů a dalších knihoven potřebných v náčrtu. Je to analogické s funkcí main().
  • loop(): Po setup()ukončení (ukončení) loop()funkce se funkce v hlavním programu provádí opakovaně. Řídí desku, dokud se deska nevypne nebo nevynuluje. Je to analogické s funkcí while(1).
Blink příklad
LED napájení a integrovaná LED na desce kompatibilní s Arduino
LED napájení (červená) a uživatelská LED (zelená) připojená ke kolíku 13 na desce kompatibilní s Arduino

Většina desek Arduino obsahuje světelnou diodu (LED) a odpor omezující proud připojený mezi pin 13 a uzemnění, což je praktická funkce pro mnoho testů a funkcí programu. Typický program používaný začátečníky, podobný Hello, World! , je „blink“, který opakovaně bliká palubní LED integrovanou v desce Arduino. Tento program využívá funkce pinMode(), digitalWrite()a delay(), které jsou poskytovány interními knihovnami zahrnutými v prostředí IDE. Tento program je výrobcem obvykle načten do nové desky Arduino.

# define LED_PIN 13                  // Pin number attached to LED.

void setup() {
    pinMode(LED_PIN, OUTPUT);       // Configure pin 13 to be a digital output.
}

void loop() {
    digitalWrite(LED_PIN, HIGH);    // Turn on the LED.
    delay(1000);                    // Wait 1 second (1000 milliseconds).
    digitalWrite(LED_PIN, LOW);     // Turn off the LED.
    delay(1000);                    // Wait 1 second.
}

Knihovny

Open source povaha projektu Arduino usnadnila vydávání mnoha bezplatných softwarových knihoven, které jiní vývojáři používají k rozšíření svých projektů.

Operační systémy / Vlákna

Pro atmega328p (Arduino Uno a další se stejným čipem) existuje port Xinu OS, který obsahuje většinu základních funkcí. Zdrojový kód této verze je volně dostupný.

Existuje také nástroj pro vytváření vláken, pojmenovaný Protothreads. Protothreads jsou popsány jako „... extrémně lehká stohovatelná vlákna navržená pro systémy s omezenou pamětí, jako jsou malé vestavěné systémy nebo uzly bezdrátových senzorových sítí. Protothreads poskytují lineární spouštění kódu pro systémy řízené událostmi implementované v C. Protothreads lze použít s nebo bez základního operačního systému. "

Protothreading využívá příkaz C switch () nejasným způsobem, který je podobný zařízení Duff . Následuje kosterní kód pro protothreads:

#include "pt.h"
 
struct pt pt;
struct timer timer;
 
PT_THREAD(example(struct pt *pt))
{
  PT_BEGIN(pt);
 
  while(1) {
    if(initiate_io()) {
      timer_start(&timer;);
      PT_WAIT_UNTIL(pt,
         io_completed() ||
         timer_expired(&timer;));
      read_data();
    }
  }
  PT_END(pt);
}

Aplikace

Uznání

Projekt Arduino získal na Prix ​​Ars Electronica 2006 čestné uznání v kategorii Digitální komunity .

Sada Arduino Engineering Kit získala v roce 2020 cenu Bett za „digitální služby pro vysokoškolské vzdělávání nebo další vzdělávání“.

Viz také

Poznámky

Reference

Další čtení

  • Zkoumání Arduina: Nástroje a techniky pro inženýrské kouzlo ; 2. vydání; Jeremy Blum; Wiley; 512 stran; 2019; ISBN  978-1119405375 .
  • Arduino pro figuríny ; 2. vydání; John Nussey; John Wiley & Sons; 400 stran; 2018; ISBN  978-1119489542 .
  • Programování Arduina Další kroky: Jít dále pomocí skic ; 2. vydání; Simon Monk; McGraw-Hill Education; 320 stran; 2018; ISBN  978-1260143249 .
  • Programování Arduina: Začínáme se skicami ; 2. vydání; Simon Monk; McGraw-Hill Education; 192 stran; 2016; ISBN  978-1259641633 .
  • Začátek C pro Arduino: Naučte se programování C pro Arduino ; 2. vydání; Jack Purdum; Stiskněte; 388 stran; 2015; ISBN  978-1484209417 .
  • Arduino: Stručný průvodce ; 2. vydání; Maik Schmidt; Pragmatická knihovna; Pragmatická knihovna; 323 stran; 2015; ISBN  978-1941222249 .
  • Značka: Začínáme s Arduino ; 3. vydání; Massimo Banzi, Michael Shiloh; Vytvořit komunitu; 262 stran; 2014; ISBN  978-1449363338 .
  • Značka: Senzory ; 1. vydání; Tero Karvinen, Kimmo Karvinen, Ville Valtokari; Vytvořit komunitu; 400 stran; 2014; ISBN  978-1449368104 .
  • Workshop Arduino: Praktický úvod se 65 projekty ; 1. vydání; John Boxall; Žádný škrobový lis; 392 stran; 2013; ISBN  978-1593274481 .

externí odkazy

Software
Historický