Arduino Nano

18 октября 2025

Arduino Nano представляет собой компактную платформу разработки на базе микроконтроллера ATmega328P, которая стала одним из самых популярных решений в области прототипирования и создания электронных устройств. Плата сочетает функциональность Arduino Uno с миниатюрными размерами, что делает её идеальным выбором для проектов с ограниченным пространством.

Технические характеристики и элементы платы

Основные параметры Arduino Nano

Arduino Nano базируется на 8-битном микроконтроллере ATmega328P с архитектурой AVR и обладает следующими характеристиками:

Параметр Значение
Микроконтроллер ATmega328P
Тактовая частота 16 МГц
Рабочее напряжение
Входное напряжение 7-12В (рекомендуемое), 6-20В (предельное)
Flash-память 32 КБ (2 КБ занято загрузчиком)
SRAM 2 КБ
EEPROM 1 КБ
Размеры 18×45 мм

Система питания

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

  • USB-подключение: 5В через Mini-USB разъём
  • Внешний источник: 7-12В через пин VIN
  • Прямое питание: 5В через соответствующий пин (не рекомендуется)

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

Распиновка Arduino Nano

Схема распиновки Ардуино Нано

Схема распиновки Arduino Nano с обозначением всех 30 пинов и их функций

Плата Arduino Nano имеет 30 пинов, расположенных по периметру платы с шагом 2.54 мм, что обеспечивает совместимость с макетными платами.

Цифровые входы/выходы

Arduino Nano предоставляет 14 цифровых пинов (D0-D13):

  • Пины D0-D13: могут работать как входы или выходы с логическими уровнями 0В (LOW) и 5В (HIGH)
  • ШИМ-выходы: пины D3, D5, D6, D9, D10, D11 поддерживают генерацию ШИМ-сигналов
  • Максимальный ток: 40 мА на пин, суммарный ток всех пинов не должен превышать 200 мА

Аналоговые входы

Восемь аналоговых входов (A0-A7) подключены к 10-битному АЦП:

  • Разрешение: 10 бит (значения 0-1023)
  • Диапазон измерений: 0-5В
  • Точность: 0.0048В на единицу АЦП
  • Особенность: A6 и A7 работают только на вход

Специальные функции пинов

Интерфейс I2C:

  • A4 (SDA): линия данных
  • A5 (SCL): линия тактирования

UART-интерфейс:

  • D0 (RX): приём данных
  • D1 (TX): передача данных

SPI-интерфейс:

  • D10 (SS): выбор ведомого устройства
  • D11 (MOSI): выход данных
  • D12 (MISO): вход данных
  • D13 (SCK): тактовый сигнал

Подключение и настройка

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

Схема подключения Arduino Nano с основными компонентами

Установка драйверов

Большинство современных клонов Arduino Nano используют чип CH340G вместо оригинального FTDI FT232RL. Для корректной работы необходимо установить соответствующие драйверы:

  1. Определение чипа: проверьте маркировку на плате
  2. Загрузка драйверов: скачайте драйверы CH340G или FTDI с официальных сайтов
  3. Установка: запустите установочный файл и перезагрузите компьютер

Настройка Arduino IDE

В среде Arduino IDE необходимо выбрать правильные параметры:

  • Плата: Arduino Nano
  • Процессор: ATmega328P (Old Bootloader) для китайских клонов
  • Порт: соответствующий COM-порт

Программирование Arduino Nano

Структура скетча

Программы для Arduino называются скетчами и имеют расширение .ino. Базовая структура включает две обязательные функции:

void setup() {
  // Код инициализации, выполняется один раз
  pinMode(13, OUTPUT); // Настройка пина как выхода
}

void loop() {
  // Основной цикл программы
  digitalWrite(13, HIGH); // Включить светодиод
  delay(1000);            // Пауза 1 секунда
  digitalWrite(13, LOW);  // Выключить светодиод
  delay(1000);            // Пауза 1 секунда
}

Основные функции программирования

Управление цифровыми пинами:

  • pinMode(pin, mode): настройка направления пина
  • digitalWrite(pin, value): запись в цифровой пин
  • digitalRead(pin): чтение цифрового пина

Работа с аналоговыми входами:

  • analogRead(pin): чтение значения с АЦП
  • analogReference(): выбор опорного напряжения

ШИМ-выходы:

  • analogWrite(pin, value): генерация ШИМ-сигнала (0-255)

Практические проекты и применения

Часы реального времени с дисплеем

Популярный проект включает подключение модуля RTC DS1307 и дисплея LCD через интерфейс I2C:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <RTClib.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);
RTC_DS1307 rtc;

void setup() {
  lcd.init();
  lcd.backlight();
  rtc.begin();
}

void loop() {
  DateTime now = rtc.now();
  lcd.setCursor(0, 0);
  lcd.print("Time: ");
  lcd.print(now.hour());
  lcd.print(":");
  lcd.print(now.minute());
}

Метеостанция с датчиком DHT11

Проект мониторинга температуры и влажности с выводом на OLED-дисплей:

Компоненты:

  • Arduino Nano
  • Датчик DHT11
  • OLED дисплей 0.96" I2C
  • Соединительные провода

Подключение DHT11:

  • VCC → 5V Arduino
  • Data → Pin D2
  • GND → GND Arduino

Интерфейс I2C в проектах

Arduino Nano поддерживает подключение до 127 устройств по шине I2C:

  • Преимущества: экономия пинов, простота подключения
  • Библиотека: Wire.h (входит в Arduino IDE)
  • Подтяжные резисторы: 2-10 кОм к линии питания

Сканирование I2C устройств

#include <Wire.h>

void setup() {
  Wire.begin();
  Serial.begin(9600);
  Serial.println("Сканирование I2C...");
}

void loop() {
  for (int address = 1; address < 127; address++) {
    Wire.beginTransmission(address);
    if (Wire.endTransmission() == 0) {
      Serial.print("Устройство найдено по адресу 0x");
      Serial.println(address, HEX);
    }
  }
  delay(5000);
}

Различия версий Arduino Nano

Arduino Nano v3.0 vs v2.x

Параметр Nano v2.x Nano v3.0
Микроконтроллер ATmega168 ATmega328P
Flash-память 16 КБ 32 КБ
SRAM 1 КБ 2 КБ
EEPROM 512 байт 1 КБ

Современные модификации

Arduino Nano 33 BLE Sense - версия с Bluetooth и множеством встроенных датчиков для IoT-проектов.

Питание и энергопотребление

Расчёт потребления

При планировании автономных проектов важно учитывать энергопотребление:

  • Плата Arduino Nano: ~19 мА в активном режиме
  • Светодиоды: 15-20 мА каждый
  • Датчик DHT11: 0.3 мА в активном режиме
  • OLED дисплей: 10-20 мА в зависимости от яркости

Режимы энергосбережения

Для проектов с батарейным питанием можно использовать режимы сна микроконтроллера для снижения энергопотребления до единиц микроампер.

FAQ

Да, Arduino Nano полностью совместима с Arduino Uno по программной части и имеет аналогичную функциональность. Основные отличия заключаются в форм-факторе, типе USB-разъёма (Mini-USB вместо USB-B) и отсутствии встроенного разъёма питания.

Это зависит от чипа USB-UART преобразователя на плате:

  • Оригинальные платы: используют FTDI FT232RL, драйверы встроены в Windows.
  • Китайские клоны: обычно используют CH340G, требуют установки специального драйвера.

Не рекомендуется. Для внешнего питания используйте пин VIN с напряжением 7–12В либо питание через USB. Подача напряжения напрямую на пин 5V может повредить встроенный регулятор.

Теоретически до 127 устройств, но на практике количество ограничивается ёмкостной нагрузкой шины и качеством подтяжных резисторов. Рекомендуется не более 8–10 устройств без дополнительных буферов.

Основные причины:

  • Неправильно выбранная плата или порт в Arduino IDE.
  • Отсутствие или неправильные драйверы USB-UART.
  • Использование пинов D0/D1 в проекте (они заняты для программирования).
  • Выбор неправильного загрузчика (Old Bootloader для китайских плат).

Да, существуют альтернативные среды разработки: PlatformIO, Visual Studio Code с расширением Arduino, Atmel Studio. Также можно использовать внешние программаторы через ICSP-разъём для прямой загрузки hex-файлов.

Пины A6 и A7 подключены только к АЦП и не могут использоваться как цифровые входы/выходы, в отличие от A0–A5, которые могут работать в обоих режимах.

Максимальный ток пина 3.3V составляет 50 мА. Этого достаточно для питания большинства датчиков, но недостаточно для мощных устройств вроде серводвигателей или реле.

Рейтинг: 5/5 - 2 голосов

2025 Electricalblog - блог инженера-электрика письмо автору сайта