Erster I/O-Versuch mit dem NGW100

Ich bin jetzt endlich soweit, dass ich den Zustand eines an meinem NGW100 angeschlossenen Schalters in der Konsole auslesen kann. Bei meinem Versuch diente mir dieses detaillierte IO-Tutorial als Vorlage. Bei einigen Dingen, die dort beschrieben werden, dauerte es bei mir allerdings ziemlich lange, bis ich verstand, was genau zu tun ist. Die grösste Schwierigkeit war für mich die ganze Elektronik und Löterei, also meinen Schalter überhaupt einmal am Board anzuschliessen. Im Nachhinein kann ich allerdings sagen, dass dies doch ziemlich einfach war. Man muss halt nur genau lesen...

Hier ein Überblick meines Resultates:

ngw100 IO
NGW100 mit angeschlossenem Schalter

Zum Anschliessen des Schalters habe ich das folgende Schema verwendet:

ngw100 IO-Schema
Schalter-Schema, Quelle: avrfreaks.net

Wie die Schaltung dann umgesetzt auf der Platine aussieht, sieht man im folgenden Bild. Das Rote Kabel ist +3.3V, grün ist Ground, weiss geht zum gewünschten GPIO-Pin auf dem Board und an den braunen Kabel ist der Schalter angeschlossen.

ngw100 IO-Schaltung
Schaltung zum Anschliessen eines Schalters am NGW100

Jetzt muss man die gelötete Schaltung noch mit dem Board verbinden. Die Pin-Belegung des Boards findet man in diesem PDF im Abschnitt GPIO: AT32NGW100_schematics.pdf. Und wo sich J5, J6 und J7 befinden steht in diesem Schema zu den mechanischen Dimensionen des Boards. Ich habe folgende Pins von J7 verwendet: Pin 25 für das eigentliche Signal des Schalters (weiss), Pin 35 für +3.3V (rot) und Pin 36 für Ground (grün).

ngw100 GPIO-Pins verwenden
Anschliessen der Schaltung am NGW100

So, das war auch schon alles, was es zu löten gibt. Danach hab ich genau so weiter gemacht, wie es in diesem detaillierten IO-Tutorial im Abschnitt "Setting up the GPIO" beschrieben wird. Jetz bin ich soweit, dass ich in der Konsole mit dem Kommando less /dev/gpio3 den Status meines Schalters beobachten kann. Wenn man auf dem Schalter herumdrückt, werden dann in der Konsole irgendwelche komischen Zeichen ausgegeben.

Film: Testen des Schalters mit less /dev/gpio3 (Javascript wird benötigt!)
Testen des Schalters mit less /dev/gpio3

Als nächstes werde ich dann versuchen, den Zustand des Schalters mit einem kleinen C-Programm auszulesen. Aber im Moment weiss ich noch gar nicht, wie ich den C-Code für den NGW100 kompilieren kann. Sollte aber nicht allzu schwierig sein, hoffe ich jetzt mal.

Fortsetzung folgt...