Skip to contentSkip to main navigation Skip to footer

Подключение компонентов

Подключение на макетке


Макетка – она же макетная плата или брэдборд (breadboard) – самый удобный способ создания макетов и прототипов электронных устройств. Контакты в макетке соединяются вот таким образом:
В макетку втыкается Arduino Nano, модули, соединяются проводами – и готово. Крайние длинные линии позволяют распараллелить линию питания от пинов 5V и GND для всех модулей.

Внимание! Перед сборкой схемы или изменением существующей (например добавить модуль) обязательно отключайте питание: USB кабель от Arduino и/или внешнее питание от пина 5V. Случайное касание проводом платы может привести к выходу компонента из строя!

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


Все модули подключаются очень похожим образом: питание и сигнальные пины. Питание состоит из “плюса” и “минуса”, точнее из питания (+5 или +3.3 Вольта) и общего провода (GND, земля, COM). На модулях они могут быть обозначены так:

  • Питание (5V, 3.3V, 3V3, Vin, VCC, +)
  • Общий (GND, COM, G, -)

Как определить, на какое напряжение рассчитан датчик, 3.3V или 5V, если это не указано явно (например VCC)? Читать описание к датчику или смотреть примеры. Подавляющее большинство Ардуино-модулей рассчитаны на питание от 5V, а некоторые имеют на борту свой стабилизатор питания. Если модуль нужно питать именно от 3.3V, то можно подключить его к выходу 3V3 платы Arduino.

Далее рассмотрим подключение сигнальных пинов.

Распиновка платы


Плата Arduino Nano имеет пины, подписанные как Dцифра и Aцифра, буквы олицетворяют базовые возможности пинов – цифровые и аналоговые. Но помимо этого у пинов есть и другие функции, для их определения используется распиновка (pinout) платы. Рассмотрим упрощённую распиновку, где рассмотрены самые важные для подключения датчиков ноги:

  • GPIO – базовый порт ввода-вывода. Может читать и выдавать цифровой сигнал (только 0 и 5 Вольт).
  • PWM – может аппаратно генерировать ШИМ сигнал.
  • ANALOG – пин АЦП, аналогово-цифрового преобразователя. Может измерять напряжение.
  • UART – выводы аппаратного UART для подключения модулей с таким же интерфейсом.
  • I2C– выводы аппаратной шины I2C для подключения модулей с таким же интерфейсом.
  • SPI – выводы аппаратной шины SPI для подключения модулей с таким же интерфейсом.

Простые цифровые датчики


К простым цифровым можно отнести любые датчики, имеющие пин с логическим выходом, то есть напряжение на этом пине может быть только 0 или 5 Вольт в зависимости от показания датчика. Это например ИК датчик движения, кнопка, датчик линии, энкодер, а также практически все остальные датчики с пинами питания и выходом, помеченным как DO, OUT или S.

Такие модули подключаются в любые GPIO пины.

Аналоговые датчики


К аналоговым относятся модули и датчики, сигнал с которых выходит в виде напряжения от 0 до 5 Вольт, но меняется “плавно” в зависимости от показания с датчика. Это например микрофон, термистор, фоторезистор, датчик влажности, потенциометр и прочее. Многие аналоговые датчики имеют пины, подписанные так же, как цифровые. Как отличить цифровой датчик от аналогового? Либо по описанию, либо методом “тыка” – подключить в аналоговый пин и вывести сигнал. Некоторые модули имеют цифровой и аналоговый выход одновременно (датчики звука, линии, холла и некоторые другие), пины у них обычно подписаны как DO – цифровой выход и AO – аналоговый. Также аналоговый выход может быть маркирован как OUT или S.

Такие модули подключаются в любые ANALOG пины.

“Умные” датчики, шина


Некоторые датчики имеют цифровой выход, но выдают не просто 0 и 5V, а передают данные по цифровому интерфейсу связи. Сигнальные пины таких датчиков могут быть подписаны как SCK, SDA, SCL, MISO, MOSI, SS и прочими аббревиатурами. Для работы с такими датчиками нужно обязательно смотреть примеры или документацию. По сути любой такой датчик можно подключить на любой GPIO пин и программно эмулировать нужный интерфейс связи, что сложно и будет отбирать лишнее процессорное время. Arduino Nano поддерживает несколько интерфейсов аппаратно, то есть позволяет работать с ними очень быстро и эффективно, но подключать такие железки нужно будет в строго отведённые для этого пины.

UART


UART – пины D0 (RX) и D1 (TX). По нему чаще всего подключаются Bluetooth, GPS и GSM модули. В общем случае поддерживает подключение только одного модуля. Пины на модуле называются обычно RX и TX. Подключение к модулю осуществляется “наоборот” – RX->TX и TX->RX, так как RX принимает сигналы (Receiver), а TX – передаёт (Transmitter). Для подключения нескольких UART модулей или одновременной работы модуля и “монитора порта” используют программный UART при помощи встроенной библиотеки SoftwareSerial.

  • RX TX
  • TX RX

I2C


I2C – пины A4 (SDA) и A5 (SCL). Данный интерфейс является шиной, то есть к нему можно подключить параллельно сразу несколько (до 128) устройств с уникальными адресами, смотрите пример на картинке с макеткой в этом уроке.

Варианты маркировки и подключение к аппаратному I2C:

  • A4 SDA (D) – линия данных, Serial DAta
  • A5 SCL (C, SCK) – линия синхронизации, Serial CLock

SPI


SPI – пины D11 (MOSI), D12 (MISO) и D13 (SCLK), иногда добавляется D10 (SS). Данный интерфейс также является шиной, причём высокоскоростной, и поддерживает подключение по сути неограниченного количества модулей: у модуля есть пин CS (Chip Select), который прижимается микроконтроллером к GND для выбора данного модуля в качестве устройства приёма и передачи данных в текущий момент. SPI – очень распространённый и простой интерфейс, очень часто датчики и модули подключают к любым GPIO пинам и используют программную отправку и приём данных через встроенные функции shiftIn() и shiftOut(). “Сложные” датчики и датчики с большим объёмом и высокой скоростью передаваемых данных (карта памяти, NFC модуль) нужно подключать к аппаратной шине SPI микроконтроллера.

Варианты маркировки и подключение к аппаратному SPI:

  • D11 MOSI (SDI, DI, DIN, SI) – линия данных от Ардуино к модулю
  • D12 MISO (SDO, DO, DON, SO) – линия данных от модуля к Ардуино
  • D13 SCLK (SCK, CLK, SPC) – линия синхронизации
  • D10 SS (SCK, CLK, SPC) – используется в случаях, когда Ардуино является “датчиком”
  • GPIO CS (SS, RCK) – выбор текущего модуля прижатием этого пина к GND

Управление активной нагрузкой


Тут важно запомнить одну важную вещь: нагрузку мощнее 40 мА к пину подключать нельзя! Всё что требует больше – нужно подключать через гасящий резистор (например светодиод, пищалка, и т.д.) или коммутировать через реле или силовой ключ (мотор, светодиодная лента, клапан), и управлять коммутацией логическим сигналом с пина GPIO. Подробнее читайте в уроке.

Полезный пример?

2 Комментария

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *