PWM-Ausgabe an allen Arduino-Pins



PWM-Ausgabe an jedem beliebigen Arduino-Pin ermöglicht uns bis zu 19 LEDs in unterschiedlichen Helligkeiten leuchten zu lassen oder auch zu faden (siehe dieses Fading-Experiment).

Wir benutzen dazu diese Library (Bibliothek) mit Namen "SoftPWM", die von Brett Hagmann geschrieben wurde und die ich von dieser Webseite heruntergeladen habe: https://www.pjrc.com/teensy/td_libs_SoftPWM.html


Lade Dir die Library "SoftPWM.zip" herunter und enpacke Sie.
Es entsteht der Ordner "SoftPWM".
Dieser Ordner muss in Deinen Arduino-Ordner und dort in den Unterordner "libraries".
Starte Deine Arduino-Entwicklungsumgebung neu!


In unserem Experiment geht es darum, dass alle Pins benutzt werden, um LEDs mit PWM anzusteuern.
Im Grunde ist es ein Lauflicht, doch die LEDs gehen "weich" an und aus.



Schaltplan und Queltext:


		
#include <SoftPWM.h> int helligkeit, pin, geschwindigkeit = 2; void setup() { SoftPWMBegin(SOFTPWM_NORMAL); SoftPWMSet(0, 0); // RX-Pin auf 0 setzen (LED0 aus) SoftPWMSet(1, 0); // TX-Pin auf 0 setzen (LED0 aus) delay(1000); } void loop() { for (pin = 0; pin < 20; pin++) { for (helligkeit = 0; helligkeit < 256; helligkeit++) { SoftPWMSet(pin, helligkeit); delay(geschwindigkeit); } for (helligkeit = 255; helligkeit >= 0; helligkeit--) { SoftPWMSet(pin, helligkeit); delay(geschwindigkeit); } delay(100); } }

Der Befehl, um mit Hilfe dieser Library an jedem beliebigen Pin ein PWM-Signal auszugeben ist:

SoftPWMSet(pin, helligkeit);   wobei "pin" die Werte 0..19   und "helligkeit" die Werte 0..255 einnehmen kann.