Hrajete si někdo s Picaxe?
Zdrávi buďte,
nedávno jsem objevil krásnou hračku, mikrokontrolér zvaný Picaxe. Mám zatím ten nejjednodušší, osminožičkový. Je skvělé, jakým v podstatě primitivním skoroBasicem se to dá programovat. Hrajete si s tím taky někdo?
Ne, radši Arduino.
To mám taky
Doporučuji i tyhle stránky:
http://mcu.cz/startpage.php
http://www.ebastlirna.cz/
http://list.hw.cz/pipermail/hw-list/
http://www.picaxe.cz/casopis-robot-revue-na-cd/
Před lety začal vycházet časopis Robot revue, tam toho taky bylo dost, měl i své stránky, ale vydavatelé to neustáli a přestali, už ani ty stránky nejsou dostupné (byla tam diskuse).
Co už jsi udělal?
Zatím samosebou vůbec nic, bo jsem zapomněl koupit převodník USB-Serial, ale to se vstřebá, dokumentace mám dost; dík za odkazy, něco znám, něco ne, mrknu se.
Já jsem si kdysi hrál s UCB PIC, programovalo se to přes paralelní port v nějakém očesaném BASICu
a u nás to prodávala firma MiTe.
Jako nevýhodu jsem viděl, že tehdy nebyly k mání podobné modulky co by se tam daly jednoduše připojit a komunikovaly s okolím, potřeboval jsem dva AD převodníky jako vstupy a dvě relátka jako výstupy, to jsem si musel dobastlit.
Něco jsem si vyzkoušel, fungovalo to s určitými výhradami, pak jsem si nechal koupit UCB PIC 2 co ty výhrady měl odstranit, ale už jsem se k tomu nedostal, vývoj pro který jsem to zamýšlel použít šel jinudy.
Tady si s PICAXE hraje spousta lidí: http://forum.robodoupe.cz/viewforum.php?f=14
Dneska v podstatě jakýkoli mikrokontroler lze programovat v jakémikoli jazyku. Musí na něj existovat interpreter. Atmely se dají programovat v C, C++, C# Basicu, samozřejmě v Asembleru ale viděl jsem už i Javu.
Osobně používám MikroPascal pro PIC, dají se stím programovat prakticky libovolné PICy. Existuje taky mikroBasic, mikroC... umí to i Atmely a další. A osekaná verze je zdarma.
Je to univerzálnější.
Jo, mikroElektronika má bohaté portfolio a ceny jsou velice dobré (249$ při koupi libovolné vývojové desky společně s prostředím, jinak 299$), sám mám mikroC pro PICy a pro ARM. Co každého bastlíře zaujme je široká nabídka tzv "Click boards":
http://www.mikroe.com/click/
Dá se tam dohledat spousta zapojení s různými senzory i se zdrojovými kódy.
Samotné prostředí je příjemné na použití, opět spousta již předpřipravených knihoven, pro začátek to určitě stačí. Vadí mi, že u velkých projektů se stává, že prostředí občas spadne. Proto u některých projektů radši volím Keil MDK-ARM, to je "jistota". Potom ještě doporučuji ne úplně spoléhat na dodané knihovny. Pokud bych mluvil konkrétně, doporučuji pro ostré projekty někde nasazené nepoužívat I2C knihovnu v mikroC, ale napsat si vlastní s timeoutem. V případě, že slave nepošle ACK, skončí program v nekonečném cyklu (čeká právě na ten ACK). Několikrát jsem si o tom s mE vývojáři psal, aby tam podobně jako drtivá většina ostatních knihoven přidali alespoň volitelně timeout, odmítli to z tohoto důvodu: "If the slave device does not ACK, it does not correspond with the I2C specification.". Ale v reálu slave ten ACK opravdu jednou z x desítek tisíc spojení nepošle (ESD event, výkyv napájení atp.)
Ale jinak je to na tvorbu věcí super .
Mně taky občas vadí, že kód vygenerovaný kompilátorem je výrazně větší než když to člověk píše v čistém assembleru, takže do povětšinou malé paměti těch levných obvodů se komplexní program nemusí podařit nacpat. I když je pravdou, že to se mi stalo zatím jen dvakrát, následně stačilo jem vyměnit PIC 16F84 za 16F88, upravit config bity a bylo. :)
Horší je, že na nějaké počítání mikrosekund se to taky moc použít nedá a je potřeba včlenit čistý assembler, na který je spoleh co se délky trvání instrukcí týče.
Máš povoleny optimalizace v nastavení? Tools - Option - Output - zaškrnuto SSA optimization a Optimization level 4 nebo 5. Delší než assembler to ale asi bude vždy, už z principu univerzálnosti všech knihoven v mikroC. Počítání mikrosekund jsem netestoval, obvykle tomu kvůli spotřebě věnuju nějaký Timer a v mezidobí dám mikrokontroler do sleepu.
Srovnání Keil <-> mikroC je ale hodně zajímavé. Keil má u ARM u podobných projektů tak poloviční až třetinovou výslednou velikost kódu. Asi je to ale taky dáno tím, že pro Keil si všechny knihovny píšu sám, zvlášť u life support aplikací, tam se nemůžu spolehnout na knihovny ve formě "blackboxu", kde je k dispozici jen binárka bez zdrojáků, jako v mikroC.
Já si hraju v rámci školy s kitem, kde je programovatelné hradlové pole (FPGA - nějaký Spartan 3 od Xilinxu) a mikroprocesor MSP430F2617. K FPGA je softwarový balík od Xilinxu s velkým množstvím nástrojů a pro MCU stačí zdroják v C a přeložit pomocí FCMake a MSP-GCC.
http://merlin.fit.vutbr.cz/FITkit/uvod.html
Udělal jsem na tom zatím dva větší projekty. První takový ořezaný přehrávač SID skladeb (hlavní činnost v FPGA) a zrovna jsem dokončil otáčkoměr (tady naopak skoro všechno řídí MCU).