Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Intelligenter Sonnenaufgangs-Wecker: Sanftes Aufwachen mit Licht

Komponenten und Zubehör

Komponente Menge
Arduino Nano R3 1
DS3231 Echtzeituhr-Modul (RTC) 1
TRIAC (z. B. BT136) + Optokoppler 4N35 (Nulldurchgang) + MOC3063 (TRIAC-Ansteuerung) je 1
5V 700mA Step-Down-Netzteil (für Arduino & Logik) 1
Glühlampenfassung (E27) aus alter Lampe 1
Lochrasterplatine, Widerstände, Kondensatoren, Kabel nach Bedarf

Projektbeschreibung

Im Winter ist es morgens um 6 Uhr noch dunkel und kalt. Dieses Projekt simuliert einen künstlichen Sonnenaufgang: Eine in die vorhandene Deckenlampe eingebaute „smart Glühbirne“ dimmt das Licht über 30–60 Minuten langsam hoch – ein sanfter, natürlicher Wecker.

Glühbirnen-Basis

Eine alte Glühbirne wird zerbrochen (Glas entfernen), der E27-Sockel mit Drähten an Plus/Minus angelötet – das wird die mechanische und elektrische Basis.

Intelligenter Sonnenaufgangs-Wecker: Sanftes Aufwachen mit Licht
Elektronik auf Lochrasterplatine im Lampensockel

Hochspannungsteil (230 V AC)

LEBENSGEFAHR! Arbeiten an Netzspannung nur mit entsprechender Qualifikation. Der TRIAC schneidet die Sinuswelle phasengesteuert an (Phasenanschnitt), um die Lampe zu dimmen. Dazu muss der Nulldurchgang der Netzspannung exakt erkannt werden.

Intelligenter Sonnenaufgangs-Wecker: Sanftes Aufwachen mit Licht
Prinzip der Phasenanschnitt-Dimmung
Intelligenter Sonnenaufgangs-Wecker: Sanftes Aufwachen mit Licht
Hochspannungsschaltung mit Nulldurchgangserkennung

Niederspannungsteil

Intelligenter Sonnenaufgangs-Wecker: Sanftes Aufwachen mit Licht
Niederspannungsteil mit Arduino Nano, RTC, Netzteil

Firmware-Logik

  1. Beim Einschalten (Lichtschalter) geht die Lampe an und dimmt langsam ab – Funktionstest.
  2. Nachts prüft die RTC die Zeit.
  3. Um 06:00 Uhr beginnt der „Sonnenaufgang“: langsames Hochdimmen auf 100 %.
  4. Ein Fotowiderstand (LDR) verhindert Einschalten, wenn der Raum bereits hell ist (Energiesparen).
  5. Ausgeschaltet wird über den Wandschalter.

Code

/* Smart Sunrise Alarm – Arduino Nano + DS3231 + TRIAC-Dimmer
 * Autor: Jiri Praus (https://twitter.com/jipraus)
 * Inspiration: https://arduinotehniq.blogspot.com/2014/10/ac-light-dimmer-with-arduino.html
 */
#include <TimerOne.h>
#include "RTClib.h"

#define TRIAC_PIN 2
#define ZERO_CROSS_PIN 3
#define LIGHT_SENSOR_PIN A6
#define FREQUENCY_STEP 75       // µs pro Dimmstufe @ 50 Hz (65 für 60 Hz)
#define CHANGE_DIM_LEVEL_EVERY 1 // Dimmstufe alle N Sekunden ändern
#define MAX_DIM_LEVEL 128       // aus
#define MIN_DIM_LEVEL 0         // an
#define DARK_THRESHOLD 300      // LDR-Schwelle für „dunkel“

volatile byte triacCounter = 0;
volatile boolean zeroCrossed = false;
byte dimLevel = MIN_DIM_LEVEL;
boolean lightOn = false;

RTC_DS3231 rtc;

void setup() {
  Serial.begin(115200);
  digitalWrite(TRIAC_PIN, LOW);
  pinMode(TRIAC_PIN, OUTPUT);
  pinMode(ZERO_CROSS_PIN, INPUT);
  pinMode(LIGHT_SENSOR_PIN, INPUT);

  if (!rtc.begin()) { Serial.println("RTC not found"); while(1); }
  if (rtc.lostPower()) {
    Serial.println("RTC lost power, setting compile time");
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }

  noInterrupts();
  attachInterrupt(digitalPinToInterrupt(ZERO_CROSS_PIN), zeroCrossDetected, RISING);
  interrupts();
  Timer1.initialize(FREQUENCY_STEP);
  Timer1.attachInterrupt(triacTimerInterrupt, FREQUENCY_STEP);
}

void loop() {
  delay(CHANGE_DIM_LEVEL_EVERY * 1000);
  checkAlarmClock();
  adjustDimLevel();
  debugPrint();
}

void zeroCrossDetected() {
  zeroCrossed = true;
  triacCounter = 0;
  digitalWrite(TRIAC_PIN, LOW);
}

void triacTimerInterrupt() {
  if (dimLevel >= MAX_DIM_LEVEL) {
    digitalWrite(TRIAC_PIN, LOW);
  } else if (dimLevel <= MIN_DIM_LEVEL) {
    digitalWrite(TRIAC_PIN, HIGH);
  } else if (zeroCrossed) {
    if (triacCounter >= dimLevel) {
      digitalWrite(TRIAC_PIN, HIGH);
      zeroCrossed = false;
    } else {
      triacCounter++;
    }
  }
}

void adjustDimLevel() {
  if (lightOn && dimLevel > MIN_DIM_LEVEL) dimLevel--;
  else if (!lightOn && dimLevel < MAX_DIM_LEVEL) dimLevel++;
}

void checkAlarmClock() {
  if (!lightOn && isRoomDark()) {
    DateTime now = rtc.now();
    if (now.hour() == 6 && now.minute() == 0) lightOn = true;
  }
}

boolean isRoomDark() {
  return analogRead(LIGHT_SENSOR_PIN) < DARK_THRESHOLD;
}

void debugPrint() {
  Serial.print("lightOn="); Serial.println(lightOn);
  Serial.print("dimLevel="); Serial.println(dimLevel);
  DateTime now = rtc.now();
  Serial.print("datetime=");
  Serial.print(now.year()); Serial.print('/');
  Serial.print(now.month()); Serial.print('/');
  Serial.print(now.day()); Serial.print(' ');
  Serial.print(now.hour()); Serial.print(':');
  Serial.print(now.minute()); Serial.print(':');
  Serial.println(now.second());
  Serial.print("lightLevel="); Serial.println(analogRead(LIGHT_SENSOR_PIN));
}

Schaltpläne

Intelligenter Sonnenaufgangs-Wecker: Sanftes Aufwachen mit Licht
Gesamtschaltplan
Intelligenter Sonnenaufgangs-Wecker: Sanftes Aufwachen mit Licht
Platinenlayout (Lochraster)

Ausblick

Nach Testphase: Einbindung ins Smart Home (Bluetooth/WiFi), variable Weckzeiten per App, Farbtemperatur-Änderung (RGB-LED statt Glühlampe).

Herstellungsprozess

  1. Spannungsaddition bei Reihenschaltung von Batterien erforschen
  2. Spannungsteiler-Labor: Design, Messung und Verifikation des Kirchhoffschen Spannungsgesetzes
  3. Thermoelektrizität: Thermoelemente und der Seebeck-Effekt verstehen
  4. Potentiometrisches Voltmeter: Präzise Spannungsmessung mit minimaler Belastung
  5. Kartoffelbatterie bauen: Schritt-für-Schritt-Anleitung zur elektrochemischen Stromerzeugung
  6. Niederspannungs-AC-Netzteil: Phasenschieberschaltung – Komponenten & Best Practices
  7. Spannungsregler-Experiment mit 12-V-Zenerdiode
  8. Spannungsfolger-Verstärker: Design, Aufbau und Messanleitung
  9. Hochverstärkender Mehrstufen-Common-Emitter-Verstärker mit negativer Gegenkopplung
  10. Spezialdioden: Schottky, Tunnel, LED, Laser, Photodiode und Solarzellen-Innovationen