Raspberry Pi blinkende LED
Die grundlegendste Funktion und damit das einfachste Beispiel auf dem Raspberry Pi ist das einfache Ein- und Ausschalten eines GPIO-Pins, an dem eine LED hängt.
Doch wie geht das?
Hierzu benötigen wir:
- eine LED
- Steckplatine
- 3 Jumper Wires
- einen Widerstand mit 1k Ohm
Die Verkabelung:
Der Programmcode:
Nach der Verkabelung können wir mit dem Programmcode beginnen. Hier ist der Quellcode gezeigt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | //Einbinden der verwendeten Bibliotheken #include <wiringPi.h> //für die Ansteuerung der GPIO-Pins #include <stdio.h> //für die Ausgabe auf der Konsole //Definieren des Ausgabepins, der von wiringPi verwendet wird #define LedPin 0 //Main Methode die ausgeführt wird int main(void) { if(wiringPiSetup() == -1){ //Nachricht ausgeben, wenn Initalisierung fehlgeschlagen printf("wiringPi setup fehlgeschlagen!"); return 1; //Abbrechen des Programms } printf("LedPin: GPIO %d(wiringPi pin)\n",LedPin); //Nachricht ausgeben wenn Initalisierung erfolgreich pinMode(LedPin, OUTPUT); //LedPin auf Ausgabemodus setzen //Dauerschleife (Abbruch später mit "STRG" + c) while(1){ digitalWrite(LedPin, LOW); //LED einschalten delay(500); digitalWrite(LedPin, HIGH); //LED ausschalten delay(500); } return 0; } |
Zeilen mit einem „//“ haben keine Funktion und sind Kommentare, die den Code erläutern sollen. Normalerweise wird Code nicht so ausführlich kommentiert, jedoch wollen wir hier möglichst genau erklären, wie der Code in den einzelnen Elementen funktioniert, um diese besser verstehen zu können.
Ausführen und Kompilieren des Programmcodes:
Nun benötigen wir Zugriff auf die Konsole des Pi. Das einfachste ist es den Quellcode bereits am Computer in einer Datei „Blink.c“ zu erstellen und die Datei per WinSCP dann in den erstellten Ordner „RaspberryPi-Gpio“ zu kopieren.
1 2 3 | cd mkdir RasberryPi-GPIO cd RasberryPi-GPIO |
In diesem Ordner können wir später die Quellcodedateien sowie die Binärdateien.
Zum Kompilieren werden folgenden Befehle eingegeben:
1 2 | gcc led.c -o led -lwiringPi sudo ./led |
Das Ergebnis:
Student der Luft- und Raumfahrtinformatik in Würzburg und begeisterter Hobbybastler und Informatiker.