Что такое микроконтроллер?
Микроконтроллеры — чрезвычайно популярные устройства, используемые множеством производителей. По сути, это небольшие печатные платы, которые можно запрограммировать для считывания электронных сигналов и управления ими. На степень проще, чем упрощенный одноплатный компьютер, такой как Raspberry Pi, у них есть процессор и память для хранения и запуска программ.
Микроконтроллеры могут обрабатывать множество различных типов входов и выходов для управления электрическими системами. В результате они очень полезны в большом количестве проектов электроники для любителей. С правильным щитом вы даже можете использовать их для управления 3D-принтером. Сообщество производителей ломится по швам от проектов, которые можно распечатать на 3D-принтере и управлять ими с помощью микроконтроллера и некоторой дополнительной электроники.
Микроконтроллеры бывают разных форм, размеров и наборов функций . Arduino , Teensy и ESP32 — одни из самых популярных. Микроконтроллеры Teensy известны своей скоростью и вычислительной мощностью, в то время как платы на базе ESP32 обычно включают Bluetooth и WiFi.
В семействе плат Arduino более восьми различных дизайнов плат, поэтому каждый найдет что-то для себя. Например, Arduino Leonardo имеет встроенный USB-порт и может работать как клавиатура или мышь. Между тем, Arduino Due имеет быстрый и мощный 32-битный процессор.
Тем не менее, самым популярным устройством в этой серии и лучшим для начинающих является Arduino Uno . Это очень простой микроконтроллер с множеством функций, с которыми можно поработать. Поскольку плата имеет открытый исходный код, многие китайские клоны можно найти по очень низкой цене на онлайн-рынках, но настоящие Arduinos обычно являются наиболее надежными. Кроме того, дополнительным бонусом является поддержка компании, которая их разработала.
Познакомьтесь с Arduino Uno
Arduino Uno зарекомендовал себя как микроконтроллер для любителей. Его основной процессор ATMEGA328P выполняет все функции микроконтроллера и обеспечивает большую вычислительную мощность.
Arduinos программируются с использованием немного измененного языка программирования C. Через USB-порт вы можете загружать и запускать код с помощью подходящего программного обеспечения, самым простым из которых является веб-редактор Arduino . Если вы застряли в какой-то момент, в Центре проектов Arduino можно найти отличные статьи поддержки .
Есть два варианта питания Uno: через порт USB или от внешнего источника питания, но только после его программирования.
Характеристики:
- Чипсет: ATMEGA328P
- Частота: 16 МГц
- Контакты цифрового ввода / вывода: 14 (6 ШИМ)
- Аналоговые выводы ввода / вывода: 6
- Напряжение питания: 5-12 В
- Разъем USB: Type-B
Основы программирования Arduino
Если у вас нет опыта программирования, попытки выучить его могут быть похожи на изучение иностранного языка. Лучше всего начать с фундаментальных идей, а затем развивать их.
Как мы уже говорили выше, Arduinos написаны на языке программирования C. Это здорово, потому что в Интернете доступны бесконечные учебники и уроки, которые научат вас всему, что нужно знать о программировании на C.
Кодирование для Arduino немного отличается от программирования обычного компьютерного программного обеспечения. Поэтому рекомендуется найти учебные пособия, специально посвященные кодированию для Arduino. Официальная страница руководства по Arduino — отличное место для начала.
Поскольку о кодировании для Arduino так много высококачественного контента, мы рассмотрим только основы. Программа мигания или скетч (так называются программы во вселенной Arduino) — отличное место для начала.
Эскиз Blink
Эскиз мигания в основном мигает встроенным светодиодом, который привязан к контакту 13 на плате и отмечен буквой «L». Первое, что нужно понять, это то, что код запускается сверху вниз, по одной строке за раз. Все, что находится в строке после двойной косой черты, считается комментарием, то есть Arduino игнорирует его.
Комментарии очень важны в кодировании. Поскольку без контекста может быть очень сложно расшифровать, какие строки кода делают, рекомендуется использовать комментарии, чтобы объяснить, что делает ваш код.
Ниже перечислены наиболее важные функции в коде скетча мигания:
void setup(){ ... }
: Это специальная функция Arduino, которая запускает все внутри скобок один раз. Обычно это используется для того, чтобы сообщить Arduino, какие контакты являются выходами, а какие — входами.void loop(){ ... }
: Это еще одна функция Arduino, которая запускается снова и снова, пока Arduino находится под напряжением. Обычно это место, куда идет большая часть вашего кода: вы помещаете все инструкции в скобки, и программа снова и снова читает строки кода сверху вниз.digitalWrite( ... )
: Эта функция назначает высокий или низкий уровень напряжения указанному контакту.delay( ... )
: Эта часто используемая функция указывает Arduino подождать количество миллисекунд, указанное в круглых скобках, прежде чем переходить к следующей строке кода.
На изображении выше в скетче используется функция настройки void, чтобы сообщить Arduino, что встроенный светодиод будет выходом. В строках кода void loop функция digitalWrite включает светодиодный индикатор, а затем функция задержки ожидает 1000 миллисекунд. Вторая функция digitalWrite выключает световой индикатор, после чего вторая функция задержки ждет еще 1000 миллисекунд. После этого цикл перезапускается.
Набросок мигания — определенно первый набросок, который вы должны попробовать загрузить на свой Arduino; это одна из самых простых вещей, которые вы можете сделать. Следуйте инструкциям в коде на основе указаний в предыдущем разделе выше. Если светодиод мигает, поздравляем! Вы только что успешно загрузили программу на свой Arduino.
Учитывая простоту кода, это отличное место для начала. Вы можете отредактировать код и посмотреть, что произойдет. Например, вы можете изменить время мигания, изменив число в функции задержки или даже добавив несколько задержек. Вы также можете подключить провод к контакту 13, подключить его к своему собственному светодиоду и изменить код, чтобы он мигал своим собственным светом.
После того, как вы поработали сколько душе угодно, в веб-редакторе Arduino есть много других примеров эскизов, которые отлично подходят для начинающих. Каждый пример включает комментарии, объясняющие, что делает каждая строка кода.
Это может быть отличным местом для начала обучения программированию!