silentbase_neopixel:programmversion_0.4
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
silentbase_neopixel:programmversion_0.4 [13.11.2016 17:12] – Frickelpiet | silentbase_neopixel:programmversion_0.4 [18.05.2023 12:16] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== NeoPixel-Beleuchtung für SilentBase 800 Programmversion 0.4 ====== | ====== NeoPixel-Beleuchtung für SilentBase 800 Programmversion 0.4 ====== | ||
- | Diese Programmversion speichert den ausgewählten Programmmodus in das EEPROM. Nach einem Neustart wird der letzte Programmmodus wieder aufgerufen. | + | Diese Programmversion speichert den ausgewählten Programmmodus in das EEPROM. Nach einem Neustart wird der letzte Programmmodus wieder aufgerufen. |
+ | |||
+ | Ältere Programmversionen: | ||
+ | * [[silentbase_neopixel: | ||
+ | * [[silentbase_neopixel: | ||
Hilfreiche Links: | Hilfreiche Links: | ||
* https:// | * https:// | ||
- | < | + | ToDo: Jetzt müssen noch ein paar coole Beleuchtungseffekte programmiert werden. Außerdem könnte man die Messwerte am analogen Eingang glätten. |
+ | Der Sketch enthält Code von [[https:// | ||
+ | < | ||
// Bibliotheken einbinden | // Bibliotheken einbinden | ||
#include < | #include < | ||
Zeile 25: | Zeile 31: | ||
int rlast; | int rlast; | ||
int last; | int last; | ||
- | int atem; | ||
int tasterStatus = HIGH; // aktuelles Signal vom Eingangspin | int tasterStatus = HIGH; // aktuelles Signal vom Eingangspin | ||
int tasterGedrueckt = 0; // abfragen ob Taster gedrückt war | int tasterGedrueckt = 0; // abfragen ob Taster gedrückt war | ||
- | int entprellZeit = 200; // Zeit für Entprellung, anpassen! | + | int entprellZeit = 200; // Zeit für Entprellung |
Zeile 128: | Zeile 133: | ||
// Berechnung der Netzteillast in Prozent | // Berechnung der Netzteillast in Prozent | ||
float rlastmin = 350; // Messwert bei minimaler Last | float rlastmin = 350; // Messwert bei minimaler Last | ||
- | float rlastmax = 1023; // Messwert bei maximaler Last | + | float rlastmax = 700; // Messwert bei maximaler Last |
last = 100 - ((rlastmax - rlast) / (rlastmax - rlastmin)) * 100; | last = 100 - ((rlastmax - rlast) / (rlastmax - rlastmin)) * 100; | ||
- | |||
- | // Berechnung der Atemgeschwindigkeit | ||
- | atem = last/200; // Der Wert kann theoretisch zwischen 0 und 0,5 variieren und die Geschwindigkeit des Atemeffekts beschleunigen | ||
- | |||
//Speichere die aktuelle Zeit in die zughörige Variable | //Speichere die aktuelle Zeit in die zughörige Variable | ||
Zeile 148: | Zeile 149: | ||
// Ansteuerung der NeoPixel-Strips | // Ansteuerung der NeoPixel-Strips | ||
- | counter = counter + (0.05 + atem); | + | counter = counter + (0.05 * (last/10)); |
if (counter >= 6.28) { | if (counter >= 6.28) { | ||
counter = 0; | counter = 0; | ||
Zeile 173: | Zeile 174: | ||
// Ansteuerung der NeoPixel-Strips | // Ansteuerung der NeoPixel-Strips | ||
- | counter = counter + (0.05 + atem); | + | counter = counter + (0.05 * (last/10)); |
if (counter >= 6.28) { | if (counter >= 6.28) { | ||
counter = 0; | counter = 0; |
silentbase_neopixel/programmversion_0.4.1479053542.txt.gz · Zuletzt geändert: 18.05.2023 09:09 (Externe Bearbeitung)