Я использую этот код для изменения яркости, но она не меняется, несмотря на то, что ШИМ контакта 3 уже изменился.
#include <IRremote.h>
const int Recv_Pin = A0;
int state = 0;
int bright = 255;
int i;
unsigned long lastT = millis();
void setup()
{
Serial.begin(9600);
pinMode(3, OUTPUT);
digitalWrite(3, LOW);
IrReceiver.begin(Recv_Pin, true, 13);
}
void loop()
{
if (IrReceiver.decode()){
uint32_t dataRemote = IrReceiver.decodedIRData.decodedRawData;
if(dataRemote>0){
Serial.println(dataRemote);
if (dataRemote == 4278238976 && state == 0)
{
state = 1;
}
else if (dataRemote == 4278238976 && state == 1)
{
state = 0;
}
else if(dataRemote == 4144545536 && state == 1)
{
state = 2;
bright -=10;
}
if (state == 0)
{
digitalWrite(3, LOW);
}
else if (state == 1)
{
digitalWrite(3, HIGH);
}
else if(state == 2)
{
analogWrite(3, bright);
state = 1;
}
}
lastT = millis();
IrReceiver.resume();
Serial.print(state);
Serial.print(' ');
Serial.println(bright);
}
}
@AWWWWW, 👍0
Обсуждение0
Смотрите также:
- Код Arduino для управления 4 светодиодами с 4 кнопок
- Использование ИК-пульта с Arduino
- Arduino включение/затухание 5 светодиодов, схема действия
- Ошибка загрузки Arduino IDE
- Изменения яркости светодиодов
- Проблема с потенциометром
- avrdude ser_open() can't set com-state
- Float печатается только 2 десятичных знака после запятой
мы не знаем, работает ли ваш ИК-код или работает ли светодиодный код... забудьте о вашем коде на данный момент... напишите простой скетч, который зажигает светодиод на полную яркость в течение нескольких секунд, а затем зажигает светодиод на на половину яркости в течение нескольких секунд... затем повторите.... если это сработает, то таким же образом проверьте ИК-приемник, @jsotola