目录
前言1,关于arduino2,代码3,总结
前言
相关arduino 全部分类: https://blog.csdn.net/freewebsys/category_8799254.html
本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/104528199
未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys
1,关于arduino
特别简单的应用场景。闺女上网课程,但是大人在家工作。 有的时候顾不上,结果闺女偷摸看动画片,把时间忘记了。 开始准时上课,后来都错过几分钟。有的时候错过半个小时。
上网课时间上午, 8 - 11 下午 14-20 提前 2 分钟,也就是上一个小时的 58 分钟。 最近研究 Arduino ,而且正好也有蜂鸣器。从网上搜索了一个欢乐颂歌曲: 需求很简单。提前2 分钟提醒下闺女上课。
https://blog.csdn.net/qq_42216781/article/details/91994595
2,代码
因为ESP8266 没有电池,需要使用阿里的时间服务器。 安装NTPClinet。 主要使用 NTPClient timeClient(ntpUDP,“ntp1.aliyun.com”, 60608 , 30601000); 设置时区中国,设置半小时同步一次时钟时间。 然后先判断小时 在 8 - 11 下午 14-20 ,往前一小时, 然后再判断分钟 == 58 即可。 如果符合就播放音乐提醒。
/*
This sketch establishes a TCP connection to a "quote of the day" service.
It sends a "hello" message, and then prints received data.
*/
// ################### song begin #####################
#define NTD0 -1
#define NTD1 294
#define NTD2 330
#define NTD3 350
#define NTD4 393
#define NTD5 441
#define NTD6 495
#define NTD7 556
#define NTDL1 147
#define NTDL2 165
#define NTDL3 175
#define NTDL4 196
#define NTDL5 221
#define NTDL6 248
#define NTDL7 278
#define NTDH1 589
#define NTDH2 661
#define NTDH3 700
#define NTDH4 786
#define NTDH5 882
#define NTDH6 990
#define NTDH7 112
#define WHOLE 1
#define HALF 0.5
#define QUARTER 0.25
#define EIGHTH 0.25
#define SIXTEENTH 0.625
// huanlesong
int tune[]=
{
NTD3,NTD3,NTD4,NTD5,
NTD5,NTD4,NTD3,NTD2,
NTD1,NTD1,NTD2,NTD3,
NTD3,NTD2,NTD2,
NTD3,NTD3,NTD4,NTD5,
NTD5,NTD4,NTD3,NTD2,
NTD1,NTD1,NTD2,NTD3,
NTD2,NTD1,NTD1,
NTD2,NTD2,NTD3,NTD1,
NTD2,NTD3,NTD4,NTD3,NTD1,
NTD2,NTD3,NTD4,NTD3,NTD2,
NTD1,NTD2,NTDL5,NTD0,
NTD3,NTD3,NTD4,NTD5,
NTD5,NTD4,NTD3,NTD4,NTD2,
NTD1,NTD1,NTD2,NTD3,
NTD2,NTD1,NTD1
};
float durt[]=
{
1,1,1,1,
1,1,1,1,
1,1,1,1,
1+0.5,0.5,1+1,
1,1,1,1,
1,1,1,1,
1,1,1,1,
1+0.5,0.5,1+1,
1,1,1,1,
1,0.5,0.5,1,1,
1,0.5,0.5,1,1,
1,1,1,1,
1,1,1,1,
1,1,1,0.5,0.5,
1,1,1,1,
1+0.5,0.5,1+1,
};
int length;
int tonepin=3;
int ledp=15;
//song function
void sing_song()
{
for(int x=0;x |