MQTT Wetter
Wetter MQTT Gateway
 10.10.2024 06:33  7.5 °C   17.7 mm
 972 hPa    0 Lux  16.2 km/h 
 W +/-45°
ELV Wetter
ELV Wetterstation
 10.Okt. 06:34 Uhr  7,5 °C 
46,4  mm
 7,5 °C hPa    0,000 klux Lux  18,1 km/h W-NW ±67.5°
DIY Wetter
DIY Wetterstation
 October 10 2024 06:31 Uhr  12.9 °C   1.99 %&
 977 hPa   0 Lux
DIY Wetter
3D Drucker
Wenn du nicht mehr weißt was du machen sollst fange damit an....
DIY Wetter
Smart Home
Das ist ein Bild meiner Zentrale, dies ist seit 2020 mit einem Raspberry am Start.

Indirekte Beleuchtung am elektronischen Schreibtisch

 Es war irgendwie immer zu dunkel wenn ich da sitze, Hmm also Lösung her, Klick machte es und ich habe begonnen Reste zusammen zu suchen. Einen Arduino Nano, 1,6 m LED Stripe 28b12 mit 60LED/m, 2 Taster, Gehäuse aus dem Drucker fertig.
So nun noch ein Programm ( recht Überschaubar ) Taster 1 Ein oder Aus, Taster 2 Farbe auswählen die Fest gespeichert ist im Controller. Der Pure Luxus... beim einachalten der Spannung geht das Licht automatisch An die LED'S laufen die hoch beim Ausschalten runter, ganz netter Effekt. darum hier das Video dazu.

/*
 // LED Strip Werkstatt Schreibtisch
// Stefan Zilt 01.11.2023

#include FastLED.h
#include EEPROM.h
// Stipe Konfig
#define NUM_LEDS 94
#define DATA_PIN 3
CRGB leds[NUM_LEDS];
CRGB colors_w;
int Red = 0;
int Green = 0;
int Blue = 0;
// Variabeln
int farbe= 0;
int Taster1;
int Taster2;
long Auswahl_entprellen1 = millis();
bool t1= false;
long Auswahl_entprellen2 = millis();
bool t2= true;
bool startstop = false;
bool led_aenderung = false;
bool led_run = false;
// This function sets up the ledsand tells the controller about them
void setup() {
  Serial.begin(9600);
  // sanity check delay - allows reprogramming if accidently blowing power w/leds
  delay(2000);
  FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);  // GRB ordering is typical

  pinMode(10, INPUT_PULLUP);
  pinMode(11, INPUT_PULLUP);

 Red = read_int(0);
 Green = read_int(2);
 Blue = read_int(4);
 
}

void loop() {
  Taster1 = digitalRead(11);
  Taster2 = digitalRead(10);

if(Taster1 == LOW && Auswahl_entprellen1 < millis() && startstop == true){
   Auswahl_entprellen1 = 140 + millis();
   t1 = true;
   Serial.println(F("t1"));
   }
if(Taster2 == LOW && Auswahl_entprellen2 < millis()){
   Auswahl_entprellen2 = 140 + millis();
   t2 = true;
   Serial.println(F("t1"));
   }
// Einschalten
if (t2 == true && startstop == false){
      startstop = true;
       colors_w = CRGB(Red,Green,Blue);
    for (int whiteLed = 0; whiteLed < NUM_LEDS/2; whiteLed = whiteLed + 2) {
          leds[whiteLed] = colors_w;
          leds[whiteLed+1] = colors_w;
          leds[NUM_LEDS - whiteLed] = colors_w;
          leds[NUM_LEDS - whiteLed- 1] = colors_w;
          FastLED.show();
          delay(25);
        }
    t2 = false;
}
// Ausschalten mit Farbwert speichern
if (t2 == true && startstop == true){
      startstop = false;
      colors_w = CRGB(0,0,0);
    
    for (int whiteLed = 0; whiteLed < NUM_LEDS/2; whiteLed = whiteLed + 2) {
          leds[whiteLed] = colors_w;
          leds[whiteLed+1] = colors_w;
          leds[NUM_LEDS - whiteLed] = colors_w;
          leds[NUM_LEDS - whiteLed- 1] = colors_w;
          FastLED.show();
          delay(25);
        }
    write_int(0, Red );
    write_int(2, Green );
    write_int(4, Blue );
    t2 = false;
}


 if(t1 == true && led_aenderung == false  && startstop == true){
    Serial.println(F("wechsel"));
     switch (farbe)
                  {
                      case 0:
                        Red = 255;
                        Green = 255;
                        Blue = 255;
                        colors_w = CRGB(Red,Green,Blue);
                        led_aenderung = true;
                        break;   
                      case 1:
                        Red = 255;
                        Green = 255;
                        Blue = 150;
                        colors_w = CRGB(Red,Green,Blue);
                        led_aenderung = true;
                        break;                     
                      case 2:
                        Red = 255;
                        Green = 0;
                        Blue = 0;
                        colors_w = CRGB(Red,Green,Blue);
                        led_aenderung = true; 
                        break;                      
                      case 3:               
                        Red = 0;
                        Green = 255;
                        Blue = 0;
                        colors_w = CRGB(Red,Green,Blue);
                        led_aenderung = true;         
                        break;                       
                      case 4:    
                        Red = 0;
                        Green = 0;
                        Blue = 255;
                        colors_w = CRGB(Red,Green,Blue);
                        led_aenderung = true; 
                        break;                                             
                      default:
                        break;
                 }  
t1 = false;
farbe++;
if(farbe==5){farbe=0;}
  
 }
   if(led_aenderung == true && led_run == false){
     Serial.println(F("leds"));
     led_run = true;
  for (int whiteLed = 0; whiteLed < NUM_LEDS; whiteLed = whiteLed + 1) {
    leds[whiteLed] = colors_w;
    
  }
   FastLED.show();
   led_run = false;
   led_aenderung = false;
   delay(200);
   }
}

// Lesen aus EEPROM
int read_int(int address)
{
  long byte_2 = EEPROM.read(address);
  long byte_1 = EEPROM.read(address + 1);
  int val = ((byte_2 << 0) & 0xFFFFFF) + ((byte_1 << 8) & 0xFFFFFFFF);
  return val;
}
// Schreibe in EEPROM
void write_int(int address, int value)
{
  byte byte_2 = (value & 0xFF);
  byte byte_1 = ((value >> 8) & 0xFF);
  EEPROM.update(address, byte_2);
  EEPROM.update(address + 1, byte_1);
}
Schaltplan Briefkasten ESP01-S Indirekte Beleuchtung am Schreibtisch Indirekte Beleuchtung am Schreibtisch
=