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

Zopár chybových hlásení a ako ich opraviť

Najčastejšie chyby s ktorými sa môžte stretnúť pri prechode zo starších verzií Arduino Softwaru na najnovšiu “Arduino 1.0″. (Postupne budem dopĺňať)

call of overloaded ‘write(int) is ambigous

Serial.print(00, BYTE);

nahradíme za:

Serial.write((byte)0x0);

WConstants.h: No such file or directory

#include <WProgram.h>

nahradíme za:

#include <Arduino.h>

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.