Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Скетч: Управление яркостью светодиода с помощью ШИМ (PWM)

    Скетч: Управление яркостью светодиода с помощью ШИМ (PWM)


    Этот скетч показывает, как управлять яркостью светодиода, используя широтно-импульсную модуляцию (ШИМ) на Arduino. ШИМ позволяет изменять среднее напряжение, подаваемое на светодиод, тем самым регулируя его яркость. Это базовая техника для управления аналоговыми устройствами с помощью цифровых пинов Arduino.


    Необходимые компоненты:

    • Arduino (Uno, Nano, Mega и т.д.)
    • Светодиод (любого цвета)
    • Резистор (220 Ом - 1 кОм, чтобы ограничить ток через светодиод)
    • Провода для соединения


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

    1. Подключите длинную ножку (анод, +) светодиода к резистору.
    2. Подключите другой конец резистора к цифровому пину Arduino с поддержкой ШИМ. Пины с поддержкой ШИМ отмечены символом ~. В этом примере используется пин 9.
    3. Подключите короткую ножку (катод, -) светодиода к GND (земле) на Arduino.


    Скетч Arduino:

    #define LED_PIN 9      // Цифровой пин с поддержкой ШИМ, к которому подключен светодиод
    
    void setup() {
      // Пин LED_PIN уже настроен как выход по умолчанию
      // нет необходимости использовать pinMode(LED_PIN, OUTPUT);
      Serial.begin(9600); // Инициализируем Serial Monitor для отладки
    }
    
    void loop() {
      // Постепенное увеличение яркости светодиода
      for (int brightness = 0; brightness <= 255; brightness++) {
        analogWrite(LED_PIN, brightness); // Отправляем значение ШИМ на пин
        Serial.print("Яркость: ");
        Serial.println(brightness);
        delay(10);                          // Небольшая задержка
      }
    
      // Постепенное уменьшение яркости светодиода
      for (int brightness = 255; brightness >= 0; brightness--) {
        analogWrite(LED_PIN, brightness); // Отправляем значение ШИМ на пин
        Serial.print("Яркость: ");
        Serial.println(brightness);
        delay(10);                          // Небольшая задержка
      }
    }

    Описание кода:

    • #define LED_PIN 9: Определяет константу LED_PIN для цифрового пина, к которому подключен светодиод.
    • setup():
      • Serial.begin(9600);: Инициализирует Serial Monitor для отладки.
    • loop():
      • Цикл увеличения яркости:
        • for (int brightness = 0; brightness <= 255; brightness++): Цикл, перебирающий значения яркости от 0 (выключено) до 255 (максимальная яркость).
        • analogWrite(LED_PIN, brightness);: Функция analogWrite() записывает значение ШИМ на указанный пин. Значение ШИМ должно быть в диапазоне от 0 до 255. Arduino автоматически генерирует ШИМ-сигнал на этом пине.
        • Serial.print(...)Serial.println(...): Выводит значение яркости в Serial Monitor для отладки.
        • delay(10);: Небольшая задержка для визуального восприятия изменения яркости.
      • Цикл уменьшения яркости:
        • for (int brightness = 255; brightness >= 0; brightness--): Цикл, перебирающий значения яркости от 255 до 0.
        • analogWrite(LED_PIN, brightness);: Функция analogWrite() записывает значение ШИМ на пин.
        • Serial.print(...)Serial.println(...): Выводит значение яркости в Serial Monitor.
        • delay(10);: Небольшая задержка.


    Как использовать:

    1. Загрузите скетч в Arduino.
    2. Подключите светодиод и резистор к Arduino в соответствии со схемой подключения.
    3. Откройте Serial Monitor (Tools -> Serial Monitor).
    4. Вы увидите, как светодиод плавно загорается и гаснет. В Serial Monitor также будут отображаться значения яркости.


    Настройка:

    • LED_PIN: Измените это значение, если вы используете другой цифровой пин с поддержкой ШИМ.
    • Резистор: Значение резистора влияет на яркость светодиода. Слишком низкое значение может привести к перегоранию светодиода. Слишком высокое значение может сделать светодиод тусклым. Попробуйте разные значения, чтобы найти подходящий баланс. Обычно 220 Ом - 1 кОм подходят для большинства светодиодов.
    • delay(10): Измените значение задержки, чтобы изменить скорость изменения яркости. Меньшее значение сделает изменение яркости быстрее, а большее значение - медленнее.


    Дополнительные возможности:

    • Используйте потенциометр или фоторезистор для ручного или автоматического управления яркостью светодиода.
    • Создайте различные эффекты мерцания или пульсации, изменяя значение яркости более сложным образом.
    • Используйте несколько светодиодов и управляйте их яркостью независимо друг от друга для создания более интересных световых эффектов.
    • Интегрируйте этот скетч с другими сенсорами, чтобы создать интерактивные проекты.


    Этот скетч - отличный способ понять основы ШИМ и управления яркостью светодиодов на Arduino. Он простой в реализации и предоставляет множество возможностей для дальнейшего развития и экспериментов.

    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

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

    Скетч: Цифровой пин как вход и выход (мигание светодиода с помощью кнопки)

    0
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    0
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    0
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 0.0 из 10 (голосов: 0 / История оценок)

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


    • 0
    1 комментарий
    Razrabotchik #97390

    Я так понял, у "Самоделкина" замкнули батарейку и теперь, "Нейросеть" управляет сайтом. А баба на корабле, жди беды. yes Хотя?, mda вроде красотка, но внешность может быть обманчива. Нать дать ей имя. Я предлагаю её назвать - Непруха

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии