Ich möchte euch heute das Netduino vorstellen, was zugleich eine eigene Kategorie erhält, da ich vorhabe in Zukunft mehr Artikel zu diesem Thema zu schreiben.

Was ist ein Netduino und warum hat das Gerät so einen Lustigen Namen :w00t: ?

Das Netduino ist ein Open-Source Mikrocontrollerboard welches über das .NET Micro Framework programmiert werden kann. So ein ähnlich Projekt gibt es für die C Programmierer schon länger unter dem Namen Arduino. Hier sind aber einige Einschränkungen in Programmieren und Debuggen.

 

Das .NET Micro Framework ist ein Abkömmling des .NET Frameworks für Embedded Systeme. Kurz gesagt hat man eingeschränktere Funktionen in .NET bzw. zusätzliche Funktionen um Hardware anzusprechen. Programmiert kann dieser Controller mit C#. Andere .NET-Sprachen sind in Planung, aber bis Dato noch nicht freigegeben.

Das ganze ist SDK ist quelloffen und kann frei genutzt werden.

So, nun stellt sich vielen Leuten die Frage: Für was braucht man sowas?

Naja, aus Sicht eines Technik-Freaks leicht zu beantworten: FÜR ALLES.

Normale Menschen welche keine Bits und Bytes im Blut haben ist das aber keine Antwort. Vereinfacht gesagt kann man mit diesem Controller Digitale Signale nach außen führen.

So kann man sehr einfach und schnell per Software eine LED vom Rechner aus und ein ausschalten. Das hört sich sehr einfach an, ist es aber nicht. Wenn man bedenkt das man mit Software meist “in seinem Rechner eingesperrt ist”, hat man nun eine einfache Möglichkeit auch außerhalb etwas zu steuern.

Das es ganz einfach ist z.B. die Onboard-LED blinken zu lassen seht ihr hier:

OutputPort ledOnboard = new OutputPort(
    Pins.ONBOARD_LED, // set led on port "ONBOARD_LED"
    false); // initial false

while(true) // do this "forever" :)
{
    ledOnboard.Write(true);  // turn on the LED
    Thread.Sleep(250); // sleep for 250ms
    ledOnboard.Write(false);  // turn off the LED
    Thread.Sleep(250); // sleep for 250ms
}

Anbei noch ein Beispielvideo mit Kommentaren von mir :sideways:

Blinky Sourcecode (1138 Downloads )

 

Was benötigt ihr um den Netuino zu programmieren?

Dann ein neues Netduino Projekt anlegen… Netduino Typ auswählen… programmieren … fertig.

 

Kurz zu den technischen Details des Controllers:

Processor and memory

●     Atmel 32-bit microcontroller

●     Speed: 48MHz, ARM7

●     Code Storage: 128 KB

●     RAM: 60 KB

microcontroller documentation

AT91SAM7X512 (summary)

AT91SAM7X512 (datasheet)

Buttons and leds

●     power led: white

●     user led: blue

button features

●     functions as a reset button (default)

●     can be used as GPIO input

In- and Output

●     all 20 digital and analog pins: GPIO

●     digital pins 0-1: UART 1 RX, TX

●     digital pins 2-3: UART 2 RX, TX

●     digital pins 5-6: PWM, PWM

●     digital pins 7-8: UART 2 RTS, CTS

●     digital pins 9-10: PWM, PWM

●     digital pins 11-13: SPI MOSI, MISO, SPCK

●     analog pins 4-5: I2C SDA, SCL

Power

●     input: 7.5 – 12.0 VDC or USB powered

●     output: 5 VDC and 3.3 VDC regulated

●     analog reference: 2.6 – 3.3 VDC only required when using ADC features

●     max current: 8 mA per pin digital pins 2, 3, 7: 16 mA per pin / analog pins 0-3: 2mA per pin / microcontroller max current: 200 mA total

●     digital i/o are 3.3 V–but 5 V tolerant

Environmental

●     operating temperature: 0 – 70 °C (32 – 158 °F)

●     RoHS compliant

●     Pb-free (lead-free)

System requirements

●     Windows XP, Vista, or 7 (32 or 64 bit)

●     1.6 GHz or faster processor

●     1 GB RAM

●     Up to 3 GB of available hard drive space for Visual Studio Express 2010

Design files

  ●     netduino schematics

  ●     netduino boardlayout

source code

●     .NET Micro Framework v4.1 source