我是arduino代码的完整菜鸟,所以这可能看起来很愚蠢,但是,为什么我的代码无效?
// IRremote - Version: Latest
#include <IRremote.h>
#include <IRremoteInt.h>
int ledPin = 9;
/*
*/
void setup()
{
analogWrite(9,0);
Serial.begin(9600);
irrecv.enableIRIn();
void loop();
{
if (irrecv.decode(4294967295));
{
analogWrite(9,255);
analogWrite(9,0);
delay(500]);
irrecv.resume();
if (irrecv.decode(4294967295));
{
analogWrite(9,0);
}
}
}
此外,在第14行,它表示&#34;&#39; irrecv未在此范围内声明。&#34;
答案 0 :(得分:0)
这是我注意到的:
您必须为输出设置引脚模式:
void setup(){
//SET YOUR PINMODE HERE
pinmode(9,OUTPUT)
//THEN SET IT TO LOW / 0
analogWrite(9,0)
}
我不能说你的IRr库,但你的if语句也有可能错误。您需要将引脚设置为高电平(亮起)然后等待500 ms然后将其关闭。你快速闪烁,你看不到光。
void loop() {
if (irrecv.decode(4294967295))
{
analogWrite(9,255)
delay(500) <--- HERE is the right place for the delay
analogWrite(9,0)
//delay(500]) <--- NOT HERE and remove "]" -bracket
}
我希望这至少有点帮助。切记:始终在设置功能中设置输入和输出。
请看下面的链接。在那里你可以看到引脚是如何设置的等等。 https://www.arduino.cc/en/Reference/AnalogWrite