Назад

Мигание светодиодом на Raspberry Pi Pico с симулятором Velxio

Введение

Добро пожаловать в мир микроконтроллеров! Классический пример “Blink” — идеальная отправная точка для любого путешествия во встраиваемые системы. В этом руководстве мы используем Raspberry Pi Pico и его встроенный светодиод на GPIO 25, чтобы создать простой мигающий паттерн. Самое лучшее: вам не нужно никакое оборудование — мы всё запустим в браузерном симуляторе Velxio, который обеспечивает SPICE-точную аналоговую симуляцию и полнофункциональный редактор кода.

К концу этого поста вы поймёте, как собрать базовую схему, написать совместимый с Arduino код и симулировать его в реальном времени. Давайте погрузимся!

Обзор схемы

Схема pico-blink на холсте симулятора Velxio

Схема минимальна — идеально для новичков. Вот что у нас есть:

Детали подключения

  1. GPIO D2 на Pico соединяется с анодом (A) светодиода через зелёный провод (#00cc00).
  2. Катод (C) светодиода соединяется с одной ножкой резистора 220 Ом через серый провод (#999999).
  3. Другая ножка резистора соединяется с GND.1 на Pico через чёрный провод (#000000).

Примечание: Встроенный светодиод на Pico подключён к GPIO 25, но в этом примере мы используем внешний светодиод на GPIO D2, чтобы продемонстрировать подключение. Вы легко можете изменить код для использования встроенного светодиода, заменив пин на LED_BUILTIN.

Значения компонентов

КомпонентЗначение / ID
Светодиодled-blink (зелёный)
Резисторr1 (220 Ом)
Пин PicoD2 (GPIO 2)
GND PicoGND.1

Обзор кода

Вот полный скетч Arduino для Pico:

// Raspberry Pi Pico — Blink LED
// Toggles the onboard LED on GPIO 25

void setup() {
  pinMode(LED_BUILTIN, OUTPUT); // GPIO 25
  Serial.begin(115200);
  Serial.println("Pico Blink Example");
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  Serial.println("LED ON");
  delay(500);

  digitalWrite(LED_BUILTIN, LOW);
  Serial.println("LED OFF");
  delay(500);
}

Разбор кода

Важно: Код использует LED_BUILTIN, который предопределён для Pico как GPIO 25. Если вы хотите использовать внешний светодиод на D2, замените LED_BUILTIN на 2.

Ключевые концепции для студентов

  1. Цифровой выход: pinMode() настраивает пин как выход; digitalWrite() устанавливает его в HIGH (3,3 В) или LOW (0 В).
  2. Встроенный светодиод: Многие платы имеют светодиод, подключённый к определённому пину (GPIO 25 для Pico). Использование LED_BUILTIN делает код переносимым.
  3. Монитор последовательного порта: Serial.println() отправляет данные в последовательный порт, которые можно просматривать в мониторе симулятора. Это бесценно для отладки.
  4. Задержка: delay(ms) приостанавливает программу. Будьте осторожны — она блокирует другие операции.

Частые ошибки и советы по отладке

Панель инструментов редактора Velxio с кнопками компиляции и запуска

Панель инструментов холста Velxio над окном симуляции

Предлагаемые расширения

Когда вы освоите базовое мигание, попробуйте эти модификации:

  1. Измените скорость мигания: Настройте значения delay(), чтобы сделать его быстрее или медленнее.
  2. Используйте внешний светодиод: Измените код, чтобы использовать пин 2 вместо LED_BUILTIN.
  3. Добавьте кнопку: Используйте цифровой вход для включения/выключения светодиода при нажатии.
  4. Затухание с ШИМ: Используйте analogWrite(), чтобы создать эффект дыхания.
  5. Несколько светодиодов: Добавьте больше светодиодов на разные пины и создайте паттерны.

Начните работу с Velxio

Готовы создавать свои собственные схемы? Velxio позволяет легко проектировать, программировать и симулировать электронные проекты прямо в браузере — без загрузок или оборудования. Выбор компонентов позволяет просматривать сотни деталей.

Модальное окно выбора компонентов Velxio с просмотром деталей по категориям

Попробуйте живой пример сейчас: Pico Blink на Velxio

Счастливого мигания!


Поделиться:
David Montero

Автор

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Похожие статьи


Предыдущая статья
Pico Serial Echo: тестирование UART на RP2040 с Velxio
Следующая статья
Осваиваем Serial, I2C и SPI на Arduino с Velxio