Arduino UNO: распиновка, характеристики и питание
Arduino UNO — плата, с которой начинают почти все, и та, под которую написано большинство уроков в интернете. Если в примере не сказано иначе, речь идёт именно о ней.
Внутри стоит микроконтроллер ATmega328P на 16 мегагерц. По нынешним меркам это очень скромно, но для мигания светодиодом, опроса датчиков и управления моторами хватает с запасом.
Распиновка
Все выводы списком
| Вывод | Назначение |
|---|---|
| D0UART RX | Приём данных по последовательному порту. Занят, пока открыт монитор порта. |
| D1UART TX | Передача данных по последовательному порту. Тоже занят при загрузке скетча. |
| D2прерывание | Умеет будить плату по изменению сигнала — это один из двух выводов прерываний. |
| D3ШИМ · прерывание | Второй вывод прерываний, и он же умеет ШИМ. |
| D4 | Обычный цифровой вывод. |
| D5ШИМ | ШИМ на частоте около 980 Гц. |
| D6ШИМ | ШИМ на частоте около 980 Гц — та же пара таймера, что и у пятого. |
| D7 | Обычный цифровой вывод. |
| D8 | Обычный цифровой вывод. |
| D9ШИМ | ШИМ. Вместе с десятым управляется одним таймером — тем самым, что нужен библиотеке Servo. |
| D10ШИМ · SPI SS | ШИМ, он же выбор устройства на шине SPI. |
| D11ШИМ · SPI MOSI | ШИМ, он же линия данных «от платы» на шине SPI. |
| D12SPI MISO | Линия данных «к плате» на шине SPI. |
| D13SPI SCK · светодиод | Тактовый сигнал SPI. К нему же припаян встроенный светодиод — поэтому вывод «шумит» при загрузке. |
| A0 | Аналоговый вход, десять разрядов: значения от 0 до 1023. |
| A1 | Аналоговый вход. |
| A2 | Аналоговый вход. |
| A3 | Аналоговый вход. |
| A4I2C SDA | Аналоговый вход и линия данных шины I2C — по ней идут почти все дисплеи и датчики. |
| A5I2C SCL | Аналоговый вход и тактовая линия шины I2C. |
| 5V | Выход стабилизатора. Отсюда питают датчики и модули, но не мотор. |
| 3.3V | Отдельный стабилизатор, и он слабый: максимум 50 мА. |
| VIN | Вход внешнего питания, 7–12 В. То же, что центральный контакт круглого разъёма. |
| GND | Земля. Их на плате три, и все соединены между собой. |
| GND | Земля. |
| GND | Земля. |
| RESET | Замыкание на землю перезапускает плату — то же, что нажать кнопку. |
| AREF | Позволяет задать своё опорное напряжение для аналоговых входов. |
| IOREF | Сообщает платам расширения, на каком напряжении работает логика. |
| SDAI2C SDA | Дубль вывода A4: та же линия данных I2C, выведенная сверху для плат расширения. |
| SCLI2C SCL | Дубль вывода A5: та же тактовая линия I2C. |
Характеристики
- Микроконтроллер
- ATmega328P
- Тактовая частота
- 16 МГц
- Напряжение логики
- 5 В
- Флеш-память
- 32 КБполкилобайта занимает загрузчик
- Оперативная память
- 2 КБименно она заканчивается первой
- EEPROM
- 1 КБпереживает выключение питания
- Цифровых выводов
- 14из них 6 с ШИМ
- Аналоговых входов
- 610 разрядов, 0–1023
- Ток с одного вывода
- 20 мАпредельный 40 мА, но это уже на износ
- Суммарный ток выводов
- 200 мА
- Внешнее питание
- 7–12 В
- Размер платы
- 68,6 × 53,4 мм
Чем отличается от соседей
Arduino Nano
Тот же контроллер и та же память, но в четыре раза меньше и без круглого разъёма питания. Если схема уезжает в корпус — берут Nano, разницы в коде нет.
Arduino Mega
Нужна, когда выводов не хватает: их там 54 против 14. Ещё у Mega вчетверо больше оперативной памяти — это важнее, чем кажется, если работаете со строками или графическим дисплеем.
ESP32
Другая платформа: втрое быстрее, с Wi-Fi и Bluetooth, но логика 3,3 В — пятивольтовые модули напрямую не подключить. Берут, когда нужна сеть.
На чём попадаются
Мотор подключён к выводу платы
Вывод отдаёт 20 мА, а самый маленький моторчик просит сотни. Плата либо перезагрузится, либо выгорит. Мотору нужен драйвер и своё питание — общей остаётся только земля.
Питание подано и в USB, и в разъём
Так делать можно: на плате стоит переключатель, который сам выберет источник с бо́льшим напряжением. А вот подавать пять вольт напрямую на вывод 5V, минуя стабилизатор, опасно — защиты там нет.
Заняты выводы 0 и 1
Это тот же последовательный порт, через который заливается скетч. Если на них что-то висит, загрузка срывается с ошибкой. Освобождайте их на время прошивки.
Кончилась не флеш-память, а оперативная
Скетч компилируется, но плата ведёт себя странно: зависает, перезагружается, печатает мусор. Обычно виноваты строки в кавычках — каждая занимает место в двух килобайтах ОЗУ. Лечится макросом F() вокруг текста.
Что к ней подключают
Схемы подключения, библиотеки и рабочие скетчи для датчиков, дисплеев и драйверов — в разделе компонентов. Каждый скетч проверен компиляцией именно под эту плату.