Гид по технологиям

Как управлять светодиодами на Raspberry Pi — простой проект для начинающих

7 min read Raspberry Pi Обновлено 24 Dec 2025
Управление светодиодами Raspberry Pi — быстрый старт
Управление светодиодами Raspberry Pi — быстрый старт

raspi-led

Что вам понадобится

компоненты для подключения светодиодов к Raspberry Pi

Перед началом убедитесь, что на вашей плате Raspberry Pi установлена операционная система. Самый быстрый способ — установить Raspberry Pi OS (ранее Raspbian) через NOOBS.

Подключите Raspberry Pi к монитору, мыши и клавиатуре как обычный настольный компьютер. Если хотите меньше проводов, используйте SSH-подключение. В статье описаны оба варианта управления светодиодами.

Важно: выключите плату перед сборкой схемы, чтобы не повредить Raspberry Pi и компоненты.

Общий список компонентов:

  • Raspberry Pi (любая модель с 40‑штырьковым заголовком GPIO)
  • Макетная плата (breadboard)
  • 2 × светодиода (LED), разных цветов по желанию
  • 2 × резистора 220 Ом — 1 кОм (подойдут значения в этом диапазоне)
  • Набор проводов для макетки (Dupont)
  • Источник питания для Raspberry Pi и при необходимости USB Wi‑Fi адаптер

Если у вас стартовый набор для Raspberry Pi, скорее всего, все это уже включено.

Простая схема со светодиодами

Установите компоненты согласно следующей схеме (Fritzing):

схема подключения двух светодиодов к Raspberry Pi

Коротко о принципе работы схемы:

  • Пины 5V и GND Raspberry Pi подключаются к силовым шинам макетной платы (Power Rails).
  • Нижний светодиод подключён к положительной шине питания через анод и через резистор к GND — он постоянно питается от 5V.
  • Верхний светодиод подключён к GPIO‑пину 12 (он же GPIO18) через анод, а через резистор идёт на GND. Этот светодиод мы будем включать и выключать программно.

Примечание: если обозначения пинов кажутся запутанными, посмотрите руководство по GPIO‑пинам Raspberry Pi.

Полярность светодиодов имеет значение. Короткую ножку обычно называют катодом (отрицательный вывод), а длинную — анодом (положительный вывод). На корпусе LED часто есть уплощение возле катода.

обозначение ножек светодиода и их полярность

После сборки схема должна выглядеть примерно так:

пример подключения светодиодов на макетной плате

Я использую внешний Wi‑Fi донгл на фотографии — он нужен только если встроенный Wi‑Fi слабый.

Убедитесь, что всё собрано правильно, затем включите Raspberry Pi. Светодиод, подключённый к 5V, загорится сразу. Верхний светодиод будет управляться из кода.

Метод 1: Python через IDLE (на рабочем столе Raspberry Pi)

Если вы работаете в графическом окружении Raspberry Pi OS, откройте меню приложений в левом верхнем углу и перейдите в Programming > Python 3 (IDLE). Это откроет Python Shell. Если вы используете SSH, инструкции ниже помогут.

окно IDLE в Raspberry Pi OS

Raspberry Pi OS уже содержит Python. Это удобный язык для начинающих. Мы напишем короткую программу — «blink», которая будет включать и выключать светодиод.

Откройте новый файл через меню File > New File.

создание нового файла в IDLE

Ниже приведён код. Скопируйте его в редактор (важно сохранять отступы в Python).

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)

ledPin = 12

GPIO.setup(ledPin, GPIO.OUT)

for i in range(5):
    print("LED turning on.")
    GPIO.output(ledPin, GPIO.HIGH)
    time.sleep(0.5)
    print("LED turning off.")
    GPIO.output(ledPin, GPIO.LOW)
    time.sleep(0.5)

GPIO.cleanup()

Пояснения к коду:

  • import RPi.GPIO as GPIO — подключаем библиотеку для управления GPIO и даём ей короткий алиас.
  • GPIO.setmode(GPIO.BOARD) — используем нумерацию пинов «BOARD» (физические номера штырьков). Вместо BOARD можно использовать GPIO.BCM (логические номера GPIO), но тогда номера будут другими.
  • GPIO.setwarnings(False) — отключаем предупреждения при повторной инициализации пинов.
  • ledPin = 12 — физический штырёк 12 (соответствует GPIO18 при нумерации BCM).
  • GPIO.setup(ledPin, GPIO.OUT) — настраиваем пин как выход.
  • Цикл for i in range(5) — мигаем 5 раз с задержкой 0.5 с.
  • GPIO.cleanup() — возвращаем все пины в исходное состояние (важно делать в конце программы).

Сохраните файл (например, как blink.py) и в меню выберите Run > Run Module. Светодиод должен мигнуть 5 раз.

мигание светодиода из IDLE

Метод 2: Python через SSH и Nano (терминал)

Если вы подключились к Raspberry Pi по SSH, можно создать скрипт прямо в терминале. Введите:

sudo nano blink.py

Вставьте тот же код, сохраните Ctrl‑X, подтвердите Y и нажмите Enter для имени файла. Запустите скрипт командой:

python3 blink.py

Вы увидите сообщения в терминале и мигание светодиода.

мигание светодиода по SSH

Что делать, если светодиод не мигает

Проверка аппаратных подключений

  • Проверьте полярность LED: длинная ножка — анод (+), короткая — катод (−).
  • Убедитесь, что резистор не установлен в разрыв питания вместо последовательного с диодом.
  • Проверьте, что провод от пина 12 действительно вставлен в тот же ряд макетки, что и анод LED.
  • Попробуйте заменить резистор на другое значение в диапазоне 220 Ом — 1 кОм.

Проверка программных ошибок

  • Запустите скрипт в терминале и посмотрите ошибки Python.
  • Убедитесь, что используете python3, если на системе установлен и Python 2.
  • Если используете GPIO.BCM нумерацию, поменяйте установку pin‑переменной на соответствующий номер GPIO.

Важно: если светодиод подключён напрямую к 5V без резистора, это может привести к его перегоранию и повреждению пина. Всегда используйте последовательный резистор.

Расширение проекта и альтернативные подходы

  • Управление несколькими светодиодами с помощью нескольких GPIO‑пинов.
  • Использование транзистора или MOSFET для управления более мощными лентами или светодиодами с большим током.
  • Подключение кнопки для управления миганием вручную.
  • Применение библиотеки gpiozero (более высокоуровневая и удобная для начинающих) вместо RPi.GPIO.

Краткий пример с gpiozero:

from gpiozero import LED
from time import sleep

led = LED(12)

for _ in range(5):
    led.on()
    sleep(0.5)
    led.off()
    sleep(0.5)

gpiozero использует понятные объекты и предназначена специально для образовательных проектов.

Мини‑методология проекта

  1. Подготовьте инструменты и отключите питание Raspberry Pi.
  2. Соберите схему на макетной плате, подключите GND и 5V ко шинам.
  3. Проверьте полярность и сопротивление резисторов.
  4. Включите Raspberry Pi и выполните скрипт в IDLE или по SSH.
  5. Проанализируйте поведение и изменяйте задержки/цикл для тестирования.
  6. После экспериментов выключите питание и демонтируйте схему или закрепите её для следующего этапа.

Факты, которые полезно запомнить

  • Логические уровни GPIO на Raspberry Pi — 3.3 V; не подключайте 5 V напрямую к GPIO.
  • Рекомендуемый диапазон резисторов для LED: 220 Ом — 1 кОм.
  • Физический штырёк 12 соответствует GPIO18 при нумерации BCM.
  • Всегда используйте GPIO.cleanup() в конце программы.

Контроль качества и тесты приёмки

Критерии приёмки:

  • Светодиод, подключённый к 5V, горит постоянно при включённом питании.
  • Управляемый светодиод мигает заданное число раз с указанной задержкой.
  • Программа корректно завершается без зависаний, пины очищаются через GPIO.cleanup().

Тесты:

  • Запустить скрипт и проверить 5 миганий.
  • Попробовать изменить время sleep и убедиться в изменении скорости мигания.
  • Отключить питание, затем снова включить и проверить, нет ли повреждений на плате.

Контроль безопасности

  • Всегда выключайте питание перед изменением проводки.
  • Не подавайте 5 V на GPIO‑пины (3.3 V максимум).
  • Не допускайте короткого замыкания между 5V и GND.

Чеклист для разных ролей

Для новичка:

  • Есть Raspberry Pi с блоком питания
  • Есть макетка, LED, резисторы, провода
  • Установлен Raspberry Pi OS
  • Записан и запущен blink.py

Для учителя/инструктора:

  • Приготовлены запасные светодиоды и резисторы
  • Распечатана схема подключения и таблица пинов
  • Подготовлены задания для расширения (кнопка, несколько LED)

Для энтузиаста-изобретателя:

  • Подключены транзисторы для управления лентами
  • Реализовано управление через веб-интерфейс или MQTT
  • Добавлены датчики для интерактивного поведения

Примеры, когда этот подход не годится

  • Если нужно управлять нагрузкой с большим током (мощные светильники), управлять напрямую с GPIO нельзя — требуются транзисторные ключи или реле.
  • Для промышленных систем с жёсткими требованиями по надежности и электробезопасности требуется профессиональная схема и сертификация.

Быстрая шпаргалка и часто используемые команды

  • Запустить скрипт: python3 blink.py
  • Редактировать файл в nano: sudo nano blink.py
  • Установить gpiozero: sudo apt update && sudo apt install python3-gpiozero

Советы по совместимости и миграции

  • На моделях Raspberry Pi с 26‑штырьковым заголовком (старые модели) нумерация пинов отличается — проверяйте схему вашей платы.
  • Если переносите проект на другие SBC (Orange Pi, Banana Pi), проверьте уровни питания и соответствие библиотек GPIO.

Краткое резюме

Управление светодиодами — отличная отправная точка для изучения Raspberry Pi и физических вычислений. Проект учит основам работы с GPIO, безопасности подключения и работе с Python. После освоения вы сможете перейти к кнопкам, датчикам, реле и созданию интерактивных устройств.

Совет: попробуйте заменить фиксированный цикл на обработку нажатия кнопки или сетевой команды — это естественный шаг к автоматизации и IOT‑проектам.

Примечание: если вы используете другой язык или библиотеку, замените соответствующие блоки кода, но соблюдайте те же принципы безопасности при подключении компонентов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство