MODKIT – Programovanie Arduina bez znalosti kódu

Modkit logoRozmýšlali ste niekedy, že načo je vlastne programovací jazyk? Nebolo by lepšie, ak by ste mohli zariadeniu zadávať priamo čo má robiť a on by to pre Vás prekladal do kódu? Práve s takouto myšlienkou prišli páni z MODKIT-u. K vytvoreniu funkčného kódu Vám stačí drag&drop systém modulov, ktoré su ľahko zrozumitelné. Projekt je momentálne vo fáze vývoja, presnejšie vo fáze “Alpha” ako uvádzajú na hlavnej stránke alebo “Beta” ako uvádzajú v samotnom editore :-) . Asi najlepším príkladom bude ukážka, o čo sa vlastne jedná.

Modkit prostredie

V menu na ľavej strane sú k dispozícii možné operácie, ktoré stačí pretiahnúť do akejsi stromovej štruktúry v pracovnej časti okna. Programovanie týmto spôsobom si môžete vyskúšať na tejto adrese http://www.modk.it/editor/preview/. Tvorcovia softwaru sľubujú plnú kompatibilitu s Arduinom, to znamená napríklad automatickú detekciu verzie dosky po pripojení. Na všetko si treba samozrejme ešte určitý čas počkať, kým sa projekt dostane do finálnej podoby.

Modkit má byť plne kompatibilný s arduinom

Arduino a 1-Wire protokol

1-wireNa dnes som si pripravil trochu teórie, predtým ako budú pribúdať zapojenia s použitím 1-Wire protokolu (one-wire). Vyvinula ho spoločnosť Dallas, ktorú vlastní firma Maxim. Protokol sa nazýva 1-wire, pretože na komunikáciu mu stačí iba jeden vodič. Typicky pracuje s napätím 2.8V až 6V a využíva CMOS/TTL logiku. Maximálne 0.8V pre logickú “nulu” a minimálne 2.2V pre logickú “jednotku”. Po 1-wire zbernici dokážeme komunikovať len v halfduplex móde, to znamená len vysielať, alebo príjmať v ten istý čas. Pri komunikácii musí byť aspoň jedno zariadenie Master (veliteľ). Každé 1-wire zariadenie má jedinečnú 64-bitovú adresu, ktorú využíva pri identifikácii na 1-wire zbernici. Skladá sa z 8-bitov identifikujúcich typ zariadenia, 48-bitového sériového čísla a nakoniec 8-bitové CRC. Štandardne sa využíva CAT5 kábel (sieťový) na zapájanie 1-wire senzorových sietí. Možnosť zapojenia využíva zvyčajne 3 piny – zem, napájanie a dáta. Ďalšia možnosť je použiť tzv. parazitné zapojenie, pri ktorom sa použijú len dva vodiče – zem a dátový vodič (vstup pre napájanie sa pripojí k zemi). Táto druhá možnosť má však mnoho nevýhod (napr. nižšia spoľahlivosť prenosu dát).

Najznámejšie 1-wire zariadenia:

  • DS18B20 / DS18S20 / DS1822 – Vysoko precízny teplomer schopný merať rozsah teplôt od -55°C do +125°C pri ±0.5°C
    ds18b20
  • iButton – Sú to aj u nás známe dotykové “kľúče”, ktoré používame na vstup do vchodov panelákov a budov. Momentálne je ich v obehu po celom svete až 175 miliónov.
    ibutton 1-wire
  • DS2405 / DS2406 – vstupno výstupné zariadenie ovládané cez 1-wire. Príklad aplikácie môže byť spínacie relé (zapínanie/vypínanie svetla), alebo detekcia zopnutého kontaktu (či je okno otvorené alebo zatvorené).

Nasleduje popis komunikácie na 1-wire zbernici, ktorý sa skladá z troch fáz. Komunikácia vždy začína RESET príkazom a trvá 480 mikrosekúnd.

  1. RESET signál / Synchronizácia [RESET SEQUENCE]
  2. Príkaz pre výber cieľového zariadenia [ROM CMD SEQUENCE]
  3. Špecifický príkaz pre cieľové zariadenie [FUNCTION SEQUENCE]

1-wire signalizácia

V ďalšej časti si už pripojíme dáke to one-wire zariadenie.

Schémy zapojenia a návrh plošných spojov – Fritzing

schema zapojenia LCD HD44780

Každý projekt je vhodné postupne dokumentovať, upravovať a zdokonaľovať, tak je tomu aj pri Arduine. Na začiatok môžeme použiť papier, ten nám však nebude postačovať na dlho. Dnes si predstavíme nástroj, ktorý nám neskutočne urýchli celý proces od prototypu až po hotový výrobok. Za nemecky znejúcim názvom programu sa skrýva univerzita a open-source komunita z Berlína. Musím uznať, že programov na kreslenie schém je veľa a väčšina bude stáť za starým dobrým EAGLEom. Napriek tomu je Fritzing na prvom mieste pri aplikáciách Arduina. Dôvodov je niekoľko:

  • Užívateľský príjemné prostredie
  • Začiatočníci v elektronike ho milujú
  • Preddefinované Arduino vývojové dosky a s tým súvisiace komponenty
  • Kompatibilita s rôznymi operačnými systémami (stiahnite tu)
  • Export plošného spoja jedným kliknutím do PDF so všetkými vrstvami

Fritzing PCB

Fritzing je momentálne vo verzii Beta a každým updatom pribúda kopa funkcií a vylepšení. V najnovšej verzii si priamo z hlavného menu môžete dokonca svoj prototyp plošného spoja objednať “File” -> “Order a PCB”. Ďalšou možnosťou je export návrhu plošného spoja do PDF. Program vyexportuje do nami zvoleného priečinku päť samostatných súborov, v každom sa nachádza jedna vrstva kompletného plošného spoja. Potom je už len na Vás, či si plošný spoj vyrobíte doma, alebo pošlete firme, ktorá ho podľa podkladov vyrobí.

plošný spoj

Pre návrh plošného spoja je k dispozícii aj funkcia “autoroute”, ktorá v podstate urobí všetku robotu za nás. Dôležité je len, aby sme mali schému správne navrhnutú v “Schematic” tabe.

Fritzing schéma

Celkovo je Fritzing výborný nástroj pre začiatočníkov a takisto pokročilých elektrotechnikov, ktorý potrebujú venovať čas vývoju a nie úlohám, ktoré zvládne software za nás. Nezabúdajme, že vývoj programu stále pokračuje, takže môžeme očakávať neustále vylepšenia.

Začíname s Arduinom

Na začiatok si predstavíme plošný spoj asi najrozšírenejšej verzie Arduina, volá sa Diecimila. Na obrázku sú už popísané všetky komponenty, takže len v skratke. Nachádza sa tam samotný mikroprocesor ATMEL ATmega168, ktorý má 16Kb pamäte, zopár LEDiek zobrazujúcich aktivitu a samozrejme vstupy/výstupy.

Arduino Diecimila Komponenty

Úspešne sme si zakúpili svoje prvé Arduino a k tomu, aby sme mu dali život ho potrebujeme naprogramovať. Čo budeme potrebovať:

  • samotné Arduino (Diecimila, Nano, atď.)
  • USB kábel
  • Obslužný program

Program “Arduino 1.0″ si môžte stiahnuť z uvedených linkov:

Arduino 1.0

V menu programu bude ako prvé potrebné vybrať vašu verziu Arduina (Tools -> Board). Po tomto kroku si možme otvoriť vzorový kód pre blikajúcu LEDku (File -> Examples -> 1.Basics -> Blink). Klikneme na upload a na Arduine sa rozbliká LEDka. Toľko na úvod a možme ísť na niečo zložitejšie.