Palitra21.ru

Домашний уют — журнал
16 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Электрическая Схема Ардуино

Электрическая Схема Ардуино

По объему памяти Uno тоже существенно уступает Megа. Типа такой: Вообще говоря эти pro mini все разные по распиновке, но выводы подписаны и проблем не возникает, они дешевые и сердитые.


Резистор, используемый в схеме 10 кОм. Аналоговые входы не оснащены подтягивающими резисторами.

Какие выводы будут работать на вход или выход, какие библиотеки подключать, инициализировать переменные.
Как читать электрические схемы. Урок №6

Токовая защита разъема USB В Arduino Uno встроен самовостанавливающийся предохранитель автоматзащищающий порт USB компьютера от токов короткого замыкания и сверхтоков. Так как все детали включены в одну цепь на резистор тоже будет ток 20мА.

Как использовать макетную плату.

Больше по теме самой Arduino можно почитать тут , тут или на официальном сайте Arduino. Максимальное потребление тока 50 мА.

На Uno имеется возможность отключить линию автоматической перезагрузки разрывом соответствующей линии. К таковым относятся низкий уровень сигнала; прерывания по фронту, по спаду, при изменении уровня сигнала.

При прохождении тока питания более мА через USB порт, предохранитель автоматически срабатывает и размыкает цепь питания до тех пор, пока значения тока не вернуться к нормальным. Эти контакты могут работать как выходы или как входы, то есть они могут либо передавать какие-то данные и управлять внешними устройствами, либо получать данные с устройств.

Обзор платы ARDUINO NANO. Как её использовать.

Урок 26.1 Соединяем две arduino по шине UART

При создании некоторых проектов, требуется разделить выполняемые задачи между несколькими Arduino.

В этом уроке мы научимся соединять две Arduino по аппаратной шине UART.

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

  • Простота реализации.
  • Дуплексная связь, обе Arduino могут одновременно передавать данные друг другу.

Недостатки:

  • Нет возможности «залить» скетч, при наличии устройств на аппаратной шине UART.
  • Реализуется соединение только двух устройств (при отсутствии доп. модулей).

Нам понадобится:

  • Arduino х 2шт.
  • LCD дисплей LCD1602 IIC/I2C(синий) или LCD1602 IIC/I2C(зелёный) х 2шт.
  • Trema Shield х 2шт.
  • Эластичная клавиатура 4×4 х 2шт.
  • Шлейф «мама-мама» (4 провода) для шины I2С х 2шт.
  • Шлейф «мама-мама» (3 провода) для шины UART x 1шт.

Для реализации проекта нам необходимо установить библиотеки:

  • Библиотека iarduino_KB (для подключения матричных клавиатур).
  • Библиотека LiquidCrystal_I2C_V112 (для подключения дисплеев LCD1602 по шине I2C).

О том как устанавливать библиотеки, Вы можете ознакомиться на странице Wiki — Установка библиотек в Arduino IDE .

Видео:

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

Подключение LCD дисплея осуществляется к аппаратным выводам шины I2C.
Клавиатура подключается к любым цифровым выводам, в примере используются выводы 2-9.
Соединение двух arduino осуществляется по шине UART:

Arduino 1Arduino 2
TX (transmit — передать)RX (receive — получить)
RX (receive — получить)TX (transmit — передать)
GND (ground — земля)GND (ground — земля)

Код программы:

Настройка параметров шины UART:

Максимальная, аппаратно реализуемая частота передачи данных, может достигать 1/8 от тактовой частоты.

Настройка шины осуществляется вызовом функции begin() класса Serial, с передачей ей до двух аргументов. Первый аргумент устанавливает частоту передачи данных (в примере 9600 бод), второй (необязательный) аргумент устанавливает количество битов, наличие проверки на четность/нечетность, длину стопового бита (по умолчанию SERIAL_8N1).

Допустимые значения второго аргумента функции begin() класса Serial:

  • SERIAL_5N1
  • SERIAL_6N1
  • SERIAL_7N1
  • SERIAL_8N1
  • SERIAL_5N2
  • SERIAL_6N2
  • SERIAL_7N2
  • SERIAL_8N2
  • SERIAL_5E1
  • SERIAL_6E1
  • SERIAL_7E1
  • SERIAL_8E1
  • SERIAL_5E2
  • SERIAL_6E2
  • SERIAL_7E2
  • SERIAL_8E2
  • SERIAL_5O1
  • SERIAL_6O1
  • SERIAL_7O1
  • SERIAL_8O1
  • SERIAL_5O2
  • SERIAL_6O2
  • SERIAL_7O2
  • SERIAL_8O2

Значения отличаются последними тремя символами, которые означают следующее:

  • Первая цифра: указывает количество бит в минимальной посылке (от 5 до 8).
  • Буква N/E/O: E-проверка четности, O-проверка нечетности, N-без проверки.
  • Последняя цифра: указывает длину стопового бита (1 или 2 битовых интервала)

Таким образом значение по умолчанию SERIAL_8N1 означает, что в минимальной посылке 8 бит (без учёта стартового и стопового битов), данные передаются без проверки на чётность/нечётность, длина стопового бита равна 1 битовому интервалу.

Настройки шины UART обеих arduino должны быть идентичны!

При покупке официальной версии, подключение Arduino UNO к компьютеру выполняется автоматически.
При использовании китайских аналогов или других arduino-совместимых платформ, во время подключения следует учесть несколько важных моментов.

Подключение официальной платы

1. Скачивание и установка среды разработки

Для программирования платформы вам необходимо скачать и установить свежую версию среды разработки под Arduino — «Arduino IDE». Ее можно скачать с официального сайта по ссылке ниже.

При использовании Windows на русском языке, программа автоматически выставит в интерфейсе тоже русский язык.

В открывшемся окне следует нажать на кнопку «JUST DOWNLOAD«.

2. Первый запуск среды разработки

После того, как вы скачаете и установите Arduino IDE, вам необходимо подключить Arduino UNO в любой свободный порт компьютера и осуществить первичную настройку.

После того, как вы подключили вашу плату к компьютеру, Windows сообщит об обнаружении нового устройства и автоматически выполнит установку всех необходимых драйверов для работы с ней. После того, как вы увидели сообщение «Устройство установлено и готово к использованию», переходите к настройке программы.

3. Настройка подключения платы

Наверху программы размещен список пунктов меню. Вам необходим пункт Инструменты Плата.
В этом окне вам необходимо выбрать, какая плата была подключена к вашему компьютеру. Выбираем «Arduino/Genuino Uno» .

Инструменты Плата Arduino/Genuino Uno

После выбора платы, нам необходимо выбрать порт. Переходим ко вкладке Инструменты Порт.

Если вы уже подключили свою ардуино к компьютеру, то у вас должны отобразиться все занятые на текущий момент COM-порты. Выбираем любой из доступных и проверяем, правильный-ли порт мы выбрали.

4. Проверка работоспособности платы

Самый простой способ проверить, работает-ли ваша ардуино на том порту, который вы выбрали — это попробовать залить в нее тестовый скетч (прошивку).

Из верхнего меню открываем: Файл Примеры 01.Basics Blink

В новом окне у вас должен открыться код программы, которая мигает светодиодом. Для того, чтобы загрузить ее в вашу плату, необходимо нажать кнопку «загрузка».

В панели работы со скетчами — вторая кнопка:

В нижней части программы (в черном окне) показывается процесс загрузки прошивок в плату. Если все прошло нормально, вы увидите сообщение «загрузка успешно завершена».

Подключение неофициальных плат

1. Скачивание и установка среды разработки

Для программирования платформы вам необходимо скачать и установить свежую версию среды разработки под Arduino — «Arduino IDE». Ее можно скачать с официального сайта по ссылке ниже.

При использовании Windows на русском языке, программа автоматически выставит в интерфейсе тоже русский язык.

В открывшемся окне следует нажать на кнопку «JUST DOWNLOAD«.

2. Первый запуск среды разработки

После того, как вы скачаете и установите Arduino IDE, вам необходимо подключить Arduino UNO в любой свободный порт компьютера и осуществить первичную настройку.

После того, как вы подключили вашу плату к компьютеру, Windows сообщит об обнаружении нового устройства.

Обратите внимание на элемент платы, выделенный красной рамкой — это программатор. Если возле USB разъема вы видите данную микросхему, ваша Ардуино имеет встроенный китайский программатор CH340G, драйверы для которого Windows автоматически найти не сможет.

Если ваша Arduino UNO — Китай, драйвер придется устанавливать обязательно. Об этом система оповестит вас сообщением «Программное обеспечение для устройства не было установлено».

Если все произошло именно так, как мы описали выше, приступаем к установке драйверов по этой инструкции: Инструкция по установке CH340G

После того, как вы увидите сообщение «Устройство установлено и готово к использованию», переходите к настройке программы.

3. Настройка подключения платы

Наверху программы размещен список пунктов меню. Вам необходим пункт Инструменты Плата.
В этом окне вам необходимо выбрать, какая плата была подключена к вашему компьютеру. Выбираем «Arduino/Genuino Uno» .

Инструменты Плата Arduino/Genuino Uno

После выбора платы, нам необходимо выбрать порт. Переходим ко вкладке Инструменты Порт.

Если вы уже подключили свою ардуино к компьютеру, то у вас должны отобразиться все занятые на текущий момент COM-порты. Выбираем любой из доступных и проверяем, правильный-ли порт мы выбрали.

4. Проверка работоспособности платы

Самый простой способ проверить, работает-ли ваша ардуино на том порту, который вы выбрали — это попробовать залить в нее тестовый скетч (прошивку).

Из верхнего меню открываем: Файл Примеры 01.Basics Blink

В новом окне у вас должен открыться код программы, которая мигает светодиодом. Для того, чтобы загрузить ее в вашу плату, необходимо нажать кнопку «загрузка».

В панели работы со скетчами — вторая кнопка:

В нижней части программы (в черном окне) показывается процесс загрузки прошивок в плату. Если все прошло нормально, вы увидите сообщение «загрузка успешно завершена».

Добавить комментарий

На выставке CES 2020 также было представлено новое поколение плат Arduino Portenta. Оно было разработано на требовательные промышленные приложения. Portenta H7 поддерживает код Arduino, Python и JavaScript, что делает его доступным для разработчиков с различными знаниями языков .

Производитель Arduino запускает новую серию плат Nano — Arduino Nano 33 BLE. Платы имеют те же размеры, что и плата Ардуино Нано, на чипе U-blox NINA-B306 с микроконтроллером Nordic nRF52840 и беспроводным модулем Bluetooth BLE

Особенности программирования на платформе Arduino

Термины

Программный код для Arduino принято называть скетчами (англ. sketches). У скетчей есть два основных метода: setup() и loop() . Первый метод автоматически вызывается после включения/сброса микроконтроллера. В нём происходит инициализация портов и различных модулей, систем. Метод loop() вызывается в бесконечном цикле на протяжении всей работы микроконтроллера.

Порты — неотъемлемая часть любого микроконтроллера. Через них происходит взаимодействие микроконтроллера с внешними устройствами. С программной стороны порты называются пинами. Любой пин может работать в режиме входа (для дальнейшего считывания напряжения с него) или в режиме выхода (для дальнейшей установки напряжения на нём).

Любой пин работает с двумя логическими состояниями: LOW и HIGH , что эквивалентно логическому нулю и единице соответственно. У некоторых портов есть встроенный АЦП, что позволяет считывать аналоговый сигнал со входа (например, значение переменного резистора). Также некоторые пины могут работать в режиме ШИМ (англ. PWM), что позволяет устанавливать аналоговое напряжение на выходе. Обычно функциональные возможности пина указываются на маркировке самой платы.

Основные функции

Для базовой работы с платой в библиотеке Arduino есть следующие функции:

  • pinMode(PIN, type) — указывает назначение конкретного пина PIN (значение type INPUT — вход, OUTPUT — выход);
  • digitalWrite(PIN, state) — устанавливает логическое состояние на выходе PIN ( state LOW — 0, HIGH — 1);
  • digitalRead(PIN) — возвращает логическое состояние со входа PIN ( LOW — 0, HIGH — 1);
  • analogWrite(PIN, state) — устанавливает аналоговое напряжение на выходе PIN ( state в пределах от 0 до 255);
  • analogRead(PIN) — возвращает значение аналогового уровня сигнала со входа PIN (пределы зависят от разрядности встроенного АЦП. Обычно разрядность составляет 10 бит, следовательно, возвращаемое значение лежит в пределах от 0 до 1023);
  • delay(ms) — приостанавливает исполнение скетча на заданное количество миллисекунд;
  • millis() — возвращает количество миллисекунд после момента запуска микроконтроллера.

В остальном процесс программирования на Arduino такой же, как на стандартном C++.

Программирование и связь с ПК

В левом верхнем углу (рисунок №3) расположен USB-разъём. Он выполняет две функции. Первая – организация канала обмена данными между микроконтроллером и ПК и вторая – запись прошивки в ATMega328.

На аппаратном уровне за связь с компьютером отвечает модуль последовательного интерфейса передачи данных (UART), который встроен в ATMega328 и выведен на контактах 0(RX) и 1(TX) платы Arduino Uno. Однако просто передавать данные на компьютер не получиться. Посредником между ATmega328 и компьютером выступает отдельно установленный микроконтроллер ATMega16. Его специальная прошивка позволяет определять плату Arduino Uno как виртуальный СОМ-порт, когда та подключается к ПК. Обмен данными будет сопровождаться миганием соответствующих светодиодов RX и TX, расположенных справа от ATMega16.

Что касается записи прошивки, то этот процесс максимально упрощён и сводится к нажатию всего одной кнопки в среде Arduino IDE. Такая простота обусловлена тем, что Arduino Uno выпускается со встроенным прошитым загрузчиком, работающем по протоколу STK500. Следовательно, во внешнем программаторе нет никакой необходимости. Тем не менее, для любителей прошить контроллер напрямую, на плате предусмотрена колодка ICSP (справа посередине) для внутрисхемного программирования в обход загрузчика. Сам DFU-загрузчик находиться в ATMega16 и также может быть переписан путём внутрисхемного программирования через аналогичную колодку в верхней левой части платы.

Плата Arduino Uno имеет на борту 3 способа подключения питания: через USB, через внешний разъем питания и через разъем Vin, выведенный на одну из гребенок сбоку. Платформа имеет на борту встроенный стабилизатор, позволяющий не только автоматически выбирать источник питания, но и выравнивать ток до стабильных 5 вольт, необходимых контроллеру для работы.

Внешнее питание можно подавать как напрямую от USB порта компьютера, так и от любого AC/DC блока питания через разъем питания или USB.

На плате предусмотрено несколько выводов, позволяющих запитывать от нее подключенные датчики, сенсоры и актуаторы. Все эти выводы помечены:

  • Vin – вход питания, используется для получения питания от внешнего источника. Через данных вывод происходит только подача питания на плату, получить оттуда питание для внешних устройств невозможно. На вход Vin рекомендуется подавать напряжение в диапазоне от 7В до 20В, во избежании перегрева и сгорания встроенного стабилизатора.
  • 5V – источник пятивольтового напряжения для питания внешних устройств. При получении питания платой из любых других источников (USB, разъем питания или Vin) на этом контакте вы всегда сможете получить стабильное напряжение 5 вольт. Его можно вывести на макетную плату или подать напрямую на необходимое устройство.
  • 3V3 – источник 3.3 вольтового напряжения для питания внешних устройств. Работает по такому-же принципу, что и контакт 5V. С данной ножки также можно вывести напряжение на макетную плату, либо подать на необходимый датчик/сенсор напрямую.
  • GND – контакт для подключения земли. Необходим для создания замкнутой цепи при подключении к контактам Vin, 5V или 3V3. Во всех случаях ножку GND необходимо выводить как минус, иначе цепь не будет замкнута и питание (что внешнее, что внутреннее) не подасться.

Аrduino nano распиновка

Аrduino nano распиновка — в этой статье хочу уделить немного внимания аппаратной основе плат семейства Arduino Nano. Вариации аппаратного исполнения я описал под фото.


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

Питание

Arduino Nano может быть запитан через кабель mini(micro)-USB, от внешнего источника питания с нестабилизированным напряжением 6-20 В (через вывод 30, подавать на этот вывод больше 12 В настоятельно не рекомендуется) либо со стабилизированным напряжением 5В (через вывод 27). Устройство автоматически выбирает источник питания с наибольшим напряжением.

Напряжение на микросхему FTDI FT232RL подается только в случае питания Arduino Nano через USB. Поэтому при питании устройства от других внешних источников (не USB), выход 3.3 В (формируемый микросхемой FTDI) будет неактивен, в результате чего светодиоды RX и TX могут мерцать при наличии высокого уровня сигнала на выводах 0 и 1.

Входы и выходы

Каждый из 20 (0-19, на схеме аrduino nano распиновка помещены в сиреневые параллелограммы, на той же схеме в серых параллелограммах указаны выводы микроконтроллера) цифровых выводов Arduino Nano может работать в качестве входа или выхода. Рабочее напряжение выводов — 5В. Максимальный ток, который может отдавать один вывод, составляет 40 мА, но нагружать выходы более, чем на 20 мА не рекомендуется. При этом суммарная нагрузка по всем выводам не должна превышать 200 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо основных, некоторые выводы Arduino Nano могут выполнять дополнительные функции:

Последовательный интерфейс:

Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы-преобразователя USB-UART от FTDI.

Внешние прерывания: выводы 2 и 3. Данные выводы могут быть сконфигурированы в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, по фронту, по спаду или при изменении сигнала. Для получения дополнительной информации см. функцию attachInterrupt().

ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.

Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Данные выводы позволяют осуществлять связь по интерфейсу SPI. В устройстве реализована аппаратная поддержка SPI.

Светодиод: вывод 13. Встроенный светодиод, подсоединенный к цифровому выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW — выключается.

I2С: выводы 4 (SDA) и 5 (SCL). С использованием библиотеки Wire (документация на веб-сайте Wiring) данные выводы могут осуществлять связь по интерфейсу I2C (TWI).

Помимо перечисленных на плате существует еще несколько выводов:

AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().

Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения.

Аналоговые входы A0-А7: входы с 10-битным аналого-цифровым преобразователем (АЦП). Напряжение поданное на аналоговый вход, обычно от 0 до 5 вольт будет преобразовано в значение от 0 до 1023, это 1024 шага с разрешением 0.0049 Вольт. Источник опорного напряжения может быть изменен.

Среда программирования Arduino IDE поддерживает работу не со всеми устройствами, входящими в состав микроконтроллера. Например, остался без внимания аналоговый компаратор. Пользоваться им можно, но придется напрямую обращаться к регистрам.

Схема соединений разъёмов J1 и J2.

Схема соединений микроконтроллера. В качестве МК могут быть применены ATMega 328P или ATMega 168P.

Схема соединений преобразователя USB-UART.

Есть версии плат с микросхемами CH340G(более капризные), в оригинальной версии стоит FT232RL. В базовой версии устанавливается разъём mini-USB, но попадаются версии и с более удобным разъёмом micro-USB.

Соединения цепей питания и разъёма ICSP. Есть версии плат с номинальным напряжением питания 5 В или 3,3 В.

Таймеры (ШИМ)

Выводы таймеров: в микроконтроллере, помимо обычного вычислительного ядра, с которым мы работаем, находятся также “хардварные” счётчики, работающие параллельно со всем остальным железом. Эти счётчики также называют таймерами, хотя к таймерам они не имеют никакого отношения: счётчики буквально считают количество тиков, которые делает кварцевый генератор, задающий частоту работы для всей системы. Зная частоту генератора (обычно 16 МГц) можно с очень высокой точностью определять интервалы времени и делать что-то на этой основе. Какой нам прок от этих счётчиков? “Из коробки” под названием Arduino IDE мы имеем несколько готовых, основанных на таймерах инструментов (функции времени, задержек, измерения длин импульсов и другие).

В этой статье речь идёт о пинах и выходах, о них и поговорим: у каждого счётчика есть два выхода на GPIO. У нано (у МК ATmega328p) три счётчика, соответственно 6 выходов. Одной из возможностей счётчиков является генерация ШИМ сигнала, который и выводится на соответствующие GPIO. Для нано это D пины 5 и 6 (счётчик 0), 9 и 10 (таймер 1) и 3 и 11 (таймер 2). ШИМ сигналу посвящен отдельный урок, сейчас просто запомним, что с его помощью можно управлять яркостью светодиодов, скоростью вращения моторчиков, мощностью нагрева спиралей и многим другим. Но нужно помнить, что ограничение по току в 40 мА никуда не делось и питать от пинов ничего мощнее светодиодов нельзя.

Читать еще:  Структура, свойства и применение чугунов (стр. 5 )
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector