//Hier können Bibliotheken und Programmteile eingebunden werden
// Und hier definiert man auch Variablen, Konstanten,...
#define led 0
void setup() {
// Alles in void Setup wird beim Booten einmal ausgeführt
// Hier werden Dinge initialisiert und konfiguriert
Serial.begin(112500);
Serial.println("Hello, ESP32!");
// Pin 0 ist ein Ausgang --> Definiert
pinMode(led,OUTPUT);
}
// Blink-Funktion
void led_blink() {
Serial.println("An");
digitalWrite(led, HIGH); // Schalte die LED an
delay(1000); // Warte 1000ms = 1 Sekunde
Serial.println("Aus");
digitalWrite(led, LOW); // Schalte die LED aus
delay(1000);
}
//Dimm-Funktion ausgeschrieben
void led_pwm() {
//LED 0% an
analogWrite(led,0);
delay(100);
//LED 25% an
analogWrite(led,63);
delay(200);
//LED 50% an
analogWrite(led, 127);
delay(200);
//LED 75% an
analogWrite(led,191);
delay(200);
//LED 100% an
analogWrite(led, 255);
delay(200);
//LED 75% an
analogWrite(led,191);
delay(200);
//LED 50% an
analogWrite(led, 127);
delay(200);
//LED 25% an
analogWrite(led,63);
delay(200);
}
//Dimm-For-Schleife
void led_pwm_for(){
//LED sanft hochregeln mit For-Schleife:
//"i" ist der Zähler, eine Integer-Variable (= ganze Zahl)
// Start ; Ende ; Jeder Durchgang --> i+1 hochzählen
for (int i = 1; i <= 255; i++) {
// Pulsweite = i im aktuellen Durchgang
analogWrite(led, i);
Serial.println(i);
delay(10);
}
//und wieder sanft runterregeln --> Start und Ziel vertauschen:
for (int i = 255; i > 0; i--) {
// Pulsweite = i im aktuellen Durchgang
analogWrite(led, i);
Serial.println(i);
delay(10);
}
}
void led_pwm_for_1x(){
// Variable für Schrittweite definieren, damit wir innerhalb der Schleife
// die Zählrichtung ändern können:
int x = 1;
// Start: 0; Ende: Größer als -1 (0, aber anders definiert, sonst Start==Ende)
// Schrittweite: Anfangs i+1
for (int i = 0; i > -1; i = i + x) {
analogWrite(led, i);
if (i == 255) {
x = -1; // Wenn i bei 255 ankommt, Zählrichtung umdrehen, damit die wieder LED dunkler wird
}
delay(10);
// Läuft hoch bis i=255, dann negativ bis i>1, dann fertig
}
}
void loop() {
// Hier kommt Code rein, der immer wieder in Dauerschleife abgespielt wird
// Dein Hauptprogramm
//led_blink();
//led_pwm();
led_pwm_for();
//led_pwm_for_1x();
}