
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Следующие шаги представляют собой эксперименты, демонстрирующие, как работают светодиоды. Они показывают, как уменьшить яркость светодиода с равной скоростью и как постепенно увеличивать и уменьшать яркость.
Тебе понадобится:
- RaspberryPi (я использовал более старый Pi, мой Pi-3 уже используется, но подойдет любой Pi.)
- Макетная плата
- 5 мм красный светодиод
- Резистор 330 Ом (не критично, 220-560 Ом подойдет.)
- Монтажный провод
Пи-сапожник, который я использовал от Adafruit, не нужен, но он упрощает макетирование.
WiringPi - это набор библиотек для программирования RaspberryPi на языке C. Инструкции по загрузке, установке и использованию находятся по адресу
Чтобы установить wiringPi, следуйте инструкциям на этой странице:
Чтобы получить список номеров контактов wiringPi, введите в командной строке команду gpio readall.
В более новых версиях Raspian wiringPi устанавливается по умолчанию.
Шаг 1: широтно-импульсная модуляция



Светодиоды всегда работают при одинаковом напряжении независимо от яркости. Яркость определяется прямоугольным осциллятором, и время, в течение которого напряжение высокое, определяет яркость. Это называется широтно-импульсной модуляцией (ШИМ). Это контролируется функцией wiringPi pwmWrite (pin, n), где n имеет значение от 0 до 255. Если n = 2, светодиод будет в два раза ярче, чем n = 1. Яркость всегда удваивается, когда n удваивается. Таким образом, n = 255 будет вдвое ярче, чем n = 128.
Значение n часто выражается в процентах, называемых рабочим циклом. На рисунках показаны осциллограммы для рабочих циклов 25, 50 и 75%.
Шаг 2: светодиод и резистор

В этом нет необходимости, но наличие нескольких таких под рукой может значительно упростить создание макета.
Припаяйте резистор к короткому светодиоду светодиода. Используйте резистор 220-560 Ом.
Шаг 3: неравномерное затемнение

Постройте схему, как показано на схеме. Это похоже на схему мигания светодиода. Он использует вывод 1 wiringPi, потому что вам нужно использовать вывод с включенной ШИМ. Скомпилируйте программу и запустите ее. Вы заметите, что чем ярче светодиод, тем медленнее он гаснет. По мере приближения к самому тусклому свету он будет очень быстро тускнеть.
/******************************************************************
* Скомпилировать: gcc -o fade1 -Wall -I / usr / local / include -L / usr / local / lib * fade1.c -lwiringPi * * Выполнить: sudo./fade1 * * Все номера контактов являются номерами wiringPi, если не указано иное. ************************************************ **************** / #include int main () {wiringPiSetup (); // Настройка требуется wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Режим метки / пробела int i; while (1) {for (i = 255; i> -1; i--) {pwmWrite (1, i); задержка (10); } для (я = 0; я <256; я ++) {pwmWrite (1, я); задержка (10); }}}
На следующем шаге показано, как уменьшить яркость светодиода с постоянной скоростью и одним оператором for.
Шаг 4: Шаг 4: вверх и вниз за один () и с равномерной скоростью
Чтобы светодиод гаснул с постоянной скоростью, задержка () должна увеличиваться с экспоненциальной скоростью, потому что половина рабочего цикла всегда дает половину яркости.
Линия:
int d = (16-я / 16) ^ 2;
вычисляет обратный квадрат яркости для определения длительности задержки. Скомпилируйте и запустите эту программу, и вы увидите, что светодиодный индикатор будет гаснуть с постоянной скоростью.
/******************************************************************
* Скомпилировать: gcc -o fade1 -Wall -I / usr / local / include -L / usr / local / lib * fade2.c -lwiringPi * * Выполнить: sudo./fade2 * * Все номера контактов являются номерами wiringPi, если не указано иное. ************************************************ **************** / #include int main () {wiringPiSetup (); // Настройка требуется wiringPi pinMode (1, PWM_OUTPUT); // pwmSetMode (PWM_MODE_MS); // Режим метки / пробела while (1) {int i; int x = 1; для (я = 0; я> -1; я = я + х) {int d = (16-я / 16) ^ 2; // вычислить обратный квадрат индекса pwmWrite (1, i); задержка (d); если (я == 255) х = -1; // переключаем направление на пике}}}
Рекомендуемые:
MOD: включение / выключение подсветки ЖК-дисплея Ender 3: 6 шагов

MOD: Ender 3 LCD Backlight On / Off: Мод для включения / выключения подсветки дисплея при печати в ночное время. Теперь можно отключить подсветку
Включение / выключение Raspberry Pi с помощью любого пульта дистанционного управления: 3 шага (с изображениями)

Включение / выключение Raspberry Pi с помощью любого пульта дистанционного управления: управление питанием Raspberry Pi с помощью ИК-пульта дистанционного управления
Включение и выключение компьютера с помощью Google Home и Blynk: 6 шагов

Включение и выключение компьютера с помощью Google Home и Blynk: Здравствуйте, ребята, и добро пожаловать в это руководство! На этот раз я покажу вам, как включить компьютер с помощью Google Home. ОСТОРОЖНО !! ПРОЧИТАЙТЕ ЭТО !!: 1. Обязательно изолируйте коннекторы! Чтобы решить эту проблему, я решил напечатать корпус на 3D-принтере 2. Если вы подключите питание
Простейшее автоматическое включение и выключение аварийного светодиодного освещения в помещении: 3 шага

Простейшее автоматическое включение аварийного светодиодного освещения в помещении: Привет! В этой инструкции я научу вас, как сделать перезаряжаемый автоматический аварийный светильник в помещении для включения и выключения освещения в случае отключения света. Есть датчик, который можно включить и включить; ВЫКЛ с помощью переключателя. При отключении электричества датчик автоматически
Автоматическое дистанционное включение / выключение с помощью разъема микрофона на видеокамере / низковольтного твердотельного реле: 4 шага (с изображениями)

Автоматическое дистанционное включение / выключение с помощью гнезда микрофона на видеокамере / низковольтного твердотельного реле: Обзор: мы использовали гнездо микрофона видеокамеры, чтобы определить, когда видеокамера включена. Мы создали низковольтное твердотельное реле для обнаружения разъема MIC и автоматического включения и выключения удаленного устройства одновременно с видеокамерой. Твердотельный