LEDs an den Pins 8 bis 13 ein- und ausschalten



Für dieses Experiment solltest Du erst das vorherige Experiment erfolgreich durchgeführt haben.

Du wirst mit Hilfe eines Programmes "Frontend 2" LEDs an den Arduino Pins 8 bis 13 ein- und ausschalten können.

 



Dies funktioniert folgendermaßen:

Die 6 CheckBoxes auf dem Programm bilden eine 6-stellige Binärzahl.

Ist eine CheckBox gesetzt (= mit einem Häkchen versehen) ist an seiner Stelle in der Binärzahl eine 1 (das Bit gesetzt).
Ist eine CheckBox nicht gesetzt (= ohne Häkchen) ist an seiner Stelle in der Binärzahl eine 0 (das Bit nicht gesetzt).

Die 6-stellige Binärzahl hat Platz in einem Byte. Dieses Byte wird zum Arduino gesendet.
Im Arduino wird dieses Byte in den Port B gelegt.
Wie das genau funktioniert, ist in diesem Experiment beschrieben.


C# Programm:

Im C# Programm "Frontend 2" gibt es 6 CheckBoxes: cb8, cb9, cb10, cb11, cb12 und cb13.
Jedes Setzen und jedes Löschen eines Häkchens in einer der CheckBoxes ruft die Methode "auswerten()" auf.
      
      private void auswerten() {
         
            byte binaerzahl = 0;

            if (cb8.Checked)  binaerzahl += 1;
            if (cb9.Checked)  binaerzahl += 2;
            if (cb10.Checked) binaerzahl += 4;
            if (cb11.Checked) binaerzahl += 8;
            if (cb12.Checked) binaerzahl += 16;
            if (cb13.Checked) binaerzahl += 32;

            serialPort1.Write(new byte[] { binaerzahl }, 0, 1 );
        } 
Hier kannst Du das fertige Programm "Frontend 2" runterladen.


Arduino-Quellcode:
     /*
       LEDs an den Pins 8 bis 13 ein- und ausschalten
       aufgrund eines C# Programmes auf dem Computer
       www.arduinospielwiese.de
     */
       
       int datenpaket;
       
       void setup() {
          Serial.begin(9600);
          DDRB = 0b00111111;
       }
            
            
       void loop() {
          if (Serial.available() > 0) { 
             datenpaket = Serial.read();
             PORTB = datenpaket;
            
             Serial.flush();
           }
       }
          


Ich habe das C# Programm mit der 2015'er Version vom Microsoft Visual Studio Community geschrieben.
Hier mein Projektordner: Arduino_Frontend_2.zip