Первые шаги: Моргаем светодиодом на python!

Лучший способ познакомиться с новой технологией — это заставить ее сделать что-то видимое в реальном мире. Наша первая программа будет управлять светодиодом, заставляя его мигать. Это "Hello, World!" в мире микроэлектроники, которое наглядно покажет, как программный код превращается в физическое действие.

Что нам понадобится (Аппаратная часть)

Для этого эксперимента вам потребуются всего три компонента:

  1. Repka Pi: С уже установленной библиотекой RepkaPi.GPIO.
  2. Светодиод: Подойдет любой стандартный светодиод.
  3. Резистор: Номиналом от 220 Ом до 1 кОм.
    • Почему нужен резистор? GPIO-пин Repka Pi может выдавать лишь очень небольшой ток. Резистор ограничивает ток, проходящий через светодиод, защищая от повреждения и сам светодиод, и, что гораздо важнее, порт вашего Repka Pi. Никогда не подключайте светодиод напрямую к GPIO!

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

Нам нужно собрать простую электрическую цепь. У светодиода есть две ножки: длинная — это анод (+), короткая — катод (-).

  1. Отключите питание от вашей Repka Pi.
  2. Выберите любой GPIO-пин для управления. Для примера возьмем пин №7 на физической гребенке.
  3. Подключите длинную ножку светодиода (анод) к одному концу резистора.
  4. Второй конец резистора подключите к пину №7 на Repka Pi.
  5. Короткую ножку светодиода (катод) подключите к одному из пинов земли (GND) на Repka Pi (например, к пину №9).

Визуальная схема: (Пин 7 на Repka Pi) -> (Резистор) -> (Анод светодиода | Катод светодиода) -> (Пин 9 "GND" на Repka Pi)

После сборки схемы можно включить питание Repka Pi.

3.3. Программный код (blink.py)

Теперь напишем скрипт на Python, который будет управлять нашей цепью.

Шаг 1: Создайте файл Откройте любой текстовый редактор и создайте файл с именем blink.py.

Шаг 2: Напишите код Скопируйте или наберите следующий код. Каждый шаг в нем подробно прокомментирован.

# -*- coding: utf-8 -*-

# 1. Импортируем необходимые библиотеки
import RepkaPi.GPIO as GPIO # Импортируем нашу библиотеку для работы с GPIO
from time import sleep       # Импортируем функцию sleep для создания задержек

# 2. Настройка режима нумерации и пина
GPIO.setmode(GPIO.BOARD)  # Указываем, что будем использовать нумерацию по физическому расположению пинов на плате.

# Определяем переменную для нашего пина, чтобы легко менять ее в будущем
LED_PIN = 7

# Настраиваем наш пин как ВЫХОД (OUTPUT).
# Это значит, что мы будем отправлять с него сигнал, а не получать.
GPIO.setup(LED_PIN, GPIO.OUT)

# 3. Основной цикл программы
try:
    print("Программа запущена. Нажмите CTRL+C для завершения.")
    
    # Создаем бесконечный цикл, который будет выполняться, пока мы его не прервем.
    while True:
        # Включаем светодиод
        print("Светодиод ВКЛ")
        GPIO.output(LED_PIN, GPIO.HIGH) # Подаем на пин высокий уровень (3.3V)
        sleep(0.5)                      # Ждем полсекунды

        # Выключаем светодиод
        print("Светодиод ВЫКЛ")
        GPIO.output(LED_PIN, GPIO.LOW)  # Подаем на пин низкий уровень (0V)
        sleep(0.5)                      # Снова ждем полсекунды

# 4. Корректное завершение
except KeyboardInterrupt:
    # Эта часть сработает, когда вы нажмете Ctrl+C
    print("\nПрограмма завершена пользователем.")

finally:
    # Эта команда очень важна! Она сбрасывает состояние всех пинов,
    # которые мы использовали, в их исходное состояние.
    GPIO.cleanup()

3.4. Запуск и результат

Шаг 1: Сохраните файл blink.py

Шаг 2: Запустите скрипт из терминала

python3 blink.py

Вы должны увидеть в консоли сообщения "Светодиод ВКЛ" и "Светодиод ВЫКЛ", а подключенный к вашей Repka Pi светодиод начнет мигать с интервалом в полсекунды.

Шаг 3: Остановите программу Нажмите комбинацию клавиш Ctrl+C. Программа корректно завершит свою работу, выведет сообщение и погасит светодиод.

Поздравляем! Вы только что собрали свою первую электронную схему и написали программу для управления ей. Вы освоили базовые, но самые важные функции библиотеки RepkaPi.GPIO:

  • setmode() — выбор системы нумерации.
  • setup() — настройка пина на вход или выход.
  • output() — управление состоянием пина.
  • cleanup() — безопасное завершение работы.

Теперь вы готовы к более сложным и интересным проектам.


46 просмотров0 комментариев

Комментарии (0)

Для участия в обсуждении Вы должны быть авторизованным пользователем
Разделы

Навигация

ВойтиРегистрация