亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

智能日出闹钟:用柔和光线唤醒你的清晨

元件清单

  • 万用板、导线、电阻、电容若干
  • Arduino Nano R3×1
    DS3231 高精度 RTC 模块(带备用电池)×1
    TRIAC 双向可控硅(如 BT136)×1
    4N35 光耦(过零检测)×1
    MOC3063 光耦(TRIAC 驱动,非过零型)×1
    5V 700mA 降压模块(市电转 5V)×1
    废旧灯泡底座(E27/E14)×1

    ⚠ 高压安全警告

    本项目涉及 市电高压(220V/110V),操作不当可导致严重伤害或死亡。请务必:

    原理概述

    高压侧:相位切割调光

    TRIAC 相当于高速开关,通过控制其在每个半周期的导通角度来改变灯泡两端有效电压,实现无级调光。关键在于过零检测:

    智能日出闹钟:用柔和光线唤醒你的清晨
    智能日出闹钟:用柔和光线唤醒你的清晨

    低压侧:控制逻辑

    智能日出闹钟:用柔和光线唤醒你的清晨

    制作步骤

    1. 灯泡改造: 砸碎废旧灯泡玻璃,保留铝底座,引出两根线焊接至底座触点
    2. 电路板制作: 在万用板上布局 Nano、RTC、降压模块、光耦、TRIAC 等元件,注意高低压布线隔离(爬电距离 ≥ 4mm)
    3. 组装入壳: 将电路板固定在灯泡底座内,光敏电阻外露,TRIAC 散热片贴金属外壳
    4. 上电测试: 先用低压灯泡验证调光波形,再接实用灯泡

    核心代码逻辑

    #include <TimerOne.h>
    #include <RTClib.h>
    
    #define TRIAC_PIN 2
    #define ZERO_CROSS_PIN 3
    #define LIGHT_SENSOR_PIN A6
    #define FREQUENCY_STEP 75      // 50Hz 下每亮度级步进 75µs(60Hz 改 65)
    #define CHANGE_DIM_LEVEL_EVERY 1 // 每秒变化一级
    #define MAX_DIM_LEVEL 128      // 全灭
    #define MIN_DIM_LEVEL 0        // 全亮
    #define DARK_THRESHOLD 300     // 光敏电阻阈值
    
    volatile byte triacCounter = 0;
    volatile boolean zeroCrossed = false;
    byte dimLevel = MIN_DIM_LEVEL;
    boolean lightOn = false;
    RTC_DS3231 rtc;
    
    void setup() {
      Serial.begin(115200);
      pinMode(TRIAC_PIN, OUTPUT); digitalWrite(TRIAC_PIN, LOW);
      pinMode(ZERO_CROSS_PIN, INPUT);
      pinMode(LIGHT_SENSOR_PIN, INPUT);
    
      if (!rtc.begin()) { while(1); }
      if (rtc.lostPower()) 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(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));
    }
    

    工作流程

    1. 通电自检:灯泡全亮 → 缓慢变暗至熄灭,确认电路正常
    2. 夜间待机:RTC 计时,光敏电阻监测环境光
    3. 早晨 6:00:若房间仍暗,启动“日出模式”——约 30 分钟内从 0 亮度渐变至全亮
    4. 白天/人工开灯:光敏电阻检测到环境光强,停止补光
    5. 关灯开关断电:装置断电,RTC 靠纽扣电池走时
    智能日出闹钟:用柔和光线唤醒你的清晨

    后续计划

    原理图

    包含高压驱动板与低压控制板两张原理图,详见附件图片。

    制造工艺

    1. 电池串联电压叠加实验:验证不同电压电池串联特性
    2. 分压器实验室:设计、测量与基尔霍夫电压定律(KVL)全验证
    3. 热电效应:理解热电偶与塞贝克效应
    4. 电位计电压表:以最小负载效应实现精确电压测量
    5. 制作马铃薯电池:DIY 电化学电源分步指南
    6. 低压交流电源相移电路:元件选型与最佳实践
    7. 稳压二极管电压调节实验:12V 齐纳二极管特性测试
    8. 电压跟随器放大器:设计、构建与测量指南
    9. 高增益多级共射极放大器设计:负反馈稳定性实践
    10. 高增益差分放大器设计:NPN 晶体管实现
    11. 电压比较器电路——使用双运放构建与测试
    12. 特种二极管:肖特基、隧穿、LED、激光、光电二极管与太阳能电池创新