Aus dem Kurs: Windows 10 IoT Grundkurs
3.3 V einlesen und ausgeben
Aus dem Kurs: Windows 10 IoT Grundkurs
3.3 V einlesen und ausgeben
Nachdem wir es nun geschafft haben, den Raspberry Pi als Deployment-Ziel in Visual Studio festzulegen, wollen wir als nächstes mit der Erzeugung einer kleinen Applikation beginnen. Ziel ist es, die an einem Knopf anliegenden Informationen in Richtung einer Leuchtdiode weiterzuschreiben. Dazu benötigen wir logischerweise erstens einen GPIO-Controller, der die gesamte GPIO-Hardware des Raspberry Pi abbildet und zweitens zwei GPIO-Pin-Klassen, die die eigentlichen Pins beschreiben. Sie liegen im Namespace Windows.Devices.Gpio, der nicht mehr wie früher im ersten Schritt von Hand als Verweis hinzugefügt werden muss. Sonst findet sich hier fürs Erste keine Raketenwissenschaft. Wir rufen die Methode GetDefault auf, um die Variable myGPIOC mit einem Verweis auf den Standard- GPIO-Controller zu initialisieren. Als Nächstes müssen wir uns darum kümmern, die beiden Pins zu konfigurieren. Wir sehen dazu, dass wir den GPIO-Controller jeweils unter Nutzung der Methode OpenPin dazu auffordern, die GPIO-Pin-Objekte zu bevölkern. Die Identifikation der eigentlichen Pins erfolgt durch zwei Integers. Und Sie sehen hier die Pins 5 und 6, die mit den physikalischen Pins 29 und 31 korrespondieren. In der Programmieroberfläche des IoT-Windows gilt, dass Sie immer mit den logischen GPIO-Nummern arbeiten und nicht mit den physikalischen IDs. Sei dem wie es sei, weisen wir im nächsten Schritt Betriebsmodi zu und kümmern uns zu guter Letzt darum, dass bei Änderungen am Eingabe-Pin eine Funktion aufgerufen wird, die wir uns hier von Visual Studio gleich generieren lassen. Wichtig ist, dass die UWP-Plattform Entwicklern das Spawnen von Threads nach Möglichkeit zu verleiden sucht, weil sich diese negativ auf das Latenzverhalten der Systeme auswirken würden. Damit fehlt uns nur noch der Code, der bei einem Interrupt aufgerufen wird. Er liest im ersten Schritt die am Eingabe-Pin anliegenden Werte und schreibt sie danach in Richtung des Ausgabe-Pins weiter. Auf Softwareseite sind wir damit fertig. Das Programm kann bei Gelegenheit durch Anklicken dieses Kommandoknopfes in Richtung des Raspberry Pi geschickt werden. Zum fertigen System fehlt uns dann vor allem noch eine Schaltung. Sie sehen hier den grundlegenden Aufbau. R2 hat dabei die Aufgabe, die vom Raspberry Pi kommenden 3,3 Volt über eine Strombegrenzung in ein für die Leuchtdiode verarbeitbares Potenzial zu verwandeln. Dann haben wir hier noch die Schaltung zu GPIO5. Wenn der Taster offen ist, zieht dieser Widerstand das Pin auf Masse. Weil hier ja kein Strom fließt, fällt über ihm auch keine nennenswerte Spannung ab. Drücken wir allerdings auf diesen Knopf, so fließt Strom und das an GPIO5 anliegende Spannungspegel levitiert nach oben. Wichtig ist hierbei eigentlich nur, dass der Widerstand vorhanden ist, die genaue Wertauswahl ist unkritisch. Und noch etwas ist wichtig. Der Raspberry Pi lebt im 3,3-Volt-Spannungsbereich. Deshalb wollen wir uns hier aus dem 3,3-Volt-Potenzial versorgen. An dieser Stelle müssen wir nur noch das korrekte Funktionieren des Programms verifizieren. Dazu drücken wir hier auf den Knopf und sehen, dass die Leuchtdiode aufleuchtet. In der Praxis bietet es sich übrigens an, diese Taster auf eine Adapterplatine zu verfrachten, bevor Sie sie ins Steckbrett stecken. Das ist allerdings eine Aufgabe, die den Rahmen dieses Kurses sprengen würde. Allerdings, weil es so schön war, noch ein letztes Mal. Angemerkt sei, dass Sie in der Praxis hier eine Entprellung vornehmen sollten, weil die Knöpfe beim Ein- und Ausschalten springen. Allerdings ist auch das ein Thema, das den Rahmen dieses Kurses sprengen würde.
Üben mit Projektdateien
Laden Sie die Dateien herunter, die von den Trainer:innen verwendet werden. So können Sie mitlesen und durch Ansehen, Zuhören und Üben lernen.