Регулировка яркости светодиода на Arduino 4

Как регулировать яркость светодиода при помощи Ардуино?

Данный вопрос интересует все больше и больше новых программистов Ардуино.

Для регулировки яркости светодиода необходимо использовать цифровые Ардуино — 3,5,6,9,10,11

Скетч:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const int lPin = 3; // пин подключения светодиода
 
void setup() {
 
pinMode(lPin, OUTPUT);// инициализируем наш пин как выход
}
 
void loop(){
analoglWrite(lPin,0);//светодиод не горит
delay(200); //задержка 200 мили секунд
analogWrite(lPin,125);//светодиод горит в пол накала ))
delay(200); //задержка 200 мили секунд
analogWrite(lPin,255);//светодиод горит в полную яркость
delay(200); //задержка 200 мили секунд
}
const int lPin = 3; // пин подключения светодиода

void setup() {

pinMode(lPin, OUTPUT);// инициализируем наш пин как выход
}

void loop(){
analoglWrite(lPin,0);//светодиод не горит
delay(200); //задержка 200 мили секунд
analogWrite(lPin,125);//светодиод горит в пол накала ))
delay(200); //задержка 200 мили секунд
analogWrite(lPin,255);//светодиод горит в полную яркость
delay(200); //задержка 200 мили секунд
}

Усложним скетч, будем регулировать яркость светодиода при помощи потенциометра.

Подключаем потенциометр к Ардуино, крайние ноги на +5 и gnd, центральную ногу на аналоговый вход Ардуино А0

Скетч регулировки:

1
2
3
4
5
6
7
8
9
10
const int lPin = 3; // пин подключения светодиода
const int PPin = A0; // пин подключения потенциометра
void setup() {
 
pinMode(lPin, OUTPUT);// инициализируем наш пин как выход
}
 
void loop(){
analogWrite(lPin,map(analogRead(PPin),0,1024,0,255)); //преобразуем аналоговое значение в яркость светодиода
}
const int lPin = 3; // пин подключения светодиода
const int PPin = A0; // пин подключения потенциометра
void setup() {

pinMode(lPin, OUTPUT);// инициализируем наш пин как выход
}

void loop(){
analogWrite(lPin,map(analogRead(PPin),0,1024,0,255)); //преобразуем аналоговое значение в яркость светодиода
}

4 комментс для “Регулировка яркости светодиода на Arduino

  1. Ответить Евгений Янв 11, 2015 15:29

    не digitalWrite(lPin,125);
    а analogWrite(lPin,125);

Добавить комментарий