一个人破 发表于 2025-3-31 23:00

小制作_寝室光闹钟

#申请原创#@21小跑堂 清理电脑文件时,发现了一个陪伴我度过宿舍生活的小制作。上传仅记录我的青葱岁月,免费分享程序和PCB(实在是不值钱的东西)


1、设计背景
在早晨时分,有一类人即使用手机设置了闹铃依旧无法正常起床。这是因为闹铃只提供声音与振动信号,在长期适应下,人体产生惰性。而本设计选择一种刺激更为强烈的光信号作为人体唤醒机制。光线会唤醒视觉系统,由它传递信号给潜意识,并叫醒脑部。

2、功能需求
使用RTC定时控制开灯

3、方案设计
MCU:APM32F103RET6
熄灯操作:使用SG90舵机对寝室灯开关进行“关”与“开”
定时功能:RTC模块


4、功能实现
4.1 MCU运行
上电之后使用PA7作为指示灯,闪烁2次。
系统时钟源:HSI
系统时钟:HSI 8MHz
APM32F103RET6引脚图:

4.2 熄灯操作
A、控制信号
暗灰——GND
红色——VDD
橙黄——脉冲输入。周期20ms,其中脉冲宽度从0.5ms~2.5ms,对应角度0°~180°,线性变化。


B、灯开关操作
关灯操作:配置60°转动,再转回松开灯开关。
关灯转动:60°脉冲宽度计算为1.16ms(0.66ms+0.5ms=1.16ms)
松开转动:0°脉冲宽度计算为0.5ms
操作之间延时500ms
开灯操作:与关灯操作相同,放灯开关的另一端进行控制

C、IO分配
关灯——PB5
开灯——PA5

注意点:舵机分为180度舵机和360度舵机,不要买错。
1)360度舵机
信号端只要输入一个50Hz(20ms)的方波信号,然后控制信号周期的高电平脉冲持续的时间就可以控制速度和正反转及停转。一个高电平脉冲持续的时间对应一个速度。
高电平为1毫秒~1.5毫秒时,舵机正转(1毫秒时正转速度最快,越版接近1.5毫秒越慢)
高电平为1.5毫秒时,舵机停转
高电平为1.5毫秒~2毫秒时舵机反转(1.5毫秒时舵机停转,越接近2毫秒反转的速度越快,2毫秒时以最快的速度反转)。
2)180度舵机
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分,总间隔为2ms。以180度角度伺服为例,那么对应的控制关系是这样的:
0.5ms————–0度;
1.0ms————45度;
1.5ms————90度;
2.0ms———–135度;
2.5ms———–180度;

4.3 计时功能
使用MCU_RTC计时
闰年判断方法:四年一闰,百年不闰,四百年再闰


//输入:年份
//输出:该年份是不是闰年.1,是.0,不是
u8 Is_Leap_Year(u16 year)
{

if(year%4==0) //必须能被4整除
{
    if(year%100==0)
    {
      if(year%400==0)return 1;//如果以00结尾,还要能被400整除
      else return 0;
    }else return 1;
}else return 0;
}

时间与秒换算


时间
秒数

1分钟
60

1小时
3600

1天
86400

28天
2419200

29天
2505600

30天
2592000

31天
2678400

1平年
31536000

1闰年
31622400


4.4 串口通信修改RTC
串口指令分为10个,T0~T9


1)例如配置当前时间为2023年05年21日13点00分00秒,则依次输入如下串口指令:


2)例如配置闹钟时间为2023年05年21日8点30分00秒,则依次输入如下串口指令:


5、硬件说明
5.1 灯座
宽:


长:


PCB:


F、手册资料






一个人破 发表于 2025-3-31 23:04

如果有下载查看调试笔记的话,可以看到当时其实有想加入语音控制模块。但做完初版后,感觉能用就没再往下继续了,希望以后还能抽空拿出来改改

Wxy8030 发表于 2025-3-31 23:34

发点实物图片看看呢

王栋春 发表于 2025-4-1 07:38

这种带单片机和程序控制的东西,感觉非常高大上。

丙丁先生 发表于 2025-4-1 09:37

感谢分享。

Gfan 发表于 2025-4-1 09:43

一个人破 发表于 2025-3-31 23:04
如果有下载查看调试笔记的话,可以看到当时其实有想加入语音控制模块。但做完初版后,感觉能用就没再往下继 ...

期待看到再升级版本加上语音控制很方便呀

jlc317 发表于 2025-4-1 11:29

上个实物图片来赏赏眼

一个人破 发表于 2025-4-1 14:57

Wxy8030 发表于 2025-3-31 23:34
发点实物图片看看呢

几年前的东西了,搬家的时候粘在墙上没带走。只留了一些裸板

xionghaoyun 发表于 2025-4-1 16:18

兄弟 要弄低功耗

qintian0303 发表于 2025-4-1 17:09

期待效果展示,申请原创的话可能还需要再都来点文字性描述,感觉不够500字

水之呢喃 发表于 2025-4-1 23:08

在校生的电子DIY制作已经很棒了

丙丁先生 发表于 2025-4-2 13:47

感谢分享。

zjk103 发表于 2025-4-2 15:08

舵机怎么固定的?

地瓜patch 发表于 2025-4-12 18:05

舵机是干嘛用的

一个人破 发表于 2025-4-14 15:29

地瓜patch 发表于 2025-4-12 18:05
舵机是干嘛用的

这个设计是在正常的寝室灯开关按钮的基础上,使用舵机对灯开关进行按压控制的

一个人破 发表于 2025-4-14 15:30

zjk103 发表于 2025-4-2 15:08
舵机怎么固定的?

我用的是3M胶,纳米胶也很好用

一个人破 发表于 2025-4-14 15:32

zjk103 发表于 2025-4-2 15:08
舵机怎么固定的?

舵机粘在PCB上,PCB粘在灯开关旁边
页: [1]
查看完整版本: 小制作_寝室光闹钟