温湿度日历显示器——评论专帖
评论请跟帖~
查看设计创意简介
3楼
同意jpp的意见,做室内装饰有点不现实,LCD太大太贵,LED功耗大也不好看。建议做成一个桌上的闹钟就可以了,可设置多个闹铃时间,用IO口驱动蜂鸣器“唱歌”,或者直接从音乐贺卡上拆下音乐芯片来用(我以前就这么做的)。
此外,LCD像素够的话(比如128×64),可以做成指针式的(这很考验你的美工设计和编程水平),可以是指针在转也可以是表盘在转,可以做得很有创意很个性。
至于温度和湿度,其实没什么难度,就是一个传感器接口。
5楼
每个人的能力各有不同!我个人觉得能带给自己挑战的方案就是好的ID!不求能入围绝世好作品,但求能是自己设计生涯中的一个阶段性的胜利!
8楼
带阴历的RTC,我还没见过,能给个型号吗?阴历好像没有什么规律的,要查表,这个我没详细研究过。
单片机,当然用NEC的了,这里是NEC专区嘛。这个题目对单片机没什么特别要求。
单片机,当然用NEC的了,这里是NEC专区嘛。这个题目对单片机没什么特别要求。
带阴历的rtc确实还没听说过,不过可以计算阴历,下面是:
历法转换
一、节气的计算
先给节气进行编号,从近日点开始的第一个节气编为0,编号如下及其相应的月份如下:
0 小寒 腊月 6 清明 三月 12 小暑 六月 18 寒露 九月
1 大寒 腊月 7 谷雨 三月 13 大暑 六月 19 霜降 九月
2 立春 正月 8 立夏 四月 14 立秋 七月 20 立冬 十月
3 雨水 正月 9 小满 四月 15 处暑 七月 21 小雪 十月
4 惊蛰 二月 10 芒种 五月 16 白露 八月 22 大雪 冬月
5 春分 二月 11 夏至 五月 17 秋分 八月 23 冬至 冬月
把当天和1900年1月0日(星期日)的差称为积日,那么第y年(1900年算第0年)第x 个节气的积日是
F = 365.242 * y + 6.2 + 15.22 * x - 1.9 * sin(0.262 * x)
这个公式的误差在0.05天左右。
二、朔日的计算
从1900年开始的第m个朔日的公式是
M = 1.6 + 29.5306 * m + 0.4 * sin(1 - 0.45058 * m)
这个公式的误差在0.2天左右。
三、年份的确定
1864年1月0日是农历癸亥年,所以用当年减去1864,用10除得的余数作为年份天干的,用12除得的余数作为年份的地支,数字对应的天干和地支如下。
数字 0 1 2 3 4 5 6 7 8 9 10 11
天干 甲 乙 丙 丁 戊 己 庚 辛 壬 癸
地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
当年的1月0日换算为积日,可以用年份减去1900得到的年数被4整除,所得商数作为 y(D4),余数作为y(M4),y(M4)为零的年份是公历闰年,积日是
D(1) = 1461 * y(D4) - 1
y(M4)不为零的年份是公历平年,积日是
D(1) = 1461 * y(D4) + 365 * y(M4)
四、月份的确定
计算前一年冬至的积日F(0),并用F(0)计算冬至所在的朔月m及其朔日M(0),就可以推算冬至的农历日期,冬至所在的农历月份总是十一月。计算下一个中气F(1)和下一个朔日M(1),如果F(1)<M(1),那么该月就是上一个月的闰月,并把这个中气作为F(2),以后的中气、朔日和农历月份也这样确定。
历法转换
一、节气的计算
先给节气进行编号,从近日点开始的第一个节气编为0,编号如下及其相应的月份如下:
0 小寒 腊月 6 清明 三月 12 小暑 六月 18 寒露 九月
1 大寒 腊月 7 谷雨 三月 13 大暑 六月 19 霜降 九月
2 立春 正月 8 立夏 四月 14 立秋 七月 20 立冬 十月
3 雨水 正月 9 小满 四月 15 处暑 七月 21 小雪 十月
4 惊蛰 二月 10 芒种 五月 16 白露 八月 22 大雪 冬月
5 春分 二月 11 夏至 五月 17 秋分 八月 23 冬至 冬月
把当天和1900年1月0日(星期日)的差称为积日,那么第y年(1900年算第0年)第x 个节气的积日是
F = 365.242 * y + 6.2 + 15.22 * x - 1.9 * sin(0.262 * x)
这个公式的误差在0.05天左右。
二、朔日的计算
从1900年开始的第m个朔日的公式是
M = 1.6 + 29.5306 * m + 0.4 * sin(1 - 0.45058 * m)
这个公式的误差在0.2天左右。
三、年份的确定
1864年1月0日是农历癸亥年,所以用当年减去1864,用10除得的余数作为年份天干的,用12除得的余数作为年份的地支,数字对应的天干和地支如下。
数字 0 1 2 3 4 5 6 7 8 9 10 11
天干 甲 乙 丙 丁 戊 己 庚 辛 壬 癸
地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
当年的1月0日换算为积日,可以用年份减去1900得到的年数被4整除,所得商数作为 y(D4),余数作为y(M4),y(M4)为零的年份是公历闰年,积日是
D(1) = 1461 * y(D4) - 1
y(M4)不为零的年份是公历平年,积日是
D(1) = 1461 * y(D4) + 365 * y(M4)
四、月份的确定
计算前一年冬至的积日F(0),并用F(0)计算冬至所在的朔月m及其朔日M(0),就可以推算冬至的农历日期,冬至所在的农历月份总是十一月。计算下一个中气F(1)和下一个朔日M(1),如果F(1)<M(1),那么该月就是上一个月的闰月,并把这个中气作为F(2),以后的中气、朔日和农历月份也这样确定。
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |