Подготовка и бесконечность
В любой программе для Arduino есть две принципиальные части: подготовительная часть и основной цикл.
В подготовительной части вы говорите железу, чего от вас ожидать: какие порты настроить на вход, какие на выход, что у вас как называется. Например, если у вас датчик подключён ко входу 10, а лампочка к выходу 3, то вы можете обозвать эти входы и выходы как вам удобно, а дальше в коде обращаться не к десятому входу и третьему выходу, а по-человечески: к датчику или лампочке. Вся часть с подготовкой выполняется один раз при старте контроллера. Контроллер всё запоминает и переходит в основной цикл.
Основной цикл — это то, что происходит в функции loop(). Ардуино берёт оттуда команды и выполняет их подряд. Как только команды закончились, он возвращается в начало цикла и повторяет всё. И так до бесконечности.
В основном цикле мы описываем все полезные вещи, которые должен делать контроллер: считывать данные, мигать лампами, включать-выключать моторы, кормить кота и т. д.
ШИМ Arduino
Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением за счет скважности сигнала. То есть используя ШИМ мы можем плавно управлять нагрузкой
Например можно плавно изменять яркость светодиода, но это изменение яркости получается не за счет уменьшения напряжения, а за счет увеличения интервалов низкого сигнала. Принцип действия ШИМ показан на этой схеме:
ШИМ ардуино
Когда мы подаем ШИМ на светодиод, то он начинает быстро зажигаться и гаснуть. Человеческий глаз не способен увидеть это, так как частота слишком высока. Но при съемке на видео вы скорее всего увидите моменты когда светодиод не горит. Это случится при условии что частота кадров камеры не будет кратна частоте ШИМ.
В Arduino есть встроенный широтно-импульсный модулятор. Использовать ШИМ можно только на тех пинах, которые поддерживаются микроконтроллером. Например Arduino Uno и Nano имеют по 6 ШИМ выводов: это пины D3, D5, D6, D9, D10 и D11. В других платах пины могут отличаться. Вы можете найти описание интересующей вас платы в этом разделе.
Для использования ШИМ в Arduino есть функция analogWrite(). Она принимает в качестве аргументов номер пина и значение ШИМ от 0 до 255. 0 — это 0% заполнения высоким сигналом, а 255 это 100%. Давайте для примера напишем простой скетч. Сделаем так, что бы светодиод плавно загорался, ждал одну секунду и так же плавно угасал и так до бесконечности. Вот пример использования этой функции:
// Светодиод подключен к 11 пину
int ledPin = 11;
void setup() { pinMode(ledPin, OUTPUT); }
void loop() {
for (int i = 0; i < 255; i++) {
analogWrite(ledPin, i);
delay(5);
}
delay(1000);
for (int i = 255; i > 0; i—) {
analogWrite(ledPin, i);
delay(5);
} }
Что такое Ардуино?
С одной стороны, Arduino — это компания, специализирующаяся на разработке бесплатного аппаратного и программного обеспечения, которое носит ее имя. Но когда мы говорим о нем, мы обычно имеем в виду платы который мы можем купить, состоящий из микроконтроллера (обычно 8-битного Atmel AVR), памяти и системы хранения, с помощью которой можно выполнять любой проект. Платы обычно также имеют ряд контактов или разъемов, с помощью которых мы можем подключать их к другим более сложным электронным схемам для управления ими.
Наиболее распространенные платы, которые мы можем найти на рынке и которые каждый может купить, чтобы начать программировать на них:
- Галилео
- ардуино один
- Леонард
- Должный
- И
- три
- АрдуиноНоль
- АрдуиноМикро
- исследует
- Мега АДК
- Ethernet
- Мега 2560
- Роботик
- ардуиномини
- АрдуиноНано
- LilyPad Arduino Simple/SimpleSnap
- LilyPad Ардуино / Ардуино USB
- Ардуино Про/Про Мини
- Доверять
- 1000 МКР
- Ардуино МИКРО
- Arduino 101
- драгоценный камень
Кроме того, существуют различные аксессуары (экраны), которые мы можем подключить к этим платам, чтобы предоставить им больше функций и соединений. Наиболее распространенными являются:
- GSM щит
- Ethernet-экран
- Wi-Fi щит
- Беспроводной SD-экран
- Хост-экран USB
- Моторный щит
- Беспроводной прототип экрана
- Протощит
Мы также можем найти несколько комплектов, которые поставляются с платой микроконтроллера и различными дополнительными аксессуарами, купить аксессуары, такие как ЖК-экран или USB-адаптеры, и даже 3D-принтер, полностью управляемый этим устройством.
О прошивках Arduino
Не стоит путать прошивку со скетчем!
Скетч – это исходный код прошивки.
Прошивка ардуино – это скомпилированный (бинарный) файл, загружаемый в плату Arduino (в микроконтроллер). Прошивка не является исходным кодом программы (скетча). Файл прошивки обычно имеет расширение HEX.
Преимущество прошивки – это простота ее использования:
- Не нужны никакие библиотеки,
- Легко загрузить и выгрузить,
- Можно перенести с одного устройства на другое.
Пожалуй, единственным недостатком прошивки является невозможность получения из нее удобочитаемого исходного кода, чтобы понять как она работает и внести в нее изменение.
Вместе с прошивкой часто может поставляться и копия памяти ПЗУ (EEPROM), в которой хранятся данные, необходимые для работы устройства.
Описание элементов платы Arduino Nano V3
- USB Jack – разъем USB Mini-B для подключения устройств USB;
- Analog Reference Pin – для определения опорного напряжения АЦП;
- Ground – земля;
- Digital Pins (2-13) – цифровые выводы;
- TXD – пин передачи данных по UART;
- RXD – пин приема данных по UART;
- Reset Button – кнопка перезагрузки микроконтроллера;
- ISCP (In-Circuit Serial Programmer) – контакты для перепрограммирования платы;
- Microcontroller ATmega328P – микроконтроллер — главный элемент на плате;
- Analog Input Pins (A0-A7) – аналоговые входы;
- Vin – вход используется для подачи питания от внешнего источника;
- Ground Pins – земля;
- 5 Volt Power Pin – питание 5 В;
- 3 Volt Power Pin – питание 3.3 В;
- RST – вход для перезагрузки;
- SMD Crystal – кварцевый резонатор (жарг. «кварц») — прибор, в котором пьезоэлектрический эффект и явление механического резонанса используются для построения высокодобротного резонансного элемента электронной схемы;
- TX LED (White) – светодиод — индикатор отправления данных по UART;
- RX LED (Red) – светодиод — индикатор приёма данных по UART;
- Power LED (Blue) – светодиод — индикатор питания;
- Pin 13 LED (Wellow) – подключенный светодиод к 13-му пину.
Начало работы с Ардуино
Говоря бытовым языком, Ардуино – это электронная плата, в которую можно воткнуть множество разных устройств и заставить их работать вместе с помощью программы, написанной на языке Ардуино в специальной среде программирования.
Чаще всего плата выглядит вот так:
На рисунке показана одна из плат Ардуино – Arduino Uno. Мы изучим ее подробнее на следующих уроках.
В плату можно втыкать провода и подключать множество разных элементов. Чаще всего, для соединения используется макетная плата для монтажа без пайки. Можно добавлять светодиоды, датчики, кнопки, двигатели, модули связи, реле и создавать сотни вариантов интересных проектов умных устройств. Плата Ардуино – это умная розетка, которая будет включать и выключать все присоединенное в зависимости от того, как ее запрограммировали.
Вся работа над проектом разбивается на следующие этапы:
- Придумываем идею и проектируем.
- Собираем электрическую схему. Тут нам пригодится макетная плата, упрощающая монтаж элементов. Безусловно, понадобятся навыки работы с электронными приборами и умение пользоваться мультиметром.
- Подключаем плату Arduino к компьютеру через USB.
- Пишем программу и записываем ее в плату буквально нажатием одной кнопки на экране в специальной среде программирования Arduino.
- Отсоединяем от компьютера. Теперь устройство будет работать автономно – при включении питания оно будет управляться той программой, которую мы в него записали.
Программа и среда программирования выглядят вот так:
На экране показана программа (на сленге ардуинщиков текст программы называется “скетч”), которая будет мигать лампочкой, подсоединенной к 13 входу на плате Ардуино UNO. Как видим, программа вполне проста и состоит из понятных для знающих английский язык инструкций. В языке программирования Arduino используется свой диалект языка C++, но все возможности C++ поддерживаются.
Есть и другой вариант написания кода – визуальный редактор. Тут не нужно ничего писать – можно просто перемещать блоки и складывать из них нужный алгоритм. Программа загрузится в подключенную плату одним нажатием кнопки мыши!
Визуальную среду рекомендуется использовать школьникам младших классов, более старшим инженерам лучше сразу изучать “настоящий” Ардуино – это довольно просто, к тому же знания C++ никому не повредят.
В целом все выглядит довольно понятно, не так ли? Осталось разобраться в деталях.
Разработка проекта
На современном рынке представлено множество устройств Arduino, имеющих различную комплектацию. Но универсального решения «на все случаи жизни» не существует. В зависимости от поставленной задачи каждый комплект подбирается в индивидуальном порядке. Чтобы избежать ошибок, требуется разработка проекта.
Какие проекты можно создавать на Arduino?
Ардуино позволяет создавать множество уникальных проектов. Вот лишь некоторые из них:
- Сборка кубика Рубика (система справляется за 0,887 с);
- Контроль влажности в подвальном помещении;
- Создание уникальных картин;
- Отправка сообщений;
- Балансирующий робот на двух колесах;
- Анализатор спектра звука;
- Лампа оригами с емкостным сенсором;
- Рука-робот, управляемая с помощью Ардуино;
- Написание букв в воздухе;
- Управление фотовспышкой и многое другое.
Составление проекта для умного дома
Рассмотрим ситуацию, когда необходимо сделать автоматику для дома с одной комнатой.
Такое здание состоит из пяти основных зон — прихожей, крыльца, кухни, санузла, а также комнаты для проживания.
При составлении проекта стоит учесть следующее:
- КРЫЛЬЦО. Включение света производится в двух случая — приближение хозяина к дому в темное время суток и открытие дверей (когда человек выходит из здания).
- САНУЗЕЛ. В бойлере предусмотрен выключатель питания, который при достижении определенной температуры выключается. Управление бойлером производится в зависимости от наличия соответствующей автоматики. При входе в помещение должна срабатывать вытяжка, и загорается свет.
- ПРИХОЖАЯ. Здесь требуется включение света при наступлении темноты (автоматическое), а также система обнаружения движения. Ночью включается лампочка небольшой мощности, что исключает дискомфорт для других жильцов дома.
- КОМНАТА. Включение света производится вручную, но при необходимости и наличии датчика движения эта манипуляция может происходить автоматически.
- КУХНЯ. Включение и отключение света на кухне осуществляется в ручном режиме. Допускается автоматическое отключение в случае продолжительного отсутствия перемещений по комнате. Если человек начинает готовить пищу, активируется вытяжка.
Отопительные устройства выполняют задачу поддержания необходимой температуры в помещении. Если в доме отсутствуют люди, нижний предел температуры падает до определенного уровня.
После появления людей в здании этот параметр поднимается до прежнего значения. Рекуперация воздуха осуществляется в случае, когда система обнаружила присутствие владельца. Продолжительность процесса — не более 10 минут в час.
Стоит обратить внимание, что если в доме планируется установка умных розеток, то для управления ими лучше использовать приложения на мобильных устройствах, WIFI или через SMS сообщения. Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/. Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/
Визуальное программирование для Arduino можно осуществлять с помощью специального приложения FLProg, которое можно скачать с официального сайта http://flprog.ru/.
Схема подключения SD card к Arduino
Предварительно отформатировав карту памяти, приступайте к её подключению.
Отформатировать карту можно этой программой: SD Card Formatter
Платы расширений облегчат задачу, ведь они позволят урегулировать напряжение до необходимых нам 3.3 В, а контроллеры уровня преобразуют питание логики в подходящие для флешки.
Плата расширений потребуется под микроконтроллеры до 5 В, учитывайте это при её выборе. Главное достоинство Ардуино – простота, и подключение вспомогательных модулей не стало исключением. Лучшим выбором станет именно структура запуска через hardware SPI пины, дабы не усложнять новичкам жизнь. Нам потребуются 13, 12 и 11 цифровые пины, а также четвёртые, чтобы наладить «chip\slave select» цепь. Под это, зачастую, берётся 10 пин, но если вы знаете, что делаете, можете выбрать и более подходящий.
Обратите внимание на то, что в зависимости от форм-фактора и типа платы Ардуино, точки подключения могут варьироваться. Например, для меги необходимо соединить цепь с 50, 51, 52 и 53 слотом
Модуль SD card | Arduino Uno | Arduino Mega |
VCC | 3.3V или 5V (проверьте описание платы) | 3.3V или 5V (проверьте описание платы) |
CS | 4 | 53 |
MOSI | 11 | 51 |
CLK | 13 | 52 |
MISO | 12 | 50 |
GND | GND | GND |
В последующие разы вы можете поэкспериментировать с последними пинами на обеих картах, но поначалу лучше выбрать именно те, что указаны выше. Так вы сможете отработать код, избавившись от нежелательных поломок и осечек, что значительно упростит задачу в будущем. Оставшиеся 5 В и GND подсоединяйте к соответствующим портам, здесь никаких особых инструкций нет.
Еще один вариант наглядной схемы:
В конце процедуры необходимо замкнуть CD в заземление, так система не сможет инициализировать карту памяти. Но, в случае необходимости, всегда можно применить резисторы в 10 кОм и вспомогательные порты, однако мы не будем останавливаться на этом пине, так как сейчас он нам не нужен.
Характеристики
В основе платы лежит процессор ATmega 328. Кроме него на плате находится модуль USB для связи с компьютером и прошивки. Этот модуль называется «USB-TTL преобразователь». На фирменных платах Arduino Uno для этой целей используется дополнительный микроконтроллер ATmega16U2.
Характеристики | Arduino Uno R3 |
---|---|
Микроконтроллер | ATmega328 |
Рабочее напряжение | 5В |
Напряжение питания (рекомендуемое) | 7-12В |
Напряжение питания (предельное) | 6-20В |
Цифровые входы/выходы | 14 (из них 6 могут использоваться в качестве ШИМ-выходов) |
Аналоговые входы | 6 |
Максимальный ток одного вывода | 40 мА |
Максимальный выходной ток вывода 3.3V | 50 мА |
Flash-память | 32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком |
SRAM | 2 КБ (ATmega328) |
EEPROM | 1 КБ (ATmega328) |
Тактовая частота | 16 МГц |
Особенность этого чипа заключается в аппаратной поддержке USB, что позволяет организовывать связь без дополнительных преобразователей. В то время как ATmega328 не поддерживает такой функции, поэтому 16u2 выступает в роли преобразователя данных из USB в последовательный порт для МК AVR. В него залита программа для выполнения этой задачи.
Однако так происходит не всегда: в более мелких платах, таких как Arduino Nano, используют преобразователи уровней на базе различных микросхем, например FT232, CP21XX, Ch340g и подобных. Это решение является более дешевым и не требует прошивки дополнительного связывающего контроллера, как описано выше.
Внимание! Не всё так однозначно с DCcduino UNO r3 на ch340g. В ней как раз и использован более дешевый, чем в оригинале, вариант преобразователя USB-TTL.
На плате есть выход 3.3 В, он нужен для подключения периферии и некоторых датчиков, его пропускная способность по току равна 50 мА
На плате есть выход 3.3 В, он нужен для подключения периферии и некоторых датчиков, его пропускная способность по току равна 50 мА.
ATmega328 работает на частоте 16 МГц. Она фиксирована кварцевым резонатором, который вы можете, по желанию, заменить, тем самым ускорив работу Uno r3.
Важно! После замены кварцевого резонатора функции, связанные со временем, такие как Delay, не будут соответствовать введенным значениям. Это функция задержки времени, по умолчанию её аргументом является требуемое время задержки в мс. Функция прописана в библиотеках Ардуино, с учетом стандартной тактовой частоты в 16 МГц
Поэтому после замены кварца заданное время не будет соответствовать написанному. Для этого нужно либо подбирать опытным путем и устанавливать зависимости, либо править файлы библиотек.
Функция прописана в библиотеках Ардуино, с учетом стандартной тактовой частоты в 16 МГц. Поэтому после замены кварца заданное время не будет соответствовать написанному. Для этого нужно либо подбирать опытным путем и устанавливать зависимости, либо править файлы библиотек.
Как начать работу с Arduino
К настоящему времени вы должны понять, почему изучение Arduino – хорошая идея. От простого языка программирования и простой интеграции с другими компонентами до доступного хобби, более универсального, чем использование Raspberry Pi, – преимущества обучения использованию Arduino очевидны.
Если вы готовы, сейчас самое время прочитать наше руководство для начинающих по Arduino.
Начало работы с Arduino: руководство для начинающих
Arduino – это платформа для создания прототипов электроники с открытым исходным кодом, основанная на гибком, простом в использовании аппаратном и программном обеспечении. Он предназначен для художников, дизайнеров, любителей и всех, кто интересуется созданием интерактивных объектов или сред.
Как программировать на Ардуино?
Эти платы основаны на микроконтроллере типа ATMEL, то есть контроллере, в котором мы можем записывать инструкции, чтобы он выполнял их без необходимости вводить команды вручную снова и снова. Для написания этих инструкций необходимо использовать программное обеспечение под названием Arduino IDE , официальная интегрированная среда разработки, в которой есть все необходимое, чтобы иметь возможность формировать программы, которые мы создаем для этого устройства.
Несмотря на то, что Arduino использует собственный язык программирования , это на основе С++ . Поэтому он разделяет основные преимущества этого языка программирования. Кроме того, в более новых версиях IDE можно даже отправлять инструкции непосредственно вам на C++ без необходимости переводить их на ваш язык для программирования этой платы.
Помимо использования C++, среда разработки Arduino IDE также поддерживает другие альтернативные языки программирования, такие как C (без расширений C++), Электропроводка (платформа электронного прототипирования, состоящая из языка программирования, интегрированной среды разработки (IDE) и микроконтроллера), а также в Обработка (язык программирования на основе Java, но ориентированный на электронные платы).
Что лучше всех? В конце концов, это будет зависеть от пользователя, о котором идет речь. Если мы уже освоили один из предыдущих языков, самым удобным и быстрым будет использование его для отправки инструкций на нашу доску. Если мы не осваиваем ни один из них, а хотим начать с нуля, лучше всего изучить сам язык Arduino IDE.
Jak używać lub wchodzić w TikTok…
Please enable JavaScript
Jak używać lub wchodzić w TikTok bez rejestracji konta z mojego komputera, Androida lub iPhone’a
IDE 2.0 (Ардуино Про)
В 2019 году Arduino выпустила новую IDE для программирования под названием «Arduino Pro IDE», которая в 2021 году была переименована в « ИДЕ 2.0 “. Эта новая среда разработки продолжает использовать классический интерфейс командной строки Arduino, но включает в себя большое количество всевозможных улучшений и новшеств, облегчающих профессиональную разработку всех видов проектов. Эта новая IDE основана на Eclipse Theia и имеет такие функции, как:
- Он намного полнее и современнее.
- Три режима работы: двойной режим, классический режим (идентичный классической среде Arduino IDE) и профессиональный режим (представление файловой системы).
- Новый управляющий советом.
- Новый менеджер библиотек.
- Для плат ARM автозаполнение с Basic.
- Интеграция с GIT.
- Темный режим.
Эту IDE также можно загрузить с веб-сайта загрузки Arduino. И, конечно, это абсолютно бесплатно и с открытым исходным кодом.
Модули и решения «умного дома» на Ардуино
Основным элементом умного дома является центральная плата микроконтроллера. Две и более соединенных между собой плат, отвечают за взаимодействие всех элементов системы.
Существует три основных микроконтроллера в системе:
Arduino UNO – средних размеров плата с собственным процессором и памятью. Основа — микроконтроллер ATmega328. В наличии 14 цифровых входов/выходов (6 из них можно использовать как ШИМ выводы), 6 аналоговых входов, кварцевый резонатор 16 МГц, USB-порт (на некоторых платах USB-B), разъем для внутрисхемного программирования, кнопка RESET. Флэш-память – 32 Кб, оперативная память (SRAM) – 2 Кб, энергонезависимая память (EEPROM) – 1 Кб.
Arduino UNO
Arduino NANO – плата минимальных габаритов с микроконтроллером ATmega328. Отличие от UNO – компактность, за счет используемого типа контактных площадок – так называемого «гребня из ножек».
Arduino Nano
Arduino MEGA – больших размеров плата с микроконтроллером ATMega 2560. Тактовая частота 16 МГц (как и в UNO), цифровых пинов 54 вместо 14, а аналоговых 16, вместо 6. Флэш-память – 256 Кб, SRAM – 8 Кб, EEPROM – 4.
Arduino Mega
Arduino UNO – самая распространённая плата, так как с ней проще работать в плане монтажных работ. Плата NANO меньше в размерах и компактнее – это позволяет разместить ее в любом уголке умного дома. MEGA используется для сложных задач.
Сейчас на рынке представлено 3 поколение плат (R3) Ардуино. Обычно, при покупке платы, в комплект входит обучающий набор для собирания StarterKit, содержащий:
- Шаговый двигатель.
- Манипулятор управления.
- Электросхематическое реле SRD-05VDC-SL-C 5 В.
- Беспаечная плата для макета MB-102.
- Модуль с картой доступа и и двумя метками.
- Звуковой датчик LM393.
- Датчик с замером уровня жидкости.
- Два простейших устройства отображения цифровой информации.
- LCD-дисплей для вывода множества символов.
- LED-матрица ТС15-11GWA.
- Трехцветный RGB-модуль.
- Температурный датчик и измеритель влажности DHT11.
- Модуль риал тайм DS1302.
- Сервопривод SG-90.
- ИК-Пульт ДУ.
- Матрица клавиатуры на 16 кнопок.
- Микросхема 74HC595N сдвиговый регистр для получения дополнительных выходов.
- Основные небольшие компоненты электроники для составления схемы.
Можно найти и более укомплектованный набор для создания своими руками умного дома на Ардуино с нуля. А для реализации иного проекта, кроме элементов обучающего комплекта, понадобятся дополнительные вещи и модули.
Сенсоры и датчики
Чтобы контролировать температуру и влажность в доме и в подвальном помещении, потребуется датчик измерения температуры и влажности. В конструкторе умного дома это плата, соединяющая в себе датчики температуры, влажности и LCD дисплей для вывода данных.
Плата дополняется совместимыми датчиками движения или иными PIR-сенсорами, которые определяют присутствие или отсутствие человека в зоне действия, и привязывается через реле к освещению.
Датчик Arduino
Газовый датчик позволит быстро отреагировать на задымленность, углекислоту или утечку газа, и позволит при подключении к схеме, автоматически включить вытяжку.
Газовый датчик Arduino
Реле
Компонент схемы «Реле» соединяет друг с другом электрические цепи с разными параметрами. Реле включает и выключает внешние устройства с помощью размыкания и замыкания электрической цепи, в которой они находятся. С помощью данного модуля, управление освещением происходит также, если бы человек стоял и самостоятельно переключал тумблер.
Реле Arduino
Светодиоды могут указывать состояние, в котором реле находится в данным момент времени. Например, красный – освещение выключено, зеленый – освещение есть. Схема подключение к лампе выглядит так.
Для более крупного проекта лучше применять шину реле, например, восьмиканальный модуль реле 5V.
Контроллер
В качестве контроллера выступает плата Arduino UNO. Для монтажа необходимо знать:
описание элементов;
распиновку платы;
принципиальную схему работы платы;
распиновку микроконтролеера ATMega 328.
Программная настройка
Программирование подключенных элементов Ардуино происходит в редакторе IDE. Скачать его можно с официального сайта. Для программирования можно использовать готовые библиотеки.
Или воспользоваться готовым скетч решением Ardublock – графический язык программирования, встраиваемый в IDE. По сути, вам нужно только скачать и установить ПО, а затем использовать блоки для создания схемы.
Как преодолеть аппаратные ограничения
Большинство распространённых плат имеют аналогичные характеристики, среди них:
- Uno;
- Nano;
- Pro mini;
- и подобные.
Но с развитием ваших навыков разработки в этой среде появляется проблема нехватки мощности и быстродействия этой платформы. Первым шагом для преодоления ограничений является использование языка C AVR.
С его помощью вы ускорите на порядок скорость обращения к портам, частоту ШИМ и размер кода. Если вам и этого недостаточно, то вы можете воспользоваться мощными моделями с аналогичным подходом к разработке. Для этого подойдёт плата Arduino Mega2560. Еще более мощная – модель Due. В противном случае вам стоит ознакомиться с разновидностями одноплатных компьютеров и STM микроконтроллеров.
Ардуино Uno R3 – отличная плата для большинства проектов, которая служит для изучения устройств цифровой электроники.
Научитесь программировать на Ардуино
В программировании микроконтроллеров Arduino является одной из самых доступных и универсальных платформ для начала. Кроме того, в сети полно большого количества качественных курсов, с помощью которых, даже не обладая большими знаниями в области программирования, мы сможем очень быстро и легко начать создавать собственные проекты.
Первый из курсов, который мы рекомендуем начать, это ” Курс ардуино с нуля «, который мы можем найти на YouTube. На протяжении 74 глав, каждая из которых длится от 15 до 20 минут, мы можем учиться от основ до самых продвинутых.
Еще один курс для тех, кто спешит, который мы должны рассмотреть, это ” 10 первых шагов для программирования Arduino с нуля “, быстрый и интенсивный курс, с помощью которого всего за 1 час мы сможем узнать, что такое Arduino и как она работает. основные функции, переменные, циклы и даже библиотеки использования.
Наконец, если мы не боимся английского языка, мы можем использовать еще один курс, чтобы научиться программировать это устройство. Arduino 101 — Изучите Arduino для начинающих . Подобно предыдущим, мы начнем с основ, пока полностью не поймем, как работает это устройство, и не научимся создавать с его помощью сложные программы.
Конечно, у нас также есть масса информации и ресурсов. на самом сайте Arduino . Если вы один из тех, кто любит исследовать и читать документацию больше, чем смотреть видео на YouTube, это лучший источник, который вы найдете, чтобы научиться программировать на нем.
Основы Arduino
Ардуино – платформа, позволяющая множеству инженеров со всего мира создавать свои проекты с минимальными вложениями.
В первую очередь – это специальный микроконтроллер с одноимённой системой управления и библиотеками, построенными на языке С++. Соответственно, если вы планируете создавать что-то уникальное, вам следует изучить все нюансы, которые имеет программирование Arduino.
Давайте же составим краткое описание программирования Arduino и уточним моменты, на которые стоит обратить внимание, если вы впервые занимаетесь подобным. Прежде чем приступать к решению конкретной задачи на Ардуино, лучше всего иметь базис в сфере программирования
Поэтому давайте рассмотрим, что вообще обозначает этот термин. Абсолютно любой проект построен на поэтапной блок-модели, в которой описывается, что необходимо сделать вашему микроконтроллеру и как это сделать
Прежде чем приступать к решению конкретной задачи на Ардуино, лучше всего иметь базис в сфере программирования. Поэтому давайте рассмотрим, что вообще обозначает этот термин. Абсолютно любой проект построен на поэтапной блок-модели, в которой описывается, что необходимо сделать вашему микроконтроллеру и как это сделать.
Для упрощения работы пользователей в Ардуино созданы готовые библиотеки функций, вам достаточно лишь вводить команды из них, чтобы добиться какой-то цели. Естественно, таким образом вы многого не добьётесь, но для создания собственных библиотек потребуется знание С++языка на котором и построена прошивка чипа.
Ключевая особенность системы в том, что характеристики Arduino могут быть улучшены с помощью докупаемых компонентов, и вы всегда можете их подстроить под конкретный проект. Соответственно, единственным вашим ограничением является знание языка и его возможностей, а также собственная фантазия.
Все функции строятся из простейших операнд, которые характерны для С++. Этими операндами являются переменные различных типов и способы их применения. Поэтому любая функция, используемая в микроконтроллере для получения сведений или отправки сигнала, – это набор простейших операций, который записан в главной библиотеке. И вы будете ограничены до тех пор, пока не получите достаточно опыта и практики, чтобы понимать, какую библиотеку и для какой цели вам стоит написать.
Главный же недостаток конструирования с Arduino сложных проектов в том, что вам придётся с нуля писать код и подбирать компоненты для системы, поэтому лучше сначала попрактиковаться на простейших задачах.
Также, учитывайте, что язык написания библиотек системы – низкоуровневый, а соответственно, состоит из простейших команд, в отличие от высокоуровневых python или pascal, удобных для пользователей. С другой стороны, он также является мультипарадигмальным, поэтому подходит для решения любой задачи с помощью удобной вам парадигмы программирования.
Чаще всего применяется ООП. Сам С++ имеет ядро из многочисленных библиотек и дополнительных функций или методов, поэтому, если вы собираетесь разобраться во всём кардинально, стоит начинать с освоения языка с нуля.
Как подобрать нужную плату для своего проекта?
Поскольку Arduino — платформа с открытым исходным кодом, любой производитель может сделать платы, совместимые с Arduino. Один из способов провести различие между исходными платами и совместимыми моделями — найти торговое название на плате. Название Arduino является торговой маркой и предназначено для плат, изготовленных компанией в Италии. Все совместимые платы Arduino используют другое, но похожее торговое название Freeduino, Netduino и т. д. Если вы хотите более дешевую альтернативу Arduino, вы всегда можете купить платы клонов. Обычно они не уступают в качестве оригиналу.
Наряду с Arduino Uno, которая является самой популярной из всех Arduino плат, есть и другие версии, которые можно найти на рынке. Поскольку спецификации различаются, подходить к выбору платы стоит максимально тщательно. Различные платы и их спецификации приведены в таблице ниже.
Тем, кто делает первые шаги в мире Arduino, лучше использовать наиболее популярные платы, такие как Arduino Uno, Arduino Mega или Arduino Mini. Так как информации по ним намного больше, чем по другим платам.
Сравним эти платы:
Arduino Uno
Такие платы как Arduino Uno R3 (Оригинальная), UNO R3 (Arduino-совместимая) или одна из данных, отлично подойдут тем, кто делает первые шаги и только знакомится с данной платформой. Плата имеет 14 цифровых и 6 аналоговых выводов. Таким образом в нашем распоряжении имеется 20 GPIO (портов ввода/вывода), чего будет достаточно для большинства проектов среднего и начального уровня. Arduino Uno R3 выпускается в двух моделях: обычная и SMD версия. Новичкам лучше использовать обычную версию. Так как если в процессе создания проекта вы сожжете контроллер, восстановить плату можно заменив его, в то время как SMD версию восстановить не удастся и придется полностью менять плату.
Arduino Mini
Если вы хотите удешевить ваш проект или сделать его более компактным, можно использовать плату Arduino Pro Mini 328 — 5V/16MHz, Arduino Pro Mini 328 — 3.3V/8MHz или один из аналогов. Она имеет все функциональные возможности Uno, но ощутимо меньше по размеру. Ее длина около 3-х см.
Arduino Mega
Если вы работаете над сложным проектом с большим количеством подключаемых модулей, можно использовать Arduino Mega R3 2560 (Оригинал), MEGA2560 R3 (Arduino-совместимая) или одну из имеющихся у нас расширенных плат. В этом случае вы избавите себя он необходимости установки микросхемы IC74595 для увеличения количества портов ввода/вывода.
Arduino Lilypad
Например Arduino LilyPad USB — ATmega32U4 Board или LilyPad 328 Main Board ATmega328P. Этот вариант платы чаще всего используется для проектов, встроенных в одежду. Плата спроектирована таким образом, что ее можно легко закрепить и спрятать на ткани. Также, в случае с данной платой, провода можно заменить токопроводящей нитью.
Если подытожить можно сказать, что для новичков или же просто для несложных проектов лучше всего использовать плату Uno или Mini. Если же вы работаете над большим и сложным проектом лучше подойдет плата Arduino Mega.
На этом все. Отправляйтесь за своей первой платой и радуйте окружающих своими проектами.
Статья является авторским переводом с сайта diyhacking.com.
Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.
Разнообразие плат Arduino
Электрики и электроники для создания своих устройств с использованием микроконтроллеров, шли двумя путями: либо самостоятельно занимались изучением языка программирования, либо обращались за помощью к программистам. Но оба этих способы не являются самыми легкими. Ведь программисты обладают особым складом ума, который не всегда совмещается с чтением электросхем. К тому же, есть уже программируемая среда, адаптированная под обычного инженера-электронщика или электрика. Именно о средах программирования plc и идет речь — благодаря ним можно создать программные обеспечения для контроллеров на языках FBD и LAD.
Плата Ардуино в идеале подошла кулибиным и самодельщикам. Единственный нюанс — она программируется на базе языка С, а для многих он непостижим. Они запускают, собирают, придумывают, рисуют сложные схемы, но программирование — это не про них. Пришлось им изобретать проект FLProg. Для чего? Совмещения принципов промышленного программирования и удобства Arduino. Данный проект открыл возможности и выявил новый уровень абстракции, у которого довольно смелое заявление: для программирования микроконтроллера совсем не нужно обладать знаниями языка программирования.
В итоге на свет появился инструмент, который позволил заниматься созданием своего проекта на Arduino абсолютно любому из людей, который знает электронику и изучал электротехнику. Всего в проекте две части: приложение FLProg, которое выглядит в виде среды с графическим программированием и интернет-ресурсы по FLProg. При их помощи пользователь программы имеет возможность общаться друг с другом, быть в курсе важных новостных моментов проектов, скачивать одну из последних версий программы, находить нужную информацию, чтобы работать с приложением.