Kezdőlap > .NET, Microframework > Microframework – Netduino

Microframework – Netduino

2013. február 20. szerda Hozzászólás Go to comments

Az első bejegyzésem ebben a témában nem várt eredménnyel végződött. Ugyanis többen nézték, olvasták el mint az eddigi írásaimat. Ami 3 dolgot vethet fel bennem:

  • 1 xarul írok (jó ez esélyes – De legalább is helytelenül)
  • 2 A WP7-8 és a Windows 8 kevésbé érdekes mint a Microframework
  • 3 Ööööö Nem emlékszem, de amikor elkezdtem írni még 3 volt.

Szóval elkezdtem ezzel a témával alapszinten foglalkozni. Főleg fejlesztési oldalról közelítem meg ezt a témakört.

De térjek a témára. Elkezdtem nézegetni az Add References ablakot. Rögtön szembetűnik, hogy elég szegényes. Az alap dolgok persze itt vannak, System, System.IO stb. Persze ott vannak a HW használó assemblyk is. Ezek a Microsoft.SPOT kezdetűek. Ezenkívül persze ott vannak még azok az assemblyk amiket a gyártótól kapunk.

image

Ebben az írásban nem a GHI-s termékről lesz szó, hanem egy jóval olcsóbb kis eszközről, ez pedig nem más mint a netduino plus. Ez csak 40$ környékén van. Ez egyfajta építsd magad szintű eszköz. Az alaplap kerül 40$-ba és ha az ember akar hozzá kamerát, hangszórót, azt külön meg kell vennie és  rákötheti erre az eszközre. Persze itt is a kijelző az egyik legdrágább darab. Itt is elverheti az ember pénzét.

image

Chopper irt egy STM32F4DISCOVERY készülékről ami relative olcsó 4000 Ft. Ezt meg is rendeltem, ha megérkezik majd írok róla.

Szóval itt ez a kis lego, és hát itt már nem hello world-van hiszen kijelzője sincs. A változatosság kedvéért, hanem hello blink- van. Visual Studio-t elindítva, és egy új Microframeworkös consol alkalmazást elkészítve el is kezdhetjük a munkát. Adjuk hozzá a Neduino-s referenciákat az Add References menüpont alatt. Nincs túl sok, úgyhogy nem lehet eltéveszteni:

image

publicstaticvoid Main()
{
    Debug.Print(“Elindult az alkalmazást a Netduino-n”);
    OutputPort led = newOutputPort(Pins.ONBOARD_LED, false);
    for (int i = 0; i < 15; i++)
    {
        led.Write(true); //LED bekapcsolása
        Thread.Sleep(1000);
        led.Write(false); // LED Kikapcsolása
        Thread.Sleep(1000);
    }
    Debug.Print(“Leállt!”);
}

Szóval kezdjük az elején:

A Debug.Print metódussal tudunk a Visual Studio output windowjára írni. Nincs Debug.Write* WriteLine * WriteLineIf vagy épp Assert. Kb csak ennyi van, ezzel gazdálkodjunk. Hibakeresés szempontjából jól fog nagyon jönni, ezért is hagytam benne ezt a kódot. Amúgy van Breakpoint (mágyárul Brékpont), de nem mindig úgy viselkedik ahogy elvárnám. De van és ez a lényeg.

Mivel most egy Led-et szeretnék megszólítani, ehhez szükségem lesz egy OutputPort objektumra. Itt meghatározhatom, hogy melyik pin “voltage level”-jét (Mi ennek a szép magyar neve? – Volt szintje? Feszültség szint?) szeretném megváltoztatni. Az első paraméter az a pin amit módosítani szeretnék ebben az esetben az alaplapi LED. A második paraméterrel a kezdeti állapotot határozhatjuk meg, ami jelen esetben false. Azaz nem fog világítani a LED.

A következőekben egy for ciklusban (ami 15x ismétlődik) ki be kapcsolgatom a LED-et. Azért, hogy ne tünjön el azonnal egy Sleep-et is belerakok. És igen jól látjátok van Thread.Sleep és ugyanúgy működik mint bármelyik más .NET es környezetben. Igaz itt meg is áll a tudomány mert statikusan kb csak a Sleep meg egy GetDomain metódusa van. Van még egy CurrentThread tulajdonsága. A led Write metódusával tudjuk ki-be kapcsolni a LED-et.

image

Na de haladjunk picit tovább, és nézzük meg az input kezelést is. A Netduino ilyen téren nem sokat add, hiszen az alaplapon csak egy gomb van, az is a megszakításra. De mi most ezt szeretnénk felhasználni. Ehhez egy InputPort osztályra lesz szükségünk. Ezt példányosítva, meghatározhatjuk, hogy melyik Pint-t szeretnénk figyelni, ami jelen esetben az ONBOARD_SW1. A Pins- enumerációt a SecretLabs.NETMF.Hardware.NetduinoPlus névtér alatt találjuk. A glitchfiltert false-ra a ResistorMode-ot pedig Disabled-re állitsuk.

A végtelen while ciklusban az inputport példány Read metódusát hívjuk meg. Ennek visszatérési értéke egy boolean érték. Na most ennek az értéke érdekes. A régi firmwaren ez false, ha le van nyomva, true ha nincs, az újon pedig fordítva. Szóval nézze meg mindenki, hogy melyiket használja.

publicstaticvoid Main()
{
    Debug.Print(“Elindult az alkalmazást a Netduino-n”);
    OutputPort led = newOutputPort(Pins.ONBOARD_LED, false);
    InputPort button = newInputPort(Pins.ONBOARD_SW1, false, Port.ResistorMode.Disabled);
    bool buttonState = false;
    while (true)
    {
        buttonState = !button.Read();
        led.Write(buttonState);
    }
}

A lényeg, hogy boolean értékel tér vissza és ezt adjuk át a led Write metódusának.

Kategóriák:.NET, Microframework Címke: ,
  1. 2013. február 20. szerda - 09:38

    Tök jó kis kütyük ezek, nem lehet valahogy olcsóbban beszerezni egy kitet hobbi célra?

  2. TCsaba
    2013. február 20. szerda - 14:16

    Érdekes és azt hiszem időszerű probléma kör.Rengeteg felhasználási lehetőséggel. Én is irtam kis hardware-kre programokat annó ,a borzasztó munkaigény miatt hagytam abba.Várom a következő cikket !!!!!!!!!!!!!

  3. KBalázs
    2013. február 20. szerda - 18:28

    Én is várom a következő cikket. Csak így tovább.

  4. Jaskó László
    2013. február 21. csütörtök - 13:42

    Ez egy nagyon király cikk, látom nem csak engem érdekel a robotika! Lego mindstroms EV3-ra várok nagyon!

  5. korbai
    2013. február 21. csütörtök - 18:22

    Nekem meg van a régi sima Netduino, ez a Netduino Plus és az új Netduino Plus 2 is. Ha írnál róla szívesen kölcsönadom bármelyiket: korbai.zoltan kukac gmail.

  6. 2013. február 28. csütörtök - 22:18

    Nagyon jó, hogy elkezdtél ezzel foglalkozni. Engem is régóta érdekel ez a téma. A következő linket ajánlom mindenkinek: http://shop.microframework.eu
    Innen szoktunk rendelni, a Netdunio mellett a .NET Gadgeteer is igen klassz koncepció, hihetetlen sok “legóelem” van hozzá:
    http://shop.microframework.eu/Catalogue.aspx/gadgeteer
    Szóval várom a folytatást 🙂

  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: