求助!求助!请大神赐教ardunio遥控蜂鸣器播放音乐的用法
2016-12-042.1万
AI 快速预览详细
本文介绍了如何使用Arduino遥控蜂鸣器播放音乐。文章提供了详细的电路连接图和编码示例,帮助学生轻松实现遥控播放器。适合初学者和学生作业,无需复杂技能。通过连接Arduino、遥控器和蜂鸣器,可以实现远程控制播放固定音乐的效果。
创作许可协议
本项目采用 None(不开放任何权利,保留所有权利) 进行许可。
创作许可协议
本项目采用 None(不开放任何权利,保留所有权利) 进行许可。
[mw_shl_code=applescript,true]#include
#include
#include
IRrecv __ab_irrecv(11);
void __ab_setupIrReceiver()
{
__ab_irrecv.enableIRIn();
__ab_irrecv.resume();
}
void charsToUpper(char *str)
{
int p=0;
while(str[p] != 0)
{
str[p] = toupper(str[p]);
++p;
}
}
void __ab_getIrCommand(char *receivedCommand)
{
decode_results result;
if (__ab_irrecv.decode(&result))
{
ltoa(result.value, receivedCommand, 16);
charsToUpper(receivedCommand);
__ab_irrecv.resume();
}
else
{
receivedCommand[0] = '\0';
}
}
char _ABVAR_1_ircode[64] = "";
void setup()
{
__ab_setupIrReceiver();
}
void newtone(int tonePin,int frequency, int duration)
{
pinMode(tonePin,OUTPUT);
int period = 1000000 / frequency;
int pulse = period / 2;
for (long i = 0; i < duration * 1000; i += period) {
digitalWrite(tonePin, HIGH);
delayMicroseconds(pulse);
digitalWrite(tonePin, LOW);
delayMicroseconds(pulse);
}
}
void loop()
{
__ab_getIrCommand(_ABVAR_1_ircode);
if (!( strlen(_ABVAR_1_ircode) == 0 ))
{
if (strcmp(_ABVAR_1_ircode, "FF30CF") == 0) //FF30CF 为遥控器按键的编码
{
newtone(8,440, 1000);
}
if (strcmp(_ABVAR_1_ircode, "FF18E7") == 0)
{
newtone(8,1000, 1000);
}
}
delay( 1000 );
}[/mw_shl_code]