Arduino uno: распиновка, схема подключения и программирование

Содержание:

M5Stack и его контакты

«Из коробки» Базовое устройство поставляется с Завершающим модулем, который отличается в зависимости от комплектации (BASIC или GO, например). Стандартный BLACK BOTTOM оборудован, из электронных частей, аккумулятором ёмкостью на 150 мАч (3,7 В) и четырьмя контактными колодками две типа вилка и две типа штекер. По ориентации колодок контакты дублируются, т. е. сверху контакт 5V (розетка) и снизу контакт 5V (вилка). На вертикальных колодках имеются следующие контакты: 3, 1, 16, 17, 2, 5, 25, 26, 35, 36, RST, BAT, 3V3, 5V и G. На горизонтальных: 5V, 3V3, G, 21, 22, 23, 19, 18.

Улучшенный Завершающий модуль M5GO BOTTOM оборудован аккумулятором ёмкостью 600 мАч, neopixel-панелями, микрофоном, GROVE и POGO -разъёмами.

Настройка FMC

Следующим этапом нужно сконфигурировать блок FMC для нашей микросхемы памяти. Большую часть нужных параметров можно почерпнуть из даташита, но самое главное решение предстоит принимать самостоятельно. Конечно же, я говорю о тактовой частоте оперативной памяти. Именно она будет определять все остальные тайминги, и именно от нее будет зависеть итоговая производительность нашей системы.

По умолчанию FMC тактируется от частоты процессора — HCLK. Для F746NG максимальное значение составляет 216 МГц, и базовая настройка в скетче Arduino (до вызовов функций и ) выставляет именно его. Конечно же, выбрать такую частоту для микросхемы памяти было бы слишком, ведь по документации она работает только вплоть до 167 МГц.

Поэтому блок FMC позволяет выбрать предделитель для частоты SDRAM. На выбор дается только два значения: и . И это крайне неприятно, так как у нас есть дополнительное ограничение на максимальную частоту самого FMC и больше 100 МГц на нем выставлять вроде как нельзя. Но очень хочется!

Что же делать — снижать частоту ядра до 200 МГц или выбирать делитель и довольствоваться скромными 72 МГц на оперативной памяти? Конечно же, это все неправильные варианты. Надо разгонять, и разгонять по максимуму! Окей, звучит несколько самоуверенно, но на самом деле у нас очень хорошие шансы на успех, и я постараюсь кратко объяснить почему.

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

Аппаратные вопросы

Вопросы и темы по железу.

Шаговый двигатель с высокой скоростью

Втр, 28/07/2020 — 13:40 | by d0nik

Здравствуйте.

Стоит задача выбрать шаговый двигатель для Ардуино, основной функцией которого будет вращение вала на 90 градусов в одном направлении, и 90 градусов в обратном (возврат в исходное положение). 

Основной критерий — скорость этих действий. В идеале, на поворот и возврат в исходное положение должно занимать не больше 1 сек.

Ну, и соответственно, минимальные размеры + возможность прикупить на Алиэкспресс.

Посоветуйте, плиз, какой выбрать.

Tags:

Аппаратные вопросы

Не вопрос-просто наблюдение. Тишина при работе ШИМ ESP32- по сравнению с ардуино нано

Пнд, 27/07/2020 — 19:51 | by mu_ssina

Такое наблюдение для себя сделал, возможно кому то поможет чем-то:

Крутил движок стандартным ШИМом 8 -битным на ардуино нано- звон стоит на всю комнату (даже на малых оборотах) — слышно как звенит микро электродвигатель.

Да, знаю — можно всяко извращаться и повышать частоту. В курсе. Но по умолчанию-так.

У ESP32-приделал движок, выставил частоту в 30 000- и тишина на любых оборотах! Никакого даже намека на звон ШИМ не слышно. Для домашних проектов, требующих максимальной тишины- может быть полезно.

Tags:

Аппаратные вопросы

Atmega328pu-ph что за зверь?

Вс, 26/07/2020 — 15:23 | by dizzel

Всем привет. Прошу помощи тех, кто встречался с данными МК с такой маркировкой. Дело в том что дудкой они отказываются шиться, даже фьюзы не читаются. Одним словом посылает нафиг и пишет это

Tags:

Аппаратные вопросы

Сб, 25/07/2020 — 23:05 | by artur222

Tags:

Аппаратные вопросы

Часы с кукушкой

Сб, 25/07/2020 — 02:43 | by Leopoll

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

1. Какой модуль реального времени использовать. DS3231 для большей точности?

2. Как часто МК к модулю реального времени обращаться? По идее он нужен один раз после загрузки МК.

3. Какой МК использовать. Нано, или вообще Attiny13 для большей автономности?

Tags:

Аппаратные вопросы

Простой GPS трекер с отправкой HTTP URL координат через sim800l

Пт, 24/07/2020 — 16:27 | by andycat

На тему в Проектах не тянет, но вдруг кому пригодится. Собран скетч «на коленке» за пару дней, старый заказчик попросил, часть кода с форума (ссылка есть) а часть с древнего проекта. Фото нет, схемы нет, поддержки и развития не будет, но работает — каждую минуту шлет координаты на сервер, на вопросы по возможности отвечу. Координаты так же выводятся на LCD 1602.

Tags:

Аппаратные вопросы

Arduino и датчик от разных источников

Чт, 23/07/2020 — 23:21 | by DaHuJIbI4

Всю голову сломал, помогайте.
Есть Ардуинка и датчик HC-SR04. Это только пример, но поможет мне решить проблему.

Ардуино питается от USB. Но всю периферию и даже этот датчик я хочу повесить на другое питание связанное с ардуино только землей.

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

Нужна какая я то электронная деталь которая выполняла бы функцию кнопки но срабатывала от ttl сигнала от датчика.

Tags:

Аппаратные вопросы

Чт, 23/07/2020 — 09:33 | by kez63

Tags:

Аппаратные вопросы

Пнд, 20/07/2020 — 22:49 | by MadVlad

Всем доброго времени суток!

Tags:

Аппаратные вопросы

ARDUINO завис

Вс, 19/07/2020 — 16:05 | by xenowork

На Arduino Uno стал мигать светодиод RX, по моему взгляду раз в секунду.
Весь код внутри стал также выполняться раз в секунду, даже когда ставлю delay
Как пофиксить? не могу ничего придумать

Tags:

Аппаратные вопросы

Обмен данными с компьютером

У всех плат Arduino есть возможность обмена информацией с компьютером. Обмен происходит по USB-кабелю — никаких дополнительных «плюшек» не требуется. Нам нужен класс , который содержит все необходимые функции. Перед работой с классом необходимо инициализировать последовательный порт, указав при этом скорость передачи данных (по умолчанию она равна 9600). Для отправки текстовых данных в классе существуют небезызвестные методы и . Рассмотрим следующий скетч:

В Arduino IDE есть Монитор порта. Запустить его можно через Инструменты→Монитор порта. После его открытия убедитесь, что Монитор работает на той же скорости, которую вы указали при инициализации последовательного порта в скетче. Это можно сделать в нижней панели Монитора. Если всё правильно настроено, то ежесекундно в Мониторе должна появляться новая строка «». Обмен данными с компьютером можно использовать для отладки вашего устройства.

Информацию на стороне компьютера можно не только получать, но и отправлять. Для этого рассмотрим следующий скетч:

Прошиваем микроконтроллер и возвращаемся в Монитор порта. Вводим в верхнее поле 1 и нажимаем Отправить. После этого на плате должен загореться светодиод. Выключаем светодиод, отправив с Монитора . Если же отправить символ , в ответ мы должны получить строку «».

Таким способом можно пересылать информацию с компьютера на Arduino и обратно. Подобным образом можно реализовать связь между двумя Arduino.

8

STM32 (STM32F103C8T6)

Данная отладочная плата известна также под названием проект «Blue pill». Опенсорсное решение на базе ARM процессора. Плата призвана заменить собой платформу Arduino Nano и имеет следующие характеристики:

  • Архитектура Микроконтроллера ARM Cotrex M3
  • Разрядность 32 Бит
  • Максимальная частота 72 Мгц
  • Объем памяти программ (FLASH): 64 / 128 кБайт
  • Объем памяти данных (RAM): 20 кБайт
  • Выводы: 37
  • UART: 3
  • SPI: 2
  • I2C: 2
  • CAN: 1
  • USB: 1
  • АЦП: 2 АЦП, 10 каналов, время преобразования 1 мкс
  • Напряжение питания микроконтроллера 2 … 3,6 В
  • Напряжение питания платы 5 В
  • Ток потребления до 50 мА

По сравнению с основным конкурентом — Arduino Nano, характеристики более чем впечатляющие. Да и зона применения этого микроконтроллера гораздо шире. Однако без нюансов не обходится. Стоит учитывать, что напряжение питания у микроконтроллера на этой плате составляет в среднем 3,3 вольта, соответственно и логика работы микроконтроллера трехвольтовая. У Arduino Nano напряжение питания 5 Вольт и логика соответствующая.

Однако, не все так печально. Разработчики предусмотрели такой вариант и ряд выходов платы сделали толерантными к 5ти вольтовой логике. Данная информация представлена на изображении ниже:

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

На китайских торговых площадках мне встречались преобразователи на 4 и 8 каналов, стоят копейки, но позволяют избавиться от головной боли :). Вот ссылка на 4х канальный преобразователь:

Устройства на базе STM32 в последние годы все больше и больше набирают популярность. На них строят как примитивные устройства, так и квадрокоптеры. А с выходом marlin 2.0 количество 3Д принтеров на подобной платформе значительно увеличится.

Свои модули STM32  (STM32F103C8T6) я заказывал вот тут:

Ну а теперь поговорим о модулях на микроконтроллерах с WIFI.

Так или иначе рано или поздно любому радиолюбителю или инженеру становится скучно и не интересно разрабатывать автономные устройства, либо обстоятельства вынуждают разрабатывать устройства взаимодействующие друг с другом или через интернет. У Адруино есть шилды, которые позволяют подружить микроконтроллер с сетью, но прогресс не стоит на месте и был разработан новый микроконтроллер уже имеющий у себя на борту интерфейс wifi. Представляю Вашему вниманию микроконтроллер ESP8266.

Основные характеристики ESP8266 следующие:

  • Тактовая частота 80 МГц с возможностью разгона до 160 МГц без гарантии стабильности работы
  • Платформа 32 Бит
  • Поддержка Wifi стандартов b/g/n
  • Количество портов GPIO 14, из них доступно 11
  • Количество аналоговых входов 1
  • АЦП 10 Бит
  • Питания от 2,6 до 3,6 В
  • Потребляемая мощность до 215 мА в режиме передачи, 100 мА в режиме приема, 70 мА в режиме ожидания.
  • Поддерживаются три режима пониженного потребления, все без сохранения соединения с точкой доступа: Modem sleep (15 мА), Light sleep (0.4 мА), Deep sleep (15 мкА)

Имеются следующие интерфейсы:

  • UART
  • SPI
  • I2C

Вот основные особенности данного микроконтроллера. Как видим, есть свои достоинства и недостатки. К достоинствам можно отнести:

  • Производительная платформа
  • Наличие Wifi
  • Наличие поддержки самых востребованных интерфейсов
  • Наличие режимов низкого энергопотребления
  • Совместимость со средой Arduino IDE

К недостаткам можно отнести следующее:

  • Мало количество портов GPIO
  • Только один аналоговый вход
  • Высокое энергопотребление в режиме передачи

Однако, недостатки не такие уж и критичные и для ряда проектов просто несущественные.

За счет своей функциональности микроконтроллер ESP8266 приобрел широкую популярность в среде разработчиков устройств и модулей для умного дома и интернета вещей. О чем свидетельствует популярность модулей Sonoff, обзоры которых я делал ранее. (Обзоры модулей Sonoff). Также данные микроконтроллеры используются во всяких устройствах с Wifi на борту, таких как кондиционеры, роботы-пылесосы и т.д.

Модули на базе ESP8266

Согласитесь, что сам по себе голый чип нам мало интересен, а раз мы любим ардуино, а не сам микроконтроллер atmуga, то нам интересны готовые модули на базе чипа ESP8266. Итак приступим.

На базе данного микроконтроллера разработан ряд модулей с маркировками от ESP-01 до ESP-13. В большинстве модули похожи друг на друга. Я же коснусь в своем рассказе только тех модулей, с которыми имел дело

Итак, самый младший представитель линейки — ESP-01.

Этот модуль знаком тем, кто пытался прикрутить к своему проекту на Arduino Wifi. Забавно, что зачастую проект мог бы и без ардуино обойтись

Итак, в данном модуле пользователю/разработчику доступно только 4 GPIO вывода. Не много, но для метеостанции или какого-нибудь датчика вполне сгодится.

Приобрести такой модуль можно по ссылкам ниже:

И там и там модули хорошего качества.

Ну а мы пойдем дальше. На очереди довольно интересный и необычный модуль ESP-07

Модуль представляет собой миниатюрную плату с возможностью установки на большую плату под пайку.Обратите внимание, шаг контактов 2 мм, не 2,54, а именно 2. В обычную макетку этот модуль впихнуть проблематично

На первый взгляд отличительной особенностью данного модуля является наличие керамической антенны, а также разъема для подключения внешней антенны. На плате доступны все GPIO выводы за исключением выводов, отвечающих на SPI шину.

Модуль считается не первой свежести, но в большинстве проектов не теряет своей актуальности.

Стоит признать, что некоторые считают, модуль ESP-07 несколько устаревшим, так как ему на смену пришли модули ESP-12

Плата модуля рассчитана под пайку, либо установку на гребенку с шагом контактов 2 мм, однако из существенных отличий — наличие выводов шины SPI.

Широкое распространение получили модули ESP-12E и ESP-12F, отличающиеся друг от друга объемом FLASH памяти.

В отличие от модуля ESP-07, Модули на базе ESP-12 не имеют возможности подключения внешней антенны и используют посредственную встроенную антенну, которая представляет собой дорожку на плате.

Распиновка у модулей ESP-12 одинакова.

Подробную информацию по подключению и прошивке данных модулей вы можете получить на ресурсе посвященном микроконтроллерам ESP8266.ru

Учтите, что для прошивки и заливки скетчей в модули ESP-01 … ESP-12 необходим программатор. Подробнее о программаторах вы можете почитать в статье «Программаторы для Arduino, 3Д принтеров и не только»

Все эти модули хороши, однако кроме ESP-01 в готовом виде их применять не получится, т.к. нужна обвязка. Поэтому мы плавно переходим к готовым модулям, родоначальником которых стала плата ESP-12

Arduino IoT Cloud Components

Based on what the user wants to achieve, an IoT application will require a few basic components:

  • Devices to collect data or control something;
  • Software to define the behavior of the hardware (e.g., Arduino Sketch); and
  • Cloud application to store data, or remotely control the equipment.

Overview of The Arduino IoT Cloud Components

Devices & Things in the Arduino IoT Cloud

Devices are physical objects like a hardware board that can be contained inside a product (e.g., MKR WiFi 1010). They’re the hardware that runs the software, reads sensors, controls actuators and communicates with the Arduino IoT Cloud.

Things are the logical representation of a connected object.

Things represent the inherent properties of the object, with as little reference to the actual hardware used to implement them. Each thing is represented by a collection of properties (e.g., temperature, light).

Arduino IoT Cloud Properties

Properties are the qualities defining the characteristics of a system. A property can be something like a ‘read-only’ (RO) setting to indicate the Arduino IoT Cloud can read the data, but cannot change the value of the property. A property might be designed as ‘read and write’ (RW) if the Arduino IoT Cloud can also remotely change the property’s value and send an event notification to the device.

For example, a device might have a sensor which will provide the room temperature. That would be read-only. It might also include a thermostat which will be able to change the room’s temperature.

Property Type Value Permission
ROOM_TEMPERATURE TEMP (F) 64 RO
DESIRED_TEMPERATURE TEMP (F) 69 RW

Arduino IoT Cloud Events

The Arduino IoT Cloud becomes aware of events when it receives application messages that indicate something has happened. For example, it might be informed by a face-recognition application that someone is at a door, or it has received a request from another app that light has to be turned on.

Software for Arduino IoT Cloud

Arduino boards usually require you to program them, to enter some code by way of an Arduino Sketch. The Arduino IoT Cloud will quickly and automatically generate a Sketch when setting up a new thing: this is one of its convenient features.

Creating a new IoT project flow

To understand better how this might work, suppose we want to build an IoT greenhouse (i.e., a small enclosure constructed primarily of glass, used for growing plants). The goal is to control remotely this greenhouse: to be able to turn off and on the lights, start the irrigation system, read the temperature inside the garden, etc. Here are the basic components needed to do this:

We need a device to control the irrigation system. We’ll use an Arduino MKR WiFi 1010, attached to a couple of sensors for measuring the temperature, light, etc. Also attached will be actuators such as an irrigation pump, as well as light and fan switches.
The software (i.e., an Arduino Sketch) that will be uploaded to the MKR board, will automatically control the properties of the actuators. For instance, it will make changes to activate the ventilation fans when there is too much humidity or it’s too hot in the greenhouse.
The properties will be stored in the Cloud and may be remotely changed from there. There are several properties which will define the greenhouse:

  • Pressure
  • Temperature
  • Humidity
  • UVA/B Ray Intensity
  • Pump Status
  • Light Status
  • Fan Status

Once this is all in place, the system will wait for events and react to them. Events can be switching the pump on, switching the fan off, turning on the lights, etc.

Какие бывают платы

По производителю

Существуют как официальные версии плат Arduino, так и платы от сторонних производителей. Оригинальные платы отличаются высоким качеством продукта, но и цена тоже выше. Они производятся только в Италии и США, о чём свидетельствует надпись на самой плате.

На примере самой популярной платы Arduino UNO:

  • Оригинальная плата. Поставляется только в фирменной коробке, имеет логотип компании, на портах платы — маркировка. Цена от производителя 20 €.

  • Плата от стороннего производителя. Качество хуже, однако цена начинается от 150 рублей. Качество платы может отразиться на её работоспособности в дальнейшем. Хоть это и редкость, но плата и вовсе может не работать «из коробки» — всё зависит от добросовестности изготовителя и продавца. Для работы с подобными платами требуется драйвер CH340, который находится в свободном доступе. Во всём остальном процесс разработки идентичен процессу разработки на оригинальных платах.

По назначению

У платы UNO достаточно портов для реализации большинства проектов. Однако иногда возможностей UNO может быть недостаточно, а иногда — избыточно. По этой причине как оригинальный, так и сторонние производители выпускают большое количество плат, различающихся характеристиками микроконтроллера, количеством портов и функциональным назначением.

Различные платы Arduino. Источник

Самые популярные из них:

  • Arduino Nano — различие с UNO только в конструктивном исполнении. Nano меньше.
  • Arduino Mega — плата на базе мощного микроконтроллера. Имеет большое количество портов.
  • Arduino Micro — имеет встроенную поддержку USB-соединения, а потому может использоваться как HID-устройство (клавиатура, мышь, MIDI-устройство).
  • Arduino Ethernet — имеет возможность подключения к сети через Ethernet-провод. На плате также расположен слот для microSD карточки.
  • Arduino Mini — по характеристикам немного уступает UNO. Преимуществом платы является её миниатюрное исполнение.
  • Arduino Due — плата на базе 32-разрядного ARM микроконтроллера. Имеет преимущество в производительности по сравнению с остальными.
  • Arduino LilyPad — форм-фактор позволяет использовать плату в предметах одежды и текстиля.
  • Arduino Yún — «нужно было ставить линукс…». Имеет поддержку дистрибутива Linux, встроенную поддержку Ethernet и Wi-Fi, слот для microSD. Как и Micro, имеет встроенную поддержку USB-соединения.

4

Рюкзак с ЭКГ своими руками

Перевод

У кампусов современных колледжей есть одна общая черта: напряжённые студенты!
Сегодняшние студенты часто разрываются между несколькими направлениями сразу, и всё из-за давления как с социальной, так и с научной стороны. Из-за этого многие студенты чувствуют, что не справляются, и в итоге демонстрируют плохие результаты как в науке и в спорте, так и в общении.
В этом семестре наш класс изучал различные биометрические инструменты, способные измерять всяческие биологические сигналы, испускаемые телом пациента, как-то: сокращение мускулов, мозговые волны и сердечные волны. Мы хотели разработать медицинский инструмент, который можно было бы использовать для отслеживания уровня стресса студентов на основе пульса. Наш «ЭКГ-рюкзак» оборудован датчиком ЭКГ, отслеживающим пульс пациента, и даёт мгновенную обратную связь через светодиоды и приложение для телефона, с которым он связывается через Bluetooth. ЭКГ-рюкзак предупредит пользователя при помощи светодиодов, когда его уровень стресса значительно превысит нормальный, исходя из пульса в покое. Данные с мобильного приложения можно экспортировать в Excel и использовать для дальнейшего анализа.

Преимущества работы с Arduino

Как уже было сказано ранее, Ардуино обладает открытой архитектурой, что позволяет сторонним разработчикам полностью копировать систему. Несмотря на высокую конкуренцию, Ардуино — самое популярное аппаратно-программное средство. Это достигается благодаря простоте с многофункциональностью. Рассмотрим преимущество системы над сторонними аналогами:

  • плата обладает встроенным программатором, что позволяет использовать систему без дополнительного подключения дешифратора и компилятора;
  • программная часть построена на базе C/C++, что делает её простой в использовании и изучении;
  • наличие библиотеки готовых проектов и чертежей CAD, доступных для свободного использования;
  • для сбора устройства не требуется пайка, компоненты соединяются при помощи специальной макетной доски, перемычек и проводов;
  • возможность автономной работы расширяет сферу применения устройства;
  • наличие версии для работы с популярной мобильной операционной системой Android;
  • большое количество дополнительных модулей как от разработчика, так и от сторонних производителей.

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

Arduino Pro Mini: прошивка, программирование

Микропроцессор Arduino Pro Mini разработан со встроенным загрузчиком, т.е. запись скетчей в плату производится без использования программаторов. Это значительно облегчает работу с платой, особенно новичкам. Прошивка Arduino Pro Mini ATmega328 производится в среде Arduino IDE 1.8, которую можно скачать на сайте разработчика www.arduino.cc. Дополнительные драйвера для Pro Mini Arduino не требуются.

Подключение Pro Mini для прошивки через USB

Pro Mini поддерживает три типа памяти:

Flash–память объемом 16 кБ, используется для хранения прошивки. Когда в контроллер записывается программа, она сохраняется именно во Flash–память. Чтобы очистить Flash–память следует загрузить пустой скетч (программу).

SRAM — это оперативная память объемом 1 кБ на Arduino Pro Mini. Здесь хранятся переменные, создаваемые в скетче. SRAM — это энергозависимая память, при отключении внешнего источника питания — данные удалятся.

EEPROM — это энергонезависимая память в 512 байт. Сюда можно сохранять данные, которые при отключении от источника питания не удалятся. Минус данной памяти в ограничении циклов перезаписи — не более 100 тысяч раз.

Что такое Arduino IDE

Arduino IDE — бесплатная среда разработки для Ардуино. Для работы платы и вашего будущего проекта необходимо написать и загрузить на Arduino скетч. IDE помогает с легкостью всё это реализовать.

Скетч (sketch) или эскиз — это программа, написанная специально для Arduino.

Для выполнения данного пункта вам понадобятся:

  • Любая плата Ардуино;
  • USB-кабель;
  • компьютер.

Скачать Arduino IDE можно с официального сайта производителя плат Arduino. Вместе с программой автоматически установятся драйвера для определения платы при подключении к USB-порту. Среда разработки оснащена стандартным менеджером добавления библиотек в виде исходного кода на языке C++. Данная возможность расширяет применение компонентов, добавляя новый функционал.

На плате Ардуино должен загореться зелёный светодиод при подключении к USB. Запустите приложение и приступайте к созданию собственного скетча.

Проверка работоспособности и совместимости Arduino с ПО можно проверить при помощи встроенного скетча «Моргание» (англ. — blink). Запуск данной программы должен вызвать мигание светодиода на плате.

Выберите в меню:

Tool -> Board -> Плата

Выберите используемую плату. Далее загружаем скетч в Arduino при помощи кнопки Upload. Успешное завершение данной операции подтверждается миганием светодиода оранжевого цвета на плате.

Для более подробного изучения среды разработки предлагаем вам наш большой материал про Arduino IDE.

STM32 Часть 3: Первый Проект

Эта фраза должна служить мотивацией для каждого программиста. Ведь именно вы решаете как машина использует свои ресурсы. Но как и с начала времен, человек вверяет свое право решать третьим лицам взамен легкого пути. Перед тем как спрашивать меня о пользе моих статей, когда есть «Куб», задайте вопрос себе, почему «куб» решает за меня.STM32 Часть 1: Основы STM32 Чаcть 2: Инициализация
Итак, продолжим наше приключение. Мы уже написали скрипт инициализации, разобрались с линкером и компилятором. Настало время мигнуть светодиодом. В этой статье мы бегло пробежимся по основам блока RCC и GPIO, а также добавим парочку хедеров, которые мы будем использовать в следующих проектах. Поехали.

Дополнительные порты ввода/вывода

В ATmega328PB добавлен дополнительный 4-битный порт ввода/вывода PORTE (Таблица 1). Две линии ввода/вывода PE2 (вывод 19) и PE3 (вывод 22) мультиплексированы с входами АЦП ADC6 и ADC7. Выводы 3 (GND в ATmega328) и 6 (VCC в ATmega328) заменены на линии ввода/вывода PE0 и PE1, соответственно, при этом PE0 выполняет альтернативную функцию выходного канала аналогового компаратора ACO.

Таблица 1. Функциональные отличия портов
ввода/вывода ATmega328PB
Выводы корпуса
TQFP/MLF
ATmega328 ATmega328PB
3 GND PE0/ACO
6 VCC PE1
19 ADC6 ADC6/PE2
22 ADC7 ADC7/PE3

ATmega328PB стал первым 8-разрядным МК семейства AVR с интегрированным контроллером сенсорного интерфейса QTouch (Peripheral Touch Controller, PTC), обрабатывающим сигналы емкостных сенсоров для определения касания. Как правило, внешние емкостные сенсоры формируются на печатной плате, а их электроды подключаются непосредственно к аналоговому интерфейсу PTC посредством мультиплексирования линий ввода/вывода в микроконтроллере. PTC поддерживает режимы работы как с определением собственной емкости сенсоров, так взаимной.

Первый режим обеспечивает возможность подключения к МК 24 сенсорных кнопок, второй – 144 кнопок. Отлично зарекомендовавшая себя технология QTouch и гибкость настроек контроллера позволяют использовать одновременно оба типа сенсоров, при этом для одного электрода требуется один вывод микроконтроллера. Аппаратная фильтрация, автоматическая калибровка и рекалибровка сенсоров, встроенные схемы компенсации паразитной емкости и регулировка чувствительности повышают надежность сенсорного интерфейса и исключают необходимость использования каких-либо внешних компонентов (Рисунок 2).

Рисунок 2. Блок-схема контроллера QTouch в режиме определения
собственной емкости сенсоров.

Разработка и отладка сенсорного интерфейса для приложений на МК ATmega328PB поддерживается программной средой QTouch Composer с библиотекой QTouch Library, в которой можно создавать различные комбинации сенсорных кнопок, слайдеров, колес и датчиков приближения.

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

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

Adblock
detector