cs:labduino
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Předchozí verze | |||
| — | cs:labduino [2023/12/21 16:43] (aktuální) – [LABduino MightyCore] kaklik | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| + | ====== Klon Arduina postavený z MLABu - LABduino ====== | ||
| + | Protože Arduino není nic jiného, než mikrokontroler AVR případně ARM s nahraným specifickým bootloaderem, | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Můžeme tak vytvořit s Arduinem plně elektricky a pragramově kompatibilní zařízení postavené z modulů MLAB. Lze jej programovat v prostředích určených pro Arduino a využívajících jazyk [[http:// | ||
| + | |||
| + | ===== Programovací nástroje ===== | ||
| + | |||
| + | Programy pro Arduino jsou obvykle psané v jednoduchém jazyku [[https:// | ||
| + | |||
| + | ==== Arduino IDE ==== | ||
| + | |||
| + | Konstrukci s LABduinem, lze programovat klasickym nastrojem [[http:// | ||
| + | |||
| + | sudo apt-get install arduino | ||
| + | ==== Wiring ==== | ||
| + | |||
| + | Wiring je otevřenější nástroj pro práci s Arduinem/ | ||
| + | Je taktéž [[http:// | ||
| + | |||
| + | Od listopadu 2012 je v poslední vývojové verzi Wiringu na githubu LABduino přímo podporováno. | ||
| + | |||
| + | === Instalace Wiringu v Ubuntu === | ||
| + | |||
| + | Pod Ubuntu 14.04 a ve vyšších verzích lze Wiring snadno přeložit ze zdrojového kódu přímo v příkazové řádce. Nejprve nainstalujeme potřebné nástroje: | ||
| + | |||
| + | sudo apt-get install ant git default-jdk librxtx-java | ||
| + | |||
| + | V nových verzích processingu není plně podporována OpenJAVA. | ||
| + | |||
| + | sudo add-apt-repository ppa: | ||
| + | sudo apt-get update | ||
| + | sudo apt-get install oracle-java7-installer | ||
| + | | ||
| + | Následně stáhneme nejnovější verzi Wiringu přímo z GitHubu. | ||
| + | | ||
| + | git clone git:// | ||
| + | | ||
| + | Přepneme se do složky se staženými soubory | ||
| + | | ||
| + | cd Wiring | ||
| + | |||
| + | Spustíme vývojové prostředí. | ||
| + | |||
| + | ant | ||
| + | | ||
| + | A spustíme Wiring IDE | ||
| + | |||
| + | ant run | ||
| + | |||
| + | ===== LABduino Duemilanove ===== | ||
| + | |||
| + | Tato realizace arduina je stejná jako Arduino Duemilanove, | ||
| + | |||
| + | Klasicky se LABduino skládá ze dvou modulů [[cs: | ||
| + | Napájení modulu ATmegaTQ3201A je obvykle řešeno přímo z USB (připojením napájecího kablíku). | ||
| + | |||
| + | {{: | ||
| + | |||
| + | V této konfiguraci tedy hardwarově odpovídá Arduinu Duemilanove s ATmega328. Na rozdíl od nových verzí Arduina však pro komunikaci s USB nepoužívá ATmega s firmwarem emulujícím sériovou linku, ale převodník [[http:// | ||
| + | |||
| + | ==== Nahrani bootloaderu ==== | ||
| + | |||
| + | Vybraný firmware lze nahrát do mikroprocesoru programátorem | ||
| + | |||
| + | === Linux === | ||
| + | |||
| + | Instalace avrdude | ||
| + | sudo apt-get install avrdude | ||
| + | |||
| + | Nahrávací skript spustíme například následovně: | ||
| + | sudo ./flash.sh / | ||
| + | |||
| + | |||
| + | Správný výstup po zapsání firmware do MCU vypadá takto: | ||
| + | |||
| + | avrdude: erasing chip | ||
| + | avrdude: reading input file " | ||
| + | avrdude: input file ATmegaBOOT_168_atmega328.hex auto detected as Intel Hex | ||
| + | avrdude: writing flash (32670 bytes): | ||
| + | | ||
| + | Writing | ################################################## | ||
| + | | ||
| + | avrdude: 32670 bytes of flash written | ||
| + | avrdude: verifying flash memory against ATmegaBOOT_168_atmega328.hex: | ||
| + | avrdude: load data flash data from input file ATmegaBOOT_168_atmega328.hex: | ||
| + | avrdude: input file ATmegaBOOT_168_atmega328.hex auto detected as Intel Hex | ||
| + | avrdude: input file ATmegaBOOT_168_atmega328.hex contains 32670 bytes | ||
| + | avrdude: reading on-chip flash data: | ||
| + | | ||
| + | Reading | ################################################## | ||
| + | | ||
| + | avrdude: verifying ... | ||
| + | avrdude: 32670 bytes of flash verified | ||
| + | | ||
| + | avrdude: safemode: Fuses OK | ||
| + | | ||
| + | avrdude done. Thank you. | ||
| + | | ||
| + | K fungování skriptu je potřeba mít nainstalovanou správnou verzi programu avrdude. Podrobnosti viz [[cs: | ||
| + | |||
| + | === Windows === | ||
| + | |||
| + | Příklad pro modul ATmegaTQ3201A s procesorem ATmega328P a 16MHz krystalem | ||
| + | - Bootloader je umístěn v [[https:// | ||
| + | - K nahrání do procesoru je možné využít program [[http:// | ||
| + | - Návod [[http:// | ||
| + | - [[ http:// | ||
| + | - Nahrání bootloaderu se provede v operačním systému Windows programem AVRdude přes příkazový řádek. | ||
| + | - Nejprve je dobré zjistit, že se AVRdude nainstaloval dobře. Stačí v příkazové řádce napsat avrdude a stisknout enter. Na obrazovce se zobrazí options. | ||
| + | - K nahrání je potřeba modul ATprogISPUSB02A propojit s modulem ATmegTQ3201A (napájení a ISP kabel). | ||
| + | - Nejprve se musí nastavit pojistky procesoru. V příkazové je potřeba zadat tento příkaz: | ||
| + | - '' | ||
| + | - Na místo COM17 je potřeba doplnit aktuální port v daném počítači. Možno dohledat ve správci zařízení ve WIN. | ||
| + | - Druhým příkazem je potřeba nahrát ATmegaBOOT_168_atmega328.hex | ||
| + | - '' | ||
| + | - Příkaz je potřeba zadávat v příkazové řádce ve složce, kde je ATmegaBOOT_168_atmega328.hex uložen. | ||
| + | - Následně by se měl bootloader nahrát do procesoru a proběhne kontrola zápisu. | ||
| + | - Nyní stačí modul ATmegaTQ3201A propojit s modulem USB232R01B a je LABduino připraveno. | ||
| + | |||
| + | === Připojení na USB === | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | |||
| + | ===== Arduino porty na LABduinu ===== | ||
| + | |||
| + | ^Arduino ^ATmega8DIL01A ^Note ^ | ||
| + | |D0 |RXD |PD0, if you disconnect USB232R01B| | ||
| + | |D1 |TXD |PD1, if you disconnect USB232R01B| | ||
| + | |D2 |PD2| Digital I/Os.| | ||
| + | |D3/PWM |PD3|:::| | ||
| + | |D4 |PD4|:::| | ||
| + | |D5/PWM |PD5|:::| | ||
| + | |D6/PWM |PD6|:::| | ||
| + | |D7 |PD7|:::| | ||
| + | |D8 |PB0|:::| | ||
| + | |D9/PWM |PB1|:::| | ||
| + | |D10/PWM |PB2|:::| | ||
| + | |D11/PWM |PB3|:::| | ||
| + | |D12 |PB4|:::| | ||
| + | |D13 |PB5|:::| | ||
| + | |A0 |PC0 |Analog inputs.| | ||
| + | |A1 |PC1 |:::| | ||
| + | |A2 |PC2 |:::| | ||
| + | |A3 |PC3 |:::| | ||
| + | |A4 |PC4 |:::| | ||
| + | |A5 |PC5 |:::| | ||
| + | |||
| + | |||
| + | ===== LABduino MightyCore ===== | ||
| + | Realizace s procesorem ATmega1284P. [[https:// | ||
| + | |||
| + | Nastavení pojistek: | ||
| + | |||
| + | '' | ||
| + | ====== Příklad zapojení LABduino a LCD ====== | ||
| + | |||
| + | Jednoduchý příklad zapojení modulů [[cs: | ||
| + | |||
| + | === Propojení modulů === | ||
| + | |||
| + | == Napájení == | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | == LCD display == | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | == Pípák == | ||
| + | |||
| + | '' | ||
| + | |||
| + | == Tlačítka == | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | == Interface to PC == | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | === Program === | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | ===== Dalsi příklady použití ===== | ||
| + | |||
| + | * [[cs: | ||
| + | * [[cs: | ||
| + | * [[cs:aws]] - Vyčítání meteorologických čidel s binárními nebo analogovými výstupy. | ||
| + | |||
| + | ===== Labduino - Mega 2560 ===== | ||
| + | |||
| + | Tato varianta Arduina využívá mikrokontroler [[http:// | ||
| + | |||
| + | ==== Příklady použití ==== | ||
| + | |||
| + | * [[cs: | ||
| + | |||
| + | |||
| + | ===== Reference ===== | ||
| + | |||
| + | * [[http:// | ||
