最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

Arduino最后倒计时定时器无线编程(5)

时间:2017-05-24 20:34来源:未知 作者:admin 点击:
n if语句,所以它是完美的代码,需要更新每一毫秒! 如果(fadeornot = = false){ dothefade(currentmillis);//衰落LED( 因为它看起来很酷) } 如果! 暂停和lightornot){ 如果(currentmillis - psmillis =
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 =
 
  • Arduino最后倒计时定时器无线编程ac_switch_with_no_delay.zip
    下载

步骤13:结论:提示和技巧完全手册

  1. 第一步是打开你的蓝牙设备,找到你的设备。(记住,你的密码是当我们在命令模式,我的是1234)”的默认密码是1234”
  2. 第二,打开Arduino蓝牙控制器的应用。
  3. 第三、在你的设备上点击并确认没有其他设备连接到它。同时,确保Arduino是插在通过DC插座或USB。
    1. 注:由于蓝牙模块把你的Arduino到无线接收器的USB端口是不可用的,所以你不能计划通过USB,但你可以通过USB然后程序的无线(如果你是编程通过USB,但你不是)。
  4. 在终端模式下点击。

在开始的时候,“倒计时”定时器将问你多久,你想把你的机器。

Arduino最后倒计时定时器无线编程

  • 恼人的是,当你插入你的Arduino与权力、串口吐出段引言(可在setup()删除)。
    • Arduino最后倒计时定时器无线编程

      1. 串联重复setup()每次有新设备连接
      2. 所以每次你进入程序通过蓝牙后堵在Arduino的力量,会给你介绍两款!
        1. 为了避免这种情况,进入终端模式<strong>两次</strong>(只是退出程序,再点击你的蓝牙设备)。你只需要做一次每次你给Arduino的权力。

*****************************************************************************************************************************完全手册

  1. 定时器指令
    • 如果你想要一个定时器1小时29minutes和30s,你会1h29m30s型和顺序并不重要。如果你真的想让周围的混乱,你可以说“29am 1 Wh 3q,0wes,仍然得到相同的结果;只要<strong>数</strong>小时/分钟/秒总是先于<strong>信</strong>,代表的时间单位,它是一个有效的按键。除了字母“Y”和“V”,因为他们有潜力激活定时器<strong>还没开始</strong>呢(看下面)。
  • 这些命令只在定时器还没有开始(出于安全原因)
    • 如何查看定时器吗?
      • 类型V / /你不必型V开始计时;它只是确保你如果你输入的是不是正确的。
    • 如何启动定时器吗?
      • Y型是。
        • 哔跟着你开始,和LED将开始消失,以更快的速度。
  • 这些命令后,定时器工作已经开始(出于安全原因,如人的宝贝,点击“Y”太多的时间在您的手机,集无限定时器(或大于50天:]))
    • 如何暂停/恢复定时器吗?
      • 型P /吐出时间暂停计时器
    • 如何重置定时器吗?
      1. “R”型
    • 如何结束定时器吗?
      1. 型“e”
    • 如何看时间的剩余量?
      1. 型W /吐出时间做其他任何事情
  • 这些命令在所有时间的工作(因为它是安全的方式)
    • 如何关闭蜂鸣器(音)?
      1. “B”类
      2. 如何切换光吗?/ /说你不喜欢光,因为它太亮了。嗯,你可以把它关掉,定时器仍然会做它的工作!不是多漂亮!
        • “L”型切换光从->上->衰落
        • 暂停时,LED会闪烁一次。恢复时,LED将继续以正常的速度。
      3. 技巧
        • <strong>让我们说你需要一个时间上的“1m40s”但你不小心输入“1m0s”。嗯,这是很简单的解决</strong>。所有你要做的是“40”型。然后,当你输入“V”来查看你的计时器,你会看到Arduino说1分40秒。
  • 你可能注意到你不能超过1小时30分钟的时间。这是因为我想对这个产品添加安全功能。
    1. 例如:有人说婴儿<strong>意外</strong>类型的100h”。这会持续100个小时,可能不会很好的机器,你的<strong>电费</strong>!
  • 但如果你想要一个4小时的最大运行时间,你会说:
    1. 国际人力资源= 4;
    2. int Mn = 0;
    3. int秒= 0;

步骤14:结语:解释代码

我强烈建议听视频。

我将解释的主要复杂的代码,因为一切都比其他的暂停/恢复代码很容易了解自己。因此,暂停/恢复的代码将被解释在视频比什么都重要。如果你们想要我的代码的其他部分的一些解释,请不要犹豫,请通过评论。

如果你需要额外的帮助,FadeWithoutDelay检查了秃头工程师网站

MelodyWithoutDelay是我发明的。它基本上是一样的tonemelody相同,除了它不包含延迟。看看我原来的MelodyWithoutDelay下面的代码:

  • 这首歌是为“倒计时”相同,但它的扩展版本,持续41秒。
  • 激活型G。测试Arduino的多任务处理能力型“H”和Arduino会说“你好”时给你唱一曲!
  • 你可以上传的代码下面的“倒计时”计时器箱;不会发生什么不幸。
melodywithoutdelay代码
//Invented by Nathan Ramanathan
#include "pitches.h"
#define led 11    //attach a LED at pin 11
#define buzzer 6


unsigned long songMillis = 0;
bool check = false, a = false, fadeOrNot = true;
int thisNote = -1;
// notes in the melody:
//int melody[] = {
//  NOTE_E4, NOTE_F4, NOTE_FS4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5
//};


int melody[] = {//The FINAL COUNTDOWN song
  NOTE_B4, NOTE_A4, NOTE_B4, NOTE_E4, 0, NOTE_C5, NOTE_B4, NOTE_C5, NOTE_B4, NOTE_A4, 0, NOTE_C5, NOTE_B4, NOTE_C5, NOTE_E4, NOTE_FS4, 0, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_FS4, NOTE_A4,   NOTE_G4,0,NOTE_B4,NOTE_A4,NOTE_B4,NOTE_E4,0,NOTE_C5,NOTE_B4,NOTE_C5,NOTE_B4,NOTE_A4,0,NOTE_B4,NOTE_A4,NOTE_B4,NOTE_E4,NOTE_FS4,0,NOTE_A4,NOTE_G4,NOTE_A4,NOTE_G4,NOTE_FS4,NOTE_A4,   NOTE_G4,NOTE_FS4,NOTE_G4,NOTE_A4,NOTE_G4,NOTE_A4,NOTE_B4,NOTE_A4,NOTE_G4,NOTE_FS4,NOTE_E4,NOTE_B4,NOTE_C5,NOTE_G4,0,NOTE_B4,NOTE_A4,NOTE_B4,NOTE_E4,0,NOTE_C5,NOTE_B4,NOTE_C5,NOTE_B4,NOTE_A4,    0,NOTE_C5,NOTE_B4,NOTE_C5,NOTE_E4,NOTE_FS4,0,NOTE_A4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_FS4, NOTE_A4,NOTE_G4,0,NOTE_B4,NOTE_A4,NOTE_B4,NOTE_E4,0,NOTE_C5, NOTE_B4, NOTE_C5, NOTE_B4, NOTE_A4,0, NOTE_C5,NOTE_B4,NOTE_C5,NOTE_E4,   NOTE_FS4,0,NOTE_A4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_FS4, NOTE_A4,NOTE_G4        
};


// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
  16, 16, 4, 4, 2, 16, 16, 8, 8, 4, 2, 16, 16, 4, 4, 4, 4, 16, 16, 8, 8, 8, 8,  4,8,16,16,4,4,2,16,16,8,8,4,2,16,16,4,4,4,6,16,16,8,8,8,8,  2,16,16,3,16,16,8,8,8,8,4,8,1,4,8,16,16,4,4,2,16,16,8,8,8,  2,16,16,4,4,4,8,16,16,8,8,8,8,4,6,16,16,4,4,2,16,16,8,8,4,2,16,16,4,4,  4,6,16,16,8,8,8,8,4
};


const int lengthOfSong = 23+25+25+30+9; //For some reason the millis() doesn't like calculating array size.
//////////////////////////////////////////////////////////////////////
// constants for min and max PWM
const int minPWM = 0;
const int maxPWM = 255;

// State Variable for Fade Direction
bool b = true;

// Global Fade Value
// but be bigger than byte and signed, for rollover
int fadeValue = 0;


// Ho
      
      (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片