Основы Arduino

Урок 1: Введение в Arduino — первые шаги в мир электроники и программирования

Цели урока:

  1. Изучить технические характеристики Arduino
  2. Изучить что такое пины
  3. Познакомиться с Wokwi

Что такое Arduino?

Arduino — это универсальная платформа для создания электронных устройств, которая идеально подходит для новичков, студентов и профессионалов. Она сочетает в себе простоту использования и мощные возможности, позволяя создавать проекты любой сложности — от мигающего светодиода до умного дома. В этом уроке мы разберём, что такое Arduino, из чего она состоит, что такое пины (аналоговые и дискретные), как работает ШИМ, а также рассмотрим технические характеристики популярной модели — Arduino Uno.

Основные компоненты Arduino

  1. Плата Arduino:
    • Это "мозг" вашего проекта. Наиболее популярная модель — Arduino Uno. Она оснащена микроконтроллером ATmega328, который выполняет написанную вами программу.
    • На плате есть цифровые и аналоговые пины для подключения внешних устройств (светодиодов, кнопок, датчиков).
  2. Светодиоды (LED):
    • Простейшие компоненты, которые используются для индикации состояния устройства. Например, светодиод может показывать, включено устройство или выключено.
  3. Резисторы:
    • Резисторы защищают компоненты от повреждений, ограничивая ток в цепи. Например, светодиод без резистора может перегореть.
  4. Макетная плата (Breadboard):
    • Плата с отверстиями, которая позволяет подключать компоненты без пайки. Идеальна для создания прототипов.
  5. Провода (Jumpers):
    • Используются для соединения компонентов на макетной плате.

Технические характеристики Arduino Uno

Arduino Uno — это самая популярная плата в семействе Arduino. Вот её основные характеристики:

  1. Микроконтроллер:
    • ATmega328P (8-битный, тактовая частота 16 МГц).
  2. Оперативная память (SRAM):
    • 2 КБ для хранения временных данных.
  3. Флэш-память:
    • 32 КБ (из них 0.5 КБ заняты загрузчиком).
  4. EEPROM:
    • 1 КБ для хранения данных, которые должны сохраняться после выключения питания.
  5. Цифровые пины:
    • 14 пинов (из них 6 поддерживают ШИМ).
  6. Аналоговые пины:
    • 6 пинов (10-битный аналого-цифровой преобразователь, АЦП).
  7. Напряжение питания:
    • Рекомендуемое: 7–12 В (через разъём DC или VIN).
    • Логическое напряжение: 5 В.
  8. Ток на пинах:
    • Максимальный ток на одном пине: 40 мА.
    • Рекомендуемый ток на одном пине: 20 мА.
  9. Интерфейсы:
    • UART, I2C, SPI.
  10. Размеры платы:
    • 68.6 мм x 53.4 мм.
  11. Вес:
    • 25 г.
  12. Дополнительные особенности:
    • Встроенный светодиод на пине 13 (используется для тестирования).
    • Возможность сброса через кнопку Reset.

Что такое пины Arduino?

Пины (или контакты) — это точки подключения на плате Arduino, через которые можно взаимодействовать с внешними устройствами. Они делятся на несколько типов:

Дискретные (цифровые) пины

Дискретные пины работают с цифровыми сигналами, которые могут принимать только два значения: HIGH (высокий уровень, 5 В) и LOW (низкий уровень, 0 В).

  1. Особенности цифровых пинов:
    • Обозначаются на плате как D0, D1, D2, ..., D13.
    • Могут работать как входы (например, для чтения состояния кнопки) или как выходы (например, для управления светодиодом).
    • Поддерживают только два состояния: HIGH и LOW.
  2. Примеры использования:
    • Управление светодиодами
    • Чтение состояния кнопок
    • Работа с цифровыми датчиками (например, датчик движения)
  3. Функции для работы с цифровыми пинами:
  4. pinMode(pin, mode);  // Настройка пина как входа (INPUT) или выхода (OUTPUT)
    digitalWrite(pin, value);  // Установка значения HIGH или LOW на пине
    digitalRead(pin);  // Чтение значения с пина (HIGH или LOW)

Аналоговые пины

Аналоговые пины предназначены для работы с аналоговыми сигналами, которые могут принимать любое значение в определённом диапазоне (например, от 0 до 5 В).

  1. Особенности аналоговых пинов:
    • Обозначаются как A0, A1, A2, ..., A5.
    • Используются для чтения аналоговых сигналов (например, с потенциометра или датчика температуры).
    • Преобразуют аналоговый сигнал в цифровое значение (от 0 до 1023) с помощью встроенного аналого-цифрового преобразователя (АЦП).
  2. Примеры использования:
    • Чтение данных с потенциометра (регулировка яркости светодиода или скорости мотора)
    • Работа с аналоговыми датчиками (например, датчик температуры TMP36)
  3. Функции для работы с аналоговыми пинами:
  4. analogRead(pin);  // Чтение аналогового значения (от 0 до 1023)

ШИМ-пины (PWM)

ШИМ-пины — это цифровые пины, которые могут имитировать аналоговый сигнал с помощью широтно-импульсной модуляции (ШИМ).

  1. Особенности ШИМ-пинов:
    • На Arduino Uno это пины D3, D5, D6, D9, D10, D11.
    • Позволяют создавать аналоговый сигнал с помощью ШИМ. Например, можно управлять яркостью светодиода или скоростью мотора.
  2. Примеры использования:
    • Управление яркостью светодиода
    • Регулировка скорости мотора
    • Генерация звуковых сигналов
  3. Функции для работы с ШИМ-пинами:
  4. analogWrite(pin, value);  // Установка значения ШИМ (от 0 до 255)
Широтно-импульсная модуляция (ШИМ, или PWM — Pulse Width Modulation) — это метод управления мощностью или сигналом путём изменения ширины импульсов при постоянной частоте. ШИМ используется для создания "аналогового" эффекта с помощью цифрового сигнала.

Как работает ШИМ?

  • ШИМ генерирует сигнал, который быстро переключается между HIGH (5 В) и LOW (0 В).
  • Скважность (Duty Cycle) — это процент времени, в течение которого сигнал находится в состоянии HIGH. Например:
    • Скважность 50% означает, что сигнал находится в состоянии HIGH половину времени.
    • Скважность 25% — четверть времени.
  • Изменяя скважность, можно управлять средней мощностью, подаваемой на устройство.

Примеры использования ШИМ:

  1. Управление яркостью светодиода:
    • При скважности 100% светодиод горит на полную яркость.
    • При скважности 50% светодиод горит с половиной яркости.
    • При скважности 0% светодиод выключен.
  2. Управление скоростью мотора:
    • Чем выше скважность, тем быстрее вращается мотор.
    • Чем ниже скважность, тем медленнее вращается мотор.
  3. Генерация звуковых сигналов:
    • ШИМ можно использовать для создания звуков разной частоты и громкости.

Почему Arduino так популярен?

  1. Простота:
    • Arduino использует упрощённый язык программирования, основанный на C/C++. Даже новички могут написать свой первый код уже через несколько минут.
  2. Доступность:
    • Платы Arduino и компоненты к ним стоят недорого, а программное обеспечение полностью бесплатное.
  3. Гибкость:
    • С Arduino можно создавать как простые проекты (например, мигающий светодиод), так и сложные системы (умный дом, роботы, IoT-устройства).
  4. Большое сообщество:
    • В интернете есть тысячи готовых проектов, tutorials и форумов, где можно найти ответы на любые вопросы.

Реализация проектов на Wokwi

Для удобства и доступности все проекты в этом курсе будут реализовываться на Wokwi — онлайн-симуляторе Arduino и других микроконтроллеров. Wokwi позволяет тестировать и отлаживать проекты без необходимости физического оборудования.

Что такое Wokwi?

  • Wokwi — это бесплатный онлайн-симулятор, который поддерживает Arduino, ESP32, Raspberry Pi Pico и другие платформы.
  • Он предоставляет виртуальную среду для создания схем, написания кода и тестирования проектов.
  • Wokwi идеально подходит для обучения, так как позволяет быстро экспериментировать с различными компонентами и кодом.

Преимущества Wokwi:

  1. Доступность:
    • Не требуется физическое оборудование. Всё можно делать прямо в браузере.
  2. Простота использования:
    • Интуитивно понятный интерфейс для создания схем и написания кода.
  3. Поддержка множества компонентов:
    • Светодиоды, кнопки, датчики, дисплеи, моторы и многое другое.
  4. Мгновенная обратная связь:
    • Результаты работы кода и схемы отображаются в реальном времени.

Как работать с Wokwi?

  1. Перейдите на сайт Wokwi.
  2. Создайте новый проект, выбрав плату Arduino Uno.
  3. Используйте встроенные компоненты для сборки схемы.
  4. Напишите код в редакторе и запустите симуляцию.
  5. Отлаживайте проект и наблюдайте за результатами в реальном времени.

Что нужно для начала работы с Arduino?

  • Плата Arduino (например, Arduino Uno)
  • Компьютер с установленной Arduino IDE
  • USB-кабель для подключения платы к компьютеру
  • Базовые компоненты: светодиоды, резисторы, кнопки, макетная плата и провода

Следующий урок: Переменные в Arduino