Pictures from DWX’14 conference

July 23, 2014 on 8:33 am | In DotNet, Netduino, Software Engineering, Tinkerforge | No Comments

This year I was once again an invited speaker at the Developer Week conference in Nuremberg, Germany. I was speaking (in German of course) about the basics of hardware programming in .NET. Developer Week is biggest developer conference in Germany: 250 session, 150 speakers. It consists of .NET Developer Conference (DDC), Web Developer Conference (WDC) and Mobile Developer Conference (MDC). Here are some pictures from the conference.

Hardware programming in .NET at DWX 2014

April 18, 2014 on 2:12 pm | In DotNet, Netduino, Tinkerforge | No Comments

Once again I was invited to give a talk at the DWX – Developer Week in Nuremberg, Germany.  Last year I was speaking about “Continuous Integration in .NET”. This year it is a time to give “Hardware programming in .NET” a try. I will show how to create software for Netduino, Tinkerforge and Raspberry Pi using .NET Micro Framework, .NET Framework and Mono. Oh, and I’m planning to build the circuits the talk! It should be a lot of fun. And here a small example of RGB LED attached to Raspberry Pi and programmed in Mono.

 

CODEFUSION’s Illuminated RaspberryPi

 

To get mono to your Raspberry Pi issue following commands:

sudo apt-get update

sudo apt-get isntall mono-runtime

sudo apt-get install mono-mcs

And here is the source code for the blinking LED:

using RaspberryPiDotNet;

namespace HelloRaspberryPi
{
    class Program
    {
        static void Main(string[] args)
        {
            GPIOMem ledRed = new GPIOMem(GPIOPins.Pin_P1_22);
            GPIOMem ledGreen = new GPIOMem(GPIOPins.Pin_P1_18);
            GPIOMem ledBlue = new GPIOMem(GPIOPins.Pin_P1_16);

            while (true)
            {
                ledRed.Write(true);
                System.Threading.Thread.Sleep(1500);
                ledRed.Write(false);
                ledGreen.Write(true);
                System.Threading.Thread.Sleep(1500);
                ledGreen.Write(false);
                ledBlue.Write(true);
                System.Threading.Thread.Sleep(1500);
                ledBlue.Write(false);
            }
        }
    }
}

Prototype is showed showed on the following picture.

2014-04-17 17.01.59

The image below shows the used Raspberry Pi pins used. For Description and matching PIN names to numbers see here http://elinux.org/RPi_Low-level_peripherals. I have used the GPIOPins.Pin_P1_22 = GPIO25 for red, GPIOPins.Pin_P1_18 = GPIO24 for green and GPIOPins.Pin_P1_16 = GPIO23 for blue. Plus the P1-20 for the grounding. I was using 3 220 Ohm resistors connected the the colors (+).

image

To get it running you will have to reference and use the RaspberryPiDotNet.dll from https://github.com/cypherkey/RaspberryPi.Net/ and have the BCM2835 library compiled. You can get install it using following commands:

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.3.tar.gz

tar -zxvf bcm2835-1.3.tar.gz

cd bcm2835-1.3.tar.gz

./configure

make

sudo make install

cd src

cc -shared bcm2835.o -o libbcm2835.so

And compile your program using Mono.

sudo msc ./Program.cs –r: ./RaspberryPiDotNet.dll

and to run it

sudo mono ./Program.exe

Voila!

If you happen to attend the Developer Week / .NET Developer in conference between 14th and 17th July 2014 please drop by to see my talk!

PS. My mono is enclosed in a self printed case (using our 3D printer) with my company CODEFUSION logo.

.NET hardware programming basics

December 18, 2013 on 12:01 pm | In Article, DotNet, Netduino, Software Engineering, Tinkerforge | No Comments

I’m a “bits sculptor”! I work with bits to create beautiful software. I have done it myself for years and now I’m running a software development company to create “better software”. But I was always jealous of people creating more tangible items than software. Not that I ever thought about software as a lesser creation then physical objects. Oh, no! Creating good software takes the same amount of effort and talent as creating for example a good car. But still. But you cannot “touch” the software you are creating. So I decided to go a bit into hardware. And what is the better way for .NET software developer than to go programming .NET based electronics?!?! 

Yesterday I’ve added a talk about the basics of .NET hardware programming to my repertoire. It’s basically the material I’ve worked on while writing the two articles published by dotnetpro Magazin in Munich, Germany. The first one was about Netduino and it was published in 08/2012 issue and the second one was about Tinkerforge from the 12/2013 issue. I’ve added a bit information and a demo for Raspberry Pi and Mono. I gave a talk at the meeting of .NET Developers Group München (17.12.2013). It went quite well. Despite the technical versatility I had to manage (and believe me the table was crowded with electronics!).

And here are two photos from the talks I gave last week (11.12.2013) at the Opole University of Technology. The topic was: testing mobile software and I showed (among other things) our RoboTouch project.

wyklady_otwarte_2013-12-11-7702wyklady_otwarte_2013-12-11-7710

Powered by WordPress with Pool theme design by Borja Fernandez.
Text © Marcin Kawalerowicz. Hosting CODEFUSION.