Deska, která bude použita na workshopech, kde si budete moct vyrobit roboty pro Robotický den 2012, se jmenuje FEZ Panda II a vychází z rodiny desek Arduino, s kterou je kompatibilní na úrovni konektorů. Oproti deskám Arduino je deska FEZ Panda II osazena výrazně výkonnějším procesorem postaveným na architektuře ARM a dostatkem paměti. Technickou specifikaci najdete na stránkách výrobce GHI Elektronics.

Hello World aneb blikáme diodou

Pokud se učíte programovat, tak asi první, co jste v učebnici programování nalezli, byla 1000+1. obměna aplikace Hello World! Ve světě mikrokontrolérů se bliká svítící diodou (LED). FEZ Panda II obsahuje LED přímo na desce, kterou můžeme rozblikat. My si to trochu ztížíme a k desce si připojíme LED vlastní.

Příprava

Nejdříve si nainstalujte potřebný software, tak jak je popsáno v sekci System preparation. Po dokončení instalace GHI NETMF v4.1 and .NET Gadgeteer Package vám bude nabídnuta aktualizace firmware na vaší desce. Tu musíte udělat, jinak nebude aplikaci možné do desky nahrát. Verzi firmware si můžete ověřit nástrojem MFDeploy.exe, který se nainstaloval současně s Microsoft .NET Micro Framework 4.1 SDK.

image

Nástroj MFDeploy.exe

Aktualizaci firmware můžete také spustit později pomocí nástroje USBizi Updater.exe.

image

Připojujeme LED

Svítící diodu (LED) na pokusy koupíte v libovolném obchodě s elektronickými součástkami, např. GES nebo GME. K LED je třeba do série zapojit rezistor pro omezení proudu o velikosti přibližně 150 Ohmů při napájení 5 V. Pokud použijete větší, nic se nastane, jen bude LED svítit méně a konec konců to LED vydrží i bez rezistoru.

LED je třeba zapojit mezi zem a digitální pin, na kterém můžeme nastavit napětí. Zem je označena jako GND a na desce ji najdete na několika pinech. LED musíte směrem k zemi zapojit katodou, anoda se připojuje na kladný pól, v našem případě na digitální pin. Rozlišení anody a katody je závislé na výrobci LED. Většinou má anoda delší nožičku a katoda plošku na plášti LED.

image

Zdroj: Wikimedia Commons

image

Blikáme

Po instalaci všech potřebných SDK najdete v aplikaci Visual Studio 2010 nebo Visual C# Express 2010 nové šablony pro desky od GHI Elektronics. Tyto šablony obsahují potřebné reference.

image

V podstatě jediné co musíte udělat je, připojit si digitální pin a zapisovat na něj false (logická nula, 0 V) nebo true (logická 1, 5 V).

Varianta pro 1 LED:

public static void Main()
{
    bool ledState = false;

    // Zde nastavíme pin s připojenou LED
    // Použijeme digitální pin, na kterém můžeme nastavit O V nebo 5 V, tedy logickou 0 a 1, tedy false a true
    OutputPort led = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.Di0, ledState);

    while (true)
    {
        // Pockame 500 milisekund
        Thread.Sleep(500);

        // Zmení stav z logické O (bez napětí) na logickou 1 (napětí 5 V) na digitálním pinu
        ledState = !ledState;
        led.Write(ledState);
    }
}

A tady jich máme připojeno více:

public static void Main()
{
    bool ledState = false;

    // Zde nastavíme pin s připojenou LED
    // Použijeme digitální pin, na kterém můžeme nastavit O V nebo 5 V, tedy logickou 0 a 1, tedy false a true
    OutputPort led0 = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.Di0, ledState);
    OutputPort led1 = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.Di1, ledState);
    OutputPort led2 = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.Di2, ledState);

    while (true)
    {
        // Pockame 500 milisekund
        Thread.Sleep(500);

        // Zmení stav z logické O (bez napětí) na logickou 1 (napětí 5 V) na digitálním pinu
        ledState = !ledState;
        led0.Write(ledState);
        led1.Write(!ledState);
        led2.Write(ledState);
    }
}
Doprovodné video

Příště se podíváme na senzory.

Štěpán