Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Arduino: vývojový kit pro hrátky s hardware

Vývojový kit Arduino se stává stále používanějším, a to nejen pro hrátky s hardwarem a jednočipy, ale i pro poloprodukční malosériovou výrobu nejrůznějších zařízení. K jeho popularitě jistě nemalou měrou přispěl fakt, že jeho zapojení i software je k volnému použití pod open-source licencí.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

V posledních letech se Arduino stalo víceméně standardem pro malé vývojové kity s jednočipy. Přispělo k tomu několik faktorů:

Arduino je open-source

Ačkoli se s pojmem open-source setkáváme mnohem častěji ve světě software, pronikl i do světa hardware. V HW označuje, analogicky, takové zařízení, k němuž dal jeho autor k dispozici podrobné schéma zapojení a další podobnou dokumentaci, a především dal výslovné svolení s tím, že takové zařízení smí kdokoli stavět, vylepšovat či rozšiřovat. V případě Arduina je to konkrétně licence Creative Commons Attribution Share-Alike 2.5, a tento krok vedl ke vzniku velkého množství klonů a doplňků.

Ärduino Extreme

Klony

Původní Arduino vzniklo v roce 2005 v Itálii ve firmě SmartProjects. Tato firma vyvinula rovněž pohodlné vývojové prostředí (je napsané v Javě a je samosebou k dispozici včetně zdrojových kódů). Firma vyvinula několik dalších modelů, o nichž si povíme za chvíli. Projekt Arduino získal ocenění v kategorii digitálních komunit na Prix Ars Electronica 2006

K tomuto projektu vzniklo několik různých klonů, z nichž nejznámější je FreeDuino (SmartProjects jsou držitelé ochranné známky Arduino, takže jiní výrobci nesmějí používat toto pojmenování). Tyto klony jsou většinou označeny jako „Arduino-kompatibilní“, což v praxi znamená, že obsahují nějaké drobné vylepšení, ale lze je programovat pomocí výše zmíněného vývojového prostředí a lze k nim (většinou) připojovat stejné periferie (pokud dodržují kompatibilní rozmístění konektorů a signálů na nich). Dalšími klony jsou např. Bare Bones Boards (zmenšená deska, ale obvodově kompatibilní), Seeduino (verze postavená na SMD součástkách), Boarduino (verze určená pro nepájivá kontaktní pole).

Periferie

Ve světě Arduina se periferie nazývají štíty (shields). Jsou to desky s podobnými rozměry jako Arduino a s identickým rozložením konektorů. Takové desky lze „nasadit“ na desku s Arduinem. Většinou jsou konektory průchozí, takže desek lze na sebe naskládat víc (pokud nejsou v konfliktu jejich signály, samosebou). Pomocí přídavných periferních desek můžeme k Arduinu připojit téměř cokoli – od snímačů či relé pro řízení reálných strojů přes nejrůznější demo kity či periferie jako jsou např. paměťové karty až po desky s Ethernetovým rozhraním.

Arduino with Shield

Na obrázku je vidět právě takové spojení, kdy je na spodním Arduinu (připojeno přes USB k PC) nasazen Ethernet shield.

Hardware

Pojďme si říct něco víc o hardware Arduina. Srdcem Arduina je jednočip (správněji „mikrokontrolér“ nebo starším výrazem „jednočipový mikropočítač“, ale v článku bych se podržel méně oficiálního, zato srozumitelného označení jednočip) z rodiny ATmega. Výrobcem těchto čipů je norská firma Atmel. Jednočipy ATmega patří do rodiny jednočipů s architekturou AVR, což jsou osmibitové procesory typu RISC s harvardskou architekturou (tj. má oddělený paměťový prostor pro program a pro data). Jednotlivé použité typy (ATmega8, ATmega168, ATmega328) se liší především velikostí vnitřní paměti RAM a vnitřní paměti FLASH (zájemce o podrobnosti odkazuju na porovnání procesorů na stránkách výrobce).

Každý jednočip obsahuje kromě CPU i některé periferie – několik časovačů, sériové a paralelní porty, A/D převodníky pro zjišťování analogových hodnot atd. Na desce Arduino je kromě jednočipu i několik dalších obvodů – především to jsou stabilizátory napájecího napětí a obvody, které zajišťují komunikaci s PC (u starších modelů sériový port RS-232, u novějších USB).

V poslední době se objevují i klony, založené na jiných procesorech, např. Microchip PIC, které nejsou, pochopitelně, kompatibilní softwarově, ale mívají stejné zapojení konektorů, takže k nim lze připojit i originální shieldy pro Arduino.

Software

Programy pro Arduino lze psát samosebou stejně jako pro jakoukoli jinou desku s procesorem AVR, tedy v nástrojích pro tento procesor určených. Autoři Arduina však nechtěli zatěžovat zájemce o psaní software assemblerem nebo jazykem C, proto zvolili trochu jinou cestu.

Pro Arduino lze vyvíjet v jazyce zvaném Arduino Programmable Language. Tento jazyk je založen na jazyce Wiring, což je jazyk vzniklý z C, odrážející specifické požadavky na vývoj software pro jednočipová zařízení. Dá se říci, že se jedná o „zjednodušené céčko“, kterému se naučí i člověk, který nemá k programování tak blízko.

Arduino IDE

Programy samosebou nevznikají ve vzduchoprázdnu. K jejich vytváření slouží výše zmíněné vývojové prostředí. To je pro změnu založené na (opět otevřeném) projektu Processing, což je nástroj, který je používán pro vizualizaci, animaci a řízení hardware přímo z prostředí osobního počítače.

Na rozdíl od spousty jiných kitů a vývojových prostředí je prostředí pro Arduino plně otevřené a není s ním problém ani v Linuxu. Instalaci popisuje přímo stránka Arduino on Linux.

Přehled verzí

Arduina jsou obecně velmi levná, jejich cena se pohybuje okolo padesáti dolarů, v závislosti na výrobci, dovozci a modelu. V České republice nabízí Arduina zatím jen e-shop Czechduino.cz, bohužel už nenabízí nic víc než v zásadě holé Arduino (jeden ze zákazníků mi říkal: „Škoda, že mi k tomu nedali třeba krabičku s pár LEDkami, dráty a tlačítky, abych si s tím mohl něco zkusit, takový Starter Pack, za to bych rád i zaplatil“). Jinak lze koupit Arduina od výrobce, na desítkách zahraničních e-shopů, na eBay, …

Když už koupit Arduino, tak jaké? Výrobce vyvinul tyto modely (starší už nenabízí):

  • Serial Arduino: RS232, ATmega8
  • Arduino Extreme: USB, ATmega8)
  • Arduino Mini (miniaturní verze Arduina s procesorem ATmega168)
  • Arduino NG: USB, ATmega8
  • Arduino NG plus: USB, ATmega168
  • Arduino BT: Bluetooth(!), ATmega8
  • Arduino Diecimila: USB, ATmega168
  • Arduino Duemilanove („verze 2009“): USB, ATmega168, u novějších ATmeha328
  • Arduino Mega: nejnovější verze s procesorem ATMega1280 (SMD)

Pokud se rozhodnete sáhnout po některém z klonů, zkuste se poohlédnout nejprve na stránkách FreeDuino. V zásadě se jednotlivé verze od sebe liší v drobnostech (např. napájení z USB) a nejzásadnější rozdíl je ve velikosti volné paměti.

Lilypad Arduino

Schopnější a zdatnější čtenáři mohou sáhnout i po stavebnicích, které nabízejí mnozí výrobci, tedy hotová deska a sada součástek. Ti nejzdatnější mohou bez obav stáhnout připravené masky, vyrobit si své vlastní plošné spoje, osadit je součástkami a naprogramovat…

Závěr

Arduino je ideální zařízení pro hračičky a kutily, kteří si chtějí zkusit něco s jednoduchým hardwarem. Je taky perfektní pro „prototyping“, pro návrh HW zařízení, no a v neposlední řadě umožňuje vytváření reálných internetových věcí. S trochou snahy není problém připojit Arduino k internetu a nechat ho např. twittovat (nebo psát blog…) Přinejhorším z něj můžete vždy udělat kancelářské počítadlo WTF stavů.

Odkazy:

Martin Malý

Martin Malý

Martin Malý je autorem serveru Bloguje, mikroblogu Teidu či služby pro zkracování odkazů Jdem.cz. V současné době vede magazín Zdroják.

Školení: TCP/IP síť na Linuxu II

V tomto školení prohloubíte svoji znalost síťování na Linuxu a vyzkoušíte si pokročilejší techniky. Školení je určené mimojiné i pro správce poskytovatelských sítí.

  • Průřez technologiemi TCP/IP 
  • Stavba testovací sítě
  • Dynamický routing: OSPFv2 a OSPFv3
  • Bridging, proxy ARP, proxy NDP
  • Různé metody překladu adres
  • NAT traversal v praxi
  • Přepis paketů
  • Tunelování a VPN
  • Troubleshooting, situace z praxe

Podrobnější informace a přihláška 

Ohodnoťte jako ve škole:
Průměrná známka 2,45

Přehled názorů

Re: Arduino: vývojový kit pro hrátky s hardware
jc 30. 9. 2009 06:20
Nový
└ 
Re: Arduino: vývojový kit pro hrátky s hardware
AVR developer 30. 9. 2009 08:17
Nový
 
├ 
Re: Arduino: vývojový kit pro hrátky s hardware
jc 30. 9. 2009 08:37
Nový
 
│
└ 
Re: Arduino: vývojový kit pro hrátky s hardware
mhi 30. 9. 2009 09:21
Nový
 
│
 
├ 
Re: Arduino: vývojový kit pro hrátky s hardware
jc 30. 9. 2009 09:35
Nový
 
│
 
│
└ 
Re: Arduino: vývojový kit pro hrátky s hardware
multi 30. 9. 2009 15:37
Nový
 
│
 
└ 
Re: Arduino: vývojový kit pro hrátky s hardware
AVR developer 30. 9. 2009 10:06
Nový
 
│
 
 
├ 
Re: Arduino: vývojový kit pro hrátky s hardware
jc 30. 9. 2009 11:50
Nový
 
│
 
 
└ 
Re: Arduino: vývojový kit pro hrátky s hardware
Mard 1. 10. 2009 11:28
Nový
 
│
 
 
 
└ 
Re: Arduino: vývojový kit pro hrátky s hardware
AVR developer 1. 10. 2009 16:14
Nový
 
│
 
 
 
 
└ 
Re: Arduino: vývojový kit pro hrátky s hardware
Mard 2. 10. 2009 14:42
Nový
 
├ 
Re: Arduino: vývojový kit pro hrátky s hardware
psx 30. 9. 2009 10:17
Nový
 
└ 
Re: Arduino: vývojový kit pro hrátky s hardware
miREC 29. 10. 2009 18:05
Nový
arduino je velmi zajímavá věc
mofo 30. 9. 2009 09:15
Nový
└ 
Re: arduino je velmi zajímavá věc
D.A. Tiger 2. 10. 2009 17:10
Nový
V cem je to navrzeny?
Clock 30. 9. 2009 09:21
Nový
└ 
Re: V cem je to navrzeny?
lifo 30. 9. 2009 09:43
Nový
 
└ 
Re: V cem je to navrzeny?
Clock 30. 9. 2009 10:41
Nový
 
 
├ 
Re: V cem je to navrzeny?
džidžir 30. 9. 2009 11:06
Nový
 
 
│
└ 
Re: V cem je to navrzeny?
Clock 30. 9. 2009 12:07
Nový
 
 
└ 
Re: V cem je to navrzeny?
Biktop 30. 9. 2009 12:59
Nový
 
 
 
└ 
Re: V cem je to navrzeny?
Clock 30. 9. 2009 17:07
Nový
 
 
 
 
├ 
Re: V cem je to navrzeny?
Biktop 30. 9. 2009 17:56
Nový
 
 
 
 
│
└ 
Re: V cem je to navrzeny?
jc 30. 9. 2009 18:17
Nový
 
 
 
 
├ 
Re: V cem je to navrzeny?
klusacek 30. 9. 2009 18:29
Nový
 
 
 
 
│
├ 
Re: V cem je to navrzeny?
Bubuss 30. 9. 2009 22:01
Nový
 
 
 
 
│
│
├ 
SMD_
Franta Kučera 1. 10. 2009 00:06
Nový
 
 
 
 
│
│
│
├ 
Re: SMD_
Bubuss 1. 10. 2009 00:23
Nový
 
 
 
 
│
│
│
└ 
Re: SMD_
Clock 1. 10. 2009 08:04
Nový
 
 
 
 
│
│
│
 
└ 
Re: SMD_
Franta Kučera 1. 10. 2009 09:25
Nový
 
 
 
 
│
│
│
 
 
├ 
Re: SMD_
Michal Ludvig 1. 10. 2009 10:21
Nový
 
 
 
 
│
│
│
 
 
│
└ 
Re: SMD
Michal Ludvig 1. 10. 2009 10:27
Nový
 
 
 
 
│
│
│
 
 
├ 
Re: SMD_
Clock 1. 10. 2009 12:56
Nový
 
 
 
 
│
│
│
 
 
└ 
Re: SMD_
petko 1. 10. 2009 14:44
Nový
 
 
 
 
│
│
├ 
Re: V cem je to navrzeny?
Clock 1. 10. 2009 07:57
Nový
 
 
 
 
│
│
├ 
Re: V cem je to navrzeny?
Mard to Bubuss 1. 10. 2009 11:33
Nový
 
 
 
 
│
│
│
└ 
Re: V cem je to navrzeny?
Bubuss 1. 10. 2009 17:39
Nový
 
 
 
 
│
│
└ 
Re: V cem je to navrzeny?
Stanislav Brabec 5. 10. 2009 19:21
Nový
 
 
 
 
│
└ 
Re: V cem je to navrzeny?
Biktop 1. 10. 2009 09:38
Nový
 
 
 
 
│
 
└ 
Re: V cem je to navrzeny?
matesik 9. 12. 2010 10:40
Nový
 
 
 
 
└ 
Re: V cem je to navrzeny?
Asterixx 1. 10. 2009 16:24
Nový
Speciální rubrika
Biktop 30. 9. 2009 10:35
Nový
naprostá zbytečnost
xurfa 30. 9. 2009 11:50
Nový
├ 
Re: naprostá zbytečnost
Clock 30. 9. 2009 12:09
Nový
│
└ 
Re: naprostá zbytečnost
alik 30. 9. 2009 14:37
Nový
└ 
Re: naprostá zbytečnost
Bystroushaak 30. 9. 2009 17:02
Nový
 
├ 
Re: naprostá zbytečnost
Biktop 30. 9. 2009 17:59
Nový
 
└ 
Re: naprostá zbytečnost
starej Zilvar 30. 9. 2009 19:26
Nový
 
 
└ 
Re: naprostá zbytečnost
Bystroushaak 30. 9. 2009 20:19
Nový
 
 
 
├ 
Re: naprostá zbytečnost
Clock 1. 10. 2009 08:07
Nový
 
 
 
├ 
Re: naprostá zbytečnost
Biktop 1. 10. 2009 09:26
Nový
 
 
 
│
└ 
Re: naprostá zbytečnost
Bytroushaak 1. 10. 2009 11:43
Nový
 
 
 
└ 
Re: naprostá zbytečnost
Stanislav Brabec 5. 10. 2009 20:19
Nový
Arduino na Slovensku
garfield 30. 9. 2009 12:20
Nový
Arduino v CZ
Matlas 30. 9. 2009 16:02
Nový
└ 
Re: Arduino v CZ
h21 1. 10. 2009 10:09
Nový
datum a cas
dylina 30. 9. 2009 22:25
Nový
├ 
Re: datum a cas
Adam Hořčica 30. 9. 2009 23:27
Nový
│
└ 
Re: datum a cas
Mard 1. 10. 2009 12:30
Nový
└ 
Re: datum a cas
Michal Ludvig 30. 9. 2009 23:30
Nový
Arduino se da poskodit nahranym kodem
Harvie .cz 30. 9. 2009 23:12
Nový
└ 
Re: Arduino se da poskodit nahranym kodem
Michal Ludvig 1. 10. 2009 09:24
Nový
 
└ 
Re: Arduino se da poskodit nahranym kodem
LuciusMare 4. 12. 2009 18:36
Nový
Arduino v CZ
Adam Hořčica 30. 9. 2009 23:19
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem