Ein C# Programm lässt die Arduino LED an- und ausgehen



Du wirst mit Hilfe eines Programmes der kostenlosen C# Umgebung "Microsoft Visual Studio Community Edition" die Arduino Board-LED, welche mit Pin 13 verbunden ist, ein- und ausschalten können.

       



Das in C# geschriebene Windows-Programm sieht so aus:

       

Das Setzen des Häkchens "Pin 13" lässt die LED leuchten und das Wegnehmen des Häkchens lässt sie verlöschen.

Hier kannst Du das fertige Programm runterladen.

Vergiss nicht, zuerst die USB-Verbindung (COM-Port) auszuwählen, sonst bekommst Du eine Fehlermeldung. Du benutzt den selben Port, wie in der Arduino-IDE zum Programme in den Arduino schieben.


Der Arduino-Quellcode dazu sieht folgendermaßen aus:

      /*
        C# sagt: "Hallo Arduino!"
        Die Arduino Board-LED (an Pin13) kann mit Hilfe eines auf dem Computer
        laufenden C# Programmes ein- und ausgeschaltet werden.
    
        www.arduinospielwiese.de 
       */
            
            
       int datenpaket;
            
       void setup() {
          Serial.begin(9600); //öffnet die serielle Datenübertragung mit 9600 bit/s
          pinMode(13, OUTPUT);
       }
            
            
       void loop() {
            
          if (Serial.available() > 0) {
             datenpaket = Serial.read(); //liest die Daten
             
             if (datenpaket == 1) { digitalWrite(13, HIGH); }
             if (datenpaket == 0) { digitalWrite(13, LOW);  }
         
             Serial.flush(); //seriellen Puffer löschen
             delay(100);
           }
        }
            
        



Ich nehme an, Du willst selbst so ein C# Programm schreiben.
Das kostenlose Microsoft Visual Studio Community bekommst Du hier.

Ich habe das Programm mit der 2015'er Version geschrieben.
Hier mein Projektordner: Arduino_Frontend_1.zip
Es lohnt sich, einwenig C# zu lernen!



Das C# - Programm selbst schreiben:

1. Schritt
        Starte das Visual Studio und lege ein C# Windows-Forms-Projekt an!


2. Schritt
        Gestalte ein Form, ähnlich diesem hier!
        Folgende Elemente ziehst Du aus der Toolbox (deutsch: "Werkzeugkasten") auf Dein Form:

                - ein Label ("COM:"),
                - ein NumericUpDown,
                - ein Button,
                - eine Checkbox

       

                weiterhin:
                doppelklicke in Deinem Werkzeugkasten auf das Objekt "SerialPort",
                welches daraufhin in einem Bereich unter dem Form erscheint.


3. Schritt
        Doppelklicke auf den Button! Danach befindest Du Dich im Quelltext des Buttons.
        Ergänze den Quelltext, wie folgt:

      
      private void Button1_Click(object sender, EventArgs e) {
      
         serialPort1.PortName = "COM" + numericUpDown1.Value;
         serialPort1.BaudRate = 9600;
         serialPort1.DtrEnable = true;
         serialPort1.Open();
         
         Button1.Enabled = false;
      }
      
      

4. Schritt
        Doppelklicke auf die CheckBox! Danach befindest Du Dich im Quelltext der CheckBox.
        Ergänze den Quelltext, wie folgt:

      
      private void CheckBox1_CheckedChanged(object sender, EventArgs e) {
      
         byte datenpaket;
      
         if (CheckBox1.Checked) { datenpaket = 1;} else { datenpaket = 0;}
         
         serialPort1.Write(new byte[] {datenpaket}, 0, 1);
         
      }