冷冻哈密瓜 发表于 2023-5-24 11:20:41

双色LED

int redPin = 11;    // select the pin for the red LED
int greenPin = 10;   // select the pin for the blue LED
int val = 0;
void setup()
{
pinMode(redPin, OUTPUT); //set redPin as OUTPUT
pinMode(greenPin, OUTPUT); //set greenPin as OUTPUT
Serial.begin(9600);
}
void loop()
{
for(val=255; val>0; val--)//
{
    analogWrite(redPin, val); //red value decrease
    analogWrite(greenPin, 255-val); // green value increase
    Serial.println(val, DEC); //print the val on in serial monitor
    delay(30); //delay 30ms
}
for(val=0; val<255; val++)
{
    analogWrite(redPin, val); //red value increase
    analogWrite(greenPin, 255-val); // green value decrease
    Serial.println(val, DEC); //print the val on in serial monitor
    delay(30); //delay 30ms
}
}

有大佬知道为啥只闪绿色灯吗

isdkz 发表于 2023-5-24 11:23:25

你的代码中使用了Arduino的 analogWrite() 函数来控制两种颜色的LED灯:红色和绿色。 analogWrite() 函数能够用来控制一个PWM引脚的占空比,从而实现对LED亮度的调节。

根据你的描述,只闪烁绿色的LED,这可能是由以下几个原因导致的:

1. 硬件问题:请检查红色LED和连接红色LED的线路是否正常。你可以通过将红色LED直接接到5V电源来检查它是否能够正常发光。

2. 引脚问题:确认你使用的Arduino板子的引脚是否支持PWM输出。在Arduino UNO中,支持PWM的引脚有3、5、6、9、10和11。如果你使用的是其他型号的Arduino,可能会有所不同。

3. 代码问题:你可以尝试修改你的代码,只控制红色LED,查看红色LED是否能正常工作。如果红色LED仍然不能工作,那么可能就是代码的问题了。

在进行硬件测试和代码修改的过程中,记得先断电,以防止电路损坏或短路。
页: [1]
查看完整版本: 双色LED