Lauflicht (Programmiersprache C)



Du solltest Dir unbedingt erst dieses Experiment ansehen!

In Erweiterung des einfachen LED-Blinkens, hier zwei Varianten für ein Lauflicht, das alle 17 GPIO-Pins (meines Raspberry Pi 1 Modell B) benutzt. Wenn Du einen Raspberry mit mehr GPIO-Pins besitzt, kannst Du die Quelltexte leicht anpassen.



Schaltung:

Wir bauen folgende Schaltung auf (klick zum Vergrößern):




Ich hatte nicht genug Platz mit diesem Zeichenprogramm:
Du kannst jeden Pin mit so einer LED beschalten, der nicht mit "5V", "3V3" oder "GND" beschriftet ist.

Alle LEDs zeigen mit ihrer Kathode zu je einem GPIO-Pin. Ein 220 Ohm Widerstand kommt von 3.3V und ist mit allen Anoden verbunden.

Ich weiß natürlich auch nicht, welchen Raspberry Du benutzt.
Du könntest z. B. hier nachsehen.



Im Programm läuft die Variable i von 0 bis 16, da ich alle GPIO-Pins meines Raspberry Pi 1 Modell B mit LEDs verbunden hatte.


	#include <wiringPi.h>

	main() {
	
		int i;

		wiringPiSetup();
		for (i = 0; i < 17; i++) pinMode(i, OUTPUT);

		while (1) //unendliche Schleife
		{
			for (i = 0; i < 17; i++) 
			{
				digitalWrite(i, LOW);
				delay(100);
				digitalWrite(i, HIGH);
			}
		}
	}



Hier kannst Du die Reihenfolge des Aufleuchtens sortieren, ohne die Kabel umzustecken:


	#include <wiringPi.h>

	main() {
		
 	    // Reihenfolge zum Sortieren: 
	    int led[] = { 8, 11, 10, 6, 5, 4, 1, 16, 15, 14, 13, 12, 3, 2, 0, 7, 9 };

		int i;
    
		wiringPiSetup();

		for (i = 0; i < 17; i++) pinMode(i, OUTPUT);

	
		while (1) //unendliche Schleife
		{
			for (i = 0; i < 17; i++) 
			{
				digitalWrite(led[i], LOW);
				delay(100);
				digitalWrite(led[i], HIGH);
			}
		}
	}