n if语句,所以它是完美的代码,需要更新每一毫秒!
如果(fadeornot = = false){
dothefade(currentmillis);//衰落LED(…因为它看起来很酷)
}
如果!暂停和lightornot){
如果(currentmillis - psmillis > = 500){ //显示计时器暂停
digitalwrite(LED,!//读出数字接口的值(LED));//将LED和快速的方式。
psmillis = currentmillis;
} }如果
(短期){
如果(currentmillis - shorttimemillis > = beeptime){
如果(buzzercount > 5){
期=假;
buzzercount = 0;
其他
{ },!//读出数字接口的值(speakerpin));
shorttimemillis = currentmillis;
buzzercount + +;
} } }如果
((观众)){
如果(currentmillis - psmillis > = 3E3){ //输入后,定时器,用户可能不知道。所以一个提示会弹出像一个恼人的广告后3秒。
串行out.println(“T”型以为:“V”来查看你的计时器。”);
psmillis = currentmillis;
查看器=假;
} }如果
(启动和暂停){ //,if()声明,激活时,“Y”是输入序列。
/ /
如果(间隔> = 18.5e3){
如果(currentmillis - psmillis > =(newinterval - 18.5e3)){ //这将关闭当表机。18.5e3秒的音乐播放时间。
melodywithoutdelay(currentmillis);/ /结束计时器倒计时的歌
} } {
其他
如果(currentmillis - psmillis > =(newinterval)){
数据= lengthofsong;
melodywithoutdelay(currentmillis);/结束定时器哔哔声
} } } }
}
/无效dothefade(unsigned long thismillis){ //特别感谢秃头工程师FadeWithoutDelay密码
/看baldengineer.com/fading-led-analogwrite-millis-example.html更多信息
/ James Lewis创造的
/是时候更新
/如果没有,什么都没有发生
如果(lightornot){
如果(thismillis - previousfademillis > = fadeinterval){
/是的,它是!
if (q) {
fadeValue += fadeIncrement;
if (fadeValue >= maxPWM) {
// At max, limit and change direction
fadeValue = maxPWM;
q = false;
}
} else {
//if we aren't going up, we're going down
fadeValue -= fadeIncrement;
if (fadeValue <= minPWM) {
// At min, limit and change direction
fadeValue = minPWM;
q = true;
}
}
// Only need to update when it changes
analogWrite(led, fadeValue);
// reset millis for the next iteration (fade timer only)
previousFadeMillis = thisMillis;
}
}
}
void readTime(bool a_a, bool b_b, bool c_c, int hh, int mm, int ss) {
split = "";
if (a_a) {
split += (hh + String(" hours"));
}
if (a_a && b_b) {
split += ((", and ") + String(mm) + String(" minutes"));
}
else if (b_b) {
split += (mm + String(" minutes"));
}
if ((b_b && c_c) || (c_c && a_a)) {
split += ((", and ") + String(ss) + String(" se条件”));} else if(
c_c){
分裂+ =(SS +字符串(“秒”));}
!(a_a)&!(b_b)&!(c_c)){
分=(显然没有。”);} }
无效readduring(双把){
int哈=小时(弄/(1E3));
int马=分钟(得到/(1E3));
int SA =二(得到/(1E3));
布尔真=假;布尔btrue = false;布尔ctrue = false!= 0)
真实=真实;
如果!= 0)
btrue = true;
如果!= 0)
ctrue = true;
readtime(真正的,btrue,ctrue,哈,马,SA);
系列。println(分裂);
}
/
无效MelodyWithoutDelay(双cmillis){
int noteduration = 1700 / notedurations [数据];
int pausebetweennotes = noteduration * 1.2;
如果((cmillis - songmillis <= pausebetweennotes / 4)){
digitalwrite(LED,低);
}
else if((cmillis - songmillis <= pausebetweennotes)){
音(speakerpin,旋律[数据],noteduration);
如果(lightornot)
digitalwrite(LED,高);
} {
其他
fadeornot = true;
如果(数据> = lengthofsong){
数据= 2;
psmillis = cmillis;
digitalwrite(继电器,高;
fadeinterval = 45;
fadeornot = false;
开始=假;
期= true;
beeptime = 1E3;
}
数据+ +;
不一(speakerpin);
songmillis =
-
ac_switch_with_no_delay.zip
下载
步骤13:结论:提示和技巧完全手册
-
第一步是打开你的蓝牙设备,找到你的设备。(记住,你的密码是当我们在命令模式,我的是1234)”的默认密码是1234”
-
第二,打开Arduino蓝牙控制器的应用。
-
第三、在你的设备上点击并确认没有其他设备连接到它。同时,确保Arduino是插在通过DC插座或USB。
-
注:由于蓝牙模块把你的Arduino到无线接收器的USB端口是不可用的,所以你不能计划通过USB,但你可以通过USB然后程序的无线(如果你是编程通过USB,但你不是)。
-
在终端模式下点击。
在开始的时候,“倒计时”定时器将问你多久,你想把你的机器。
![Arduino最后倒计时定时器无线编程](https://www.instructables.com/files/deriv/FBQ/TX87/J1GPE7ZD/FBQTX87J1GPE7ZD.LARGE.jpg)
-
恼人的是,当你插入你的Arduino与权力、串口吐出段引言(可在setup()删除)。
-
![Arduino最后倒计时定时器无线编程](/uploads/allimg/170524/2036401117-6.jpg)
-
串联重复setup()每次有新设备连接
-
所以每次你进入程序通过蓝牙后堵在Arduino的力量,会给你介绍两款!
-
为了避免这种情况,进入终端模式<strong>两次</strong>(只是退出程序,再点击你的蓝牙设备)。你只需要做一次每次你给Arduino的权力。
*****************************************************************************************************************************完全手册
-
定时器指令
-
如果你想要一个定时器1小时29minutes和30s,你会1h29m30s型和顺序并不重要。如果你真的想让周围的混乱,你可以说“29am 1 Wh 3q,0wes,仍然得到相同的结果;只要<strong>数</strong>小时/分钟/秒总是先于<strong>信</strong>,代表的时间单位,它是一个有效的按键。除了字母“Y”和“V”,因为他们有潜力激活定时器<strong>还没开始</strong>呢(看下面)。
-
这些命令只在定时器还没有开始(出于安全原因)
-
如何查看定时器吗?
-
类型V / /你不必型V开始计时;它只是确保你如果你输入的是不是正确的。
-
如何启动定时器吗?
-
这些命令后,定时器工作已经开始(出于安全原因,如人的宝贝,点击“Y”太多的时间在您的手机,集无限定时器(或大于50天:]))
-
如何暂停/恢复定时器吗?
-
如何重置定时器吗?
-
“R”型
-
如何结束定时器吗?
-
型“e”
-
如何看时间的剩余量?
-
型W /吐出时间做其他任何事情
-
这些命令在所有时间的工作(因为它是安全的方式)
-
如何关闭蜂鸣器(音)?
-
“B”类
-
如何切换光吗?/ /说你不喜欢光,因为它太亮了。嗯,你可以把它关掉,定时器仍然会做它的工作!不是多漂亮!
-
“L”型切换光从->上->衰落
-
暂停时,LED会闪烁一次。恢复时,LED将继续以正常的速度。
-
技巧
-
<strong>让我们说你需要一个时间上的“1m40s”但你不小心输入“1m0s”。嗯,这是很简单的解决</strong>。所有你要做的是“40”型。然后,当你输入“V”来查看你的计时器,你会看到Arduino说1分40秒。
-
你可能注意到你不能超过1小时30分钟的时间。这是因为我想对这个产品添加安全功能。
-
例如:有人说婴儿<strong>意外</strong>类型的100h”。这会持续100个小时,可能不会很好的机器,你的<strong>电费</strong>!
-
但如果你想要一个4小时的最大运行时间,你会说:
-
国际人力资源= 4;
-
int Mn = 0;
-
int秒= 0;
步骤14:结语:解释代码
我强烈建议听视频。
我将解释的主要复杂的代码,因为一切都比其他的暂停/恢复代码很容易了解自己。因此,暂停/恢复的代码将被解释在视频比什么都重要。如果你们想要我的代码的其他部分的一些解释,请不要犹豫,请通过评论。
如果你需要额外的帮助,FadeWithoutDelay检查了秃头工程师网站。
MelodyWithoutDelay是我发明的。它基本上是一样的tonemelody相同,除了它不包含延迟。看看我原来的MelodyWithoutDelay下面的代码:
-
这首歌是为“倒计时”相同,但它的扩展版本,持续41秒。
-
激活型G。测试Arduino的多任务处理能力型“H”和Arduino会说“你好”时给你唱一曲!
-
你可以上传的代码下面的“倒计时”计时器箱;不会发生什么不幸。
|