W顺利消失?
字节fadeincrement = 5;
/ millis()时序变量,只是衰落
unsigned long previousfademillis;
int fadeInterval = 30;
//////////////////////////////////////////////////////////////////////
void setup() {
pinMode(led, OUTPUT);
Serial.begin(115200);
Serial.println("Type 'g' to hear a melody.");
}
void loop() {
// no need to repeat the melody.
unsigned long currentMillis = millis();
if (Serial.available()) {
int c = Serial.read();
if (c == 'g') {
check = true;
fadeOrNot = false;
}
if (c == 'h') {
Serial.println("Hello");
}
}
else {
if (fadeOrNot) {
doTheFade(currentMillis);
}
if (check) {
MelodyWithoutDelay(currentMillis);
}
}
}
void MelodyWithoutDelay(long cMillis) {
int noteDuration = 1700 / noteDurations[thisNote];
int pauseBetweenNotes = noteDuration * 1.2;
if ((cMillis - songMillis <= pauseBetweenNotes / 4)) {
digitalWrite(led, LOW);
}
else if ((cMillis - songMillis <= pauseBetweenNotes)) {
tone(buzzer, melody[thisNote], noteDuration);
if (melody[thisNote] != 0){
digitalwrite(LED,高);} } {
其他
如果(数据> = lengthofsong){
数据= 2;
检查=假;
fadeornot = true;
}
数据+ +;
不一(蜂鸣器);
songmillis = cmillis;蜂鸣器
} }
无效dothefade(unsigned long thismillis)
/ {
如果(thismillis - previousfademillis > = fadeinterval){
如果(B){
fadevalue + = fadeincrement;
如果(fadevalue > = maxpwm){
/最大,限制和改变方向
fadevalue = maxpwm;
B = false;} } {
其他
fadevalue = fadeincrement;
如果(fadevalue <= minpwm){
/ / min,限制和改变方向
fadevalue = minpwm;
B = true;
}
}
analogWrite(LED,fadevalue);
===================================================================================
我希望你喜欢这个教程,我希望大部分你将能够程序的无线!
你想创建一个命令吗?看看这个链接去参加一个自由班来帮助启动你的兴趣教学。
关键是在外面玩的开心,做一些你和其他人觉得有趣,这是最困难的部分,然后你必须解释每一步的关键细节。我希望你能加入我们的教学社区!
记住,尽量少用延迟你的代码<u>在你的工作</u>,当然:)
-
melodywithoutdelayexample.zip
(责任编辑:admin) |