Категории Статей
Популярные Статьи
Arduino, ИК(IR) приемник и пульт управления
Необходимый набор электронных компонентов: Плата Arduino UNO(или любая другая) Макетная плат ...»
Плавное мигание светодиодом с использованием ШИМ порта
Необходимый набор электронных компонентов: плата Arduino UNO(или любая другая) Макетная плат ...»
Использование RGB светодиода, эффект хамелеона :)
Необходимый набор электронных компонентов: Плата Arduino UNO(или любая другая) Макетная плат ...»

Управление светодиодом с помощью потенциометра

Необходимый набор электронных компонентов:

  1. Плата Arduino UNO(или любая другая)
  2. Макетная плата breadboard
  3. Светодиод
  4. Резистор ~220 Ом
  5. Провода "папа-папа"
  6. Потенциометр

В конце статьи находятся ссылки на сопутствующие товары в нашем магазине.

Софт:

  1. Arduino IDE

 

Принципиальная схема подключения:

Схема подключения на макетной плате:

 

Исходный код программы:


/*
Управление яркостью в зависимости от освещенности.
*/

// Определение директивы для PWM пина №6, на который заведен светодиод
#define LED_PIN  6
// Определение директивы для аналогового пина №0(A0), на котором находится фоторезистор
#define LDR_PIN  A0

// Значения с аналогового выхода A0. Подбираются эксперементально и зависят от степени освещенности, 
// типа фоторезистора и резистора, учавствующего в делителе напряжения R1 
int MAX_BRIGHTNESS = 450; // Значение при вашей максимальной освещенности
int MIN_BRIGHTNESS = 250; // Значение при вашей минимальной освещенности.

void setup()
{
  // Инициируем последовательное соединение и задает скорость передачи данных в бит/c 
  Serial.begin(9600); 
  // Инициализируем ШИМ пин №6 как выход
  pinMode(LED_PIN, OUTPUT);
}

void loop()
{
  // Получаем занчение с аналогового входа A0
  int brightness = analogRead(LDR_PIN);
  
  // Получение тестовых значений
  // Выодим на монитор полученное значение
  Serial.print("brightness = "); // Название значения для наглядного представления
  Serial.println(brightness);    // Выводим значение и используем вызов println, те переноса строки
  
  // Выставляем границы в соответствии с границами значений освещенности, полученными эксперементально ранее.
  // Функция constrain проверяет значение(brightness) и если надо задает новое, 
  // так чтобы оно была в области допустимых значений, заданной параметрами(MIN_BRIGHTNESS, MAX_BRIGHTNESS)
  brightness = constrain(brightness,MIN_BRIGHTNESS,MAX_BRIGHTNESS);
  
  // Распределяем полученное значение от 255 до 0, те при минимальной освещенности наш светодиод будет светится ярче и наоборот, 
  // при максимальной будет выключаться.
  int ldr_value = map(brightness, MIN_BRIGHTNESS, MAX_BRIGHTNESS, 255, 0);

  // Используя ШИМ выход мы плавно регулируем яркость светодиода в зависимости от степени 
  // освещенности(от выключенного состояния до максимального свечения) 
  analogWrite(LED_PIN, ldr_value);
}

После компиляции скетча(нашей программы) и загрузки его в Arduino мы сможем управлять включать и плавно менять яркость у светодиода.

  Отзывов: 0
Ваше Имя:


Ваш отзыв: Внимание: HTML не поддерживается! Используйте обычный текст.

Оценка: Плохо           Хорошо

Введите код, указанный на картинке:



Последние Статьи
Выпущена новая модель миниатюрного компьютера Raspberry Pi Zero
Выпущена новая модель миниатюрного одноплатного компьютера Raspberry Pi Zero стоимостью около 5$ Гл ...»
16.12.2015    Просмотров: 473
Arduino, ИК(IR) приемник и пульт управления
Необходимый набор электронных компонентов: Плата Arduino UNO(или любая другая) Макетная плат ...»
11.03.2015    Просмотров: 7759
Управление RGB светодиодом с компьютера через USB порт
Необходимый набор электронных компонентов: Плата Arduino UNO(или любая другая) Макетная плат ...»
10.03.2015    Просмотров: 3545
Последние отзывы
Использование RGB светодиода, эффект хамелеона :)
Скорее всего перепутаны пины для RGB светодиода. Попробуйте поменять либо подключение светодиода, либо порядок вызова функции setFadeColor. ...»
05.04.2016    Просмотров: 5336
Администратор
Использование RGB светодиода, эффект хамелеона :)
Хм. Почему-то, всё ещё резкий переход у меня выходит. ...»
05.04.2016    Просмотров: 5336
Summerwind