Язык программирования Arduino На каком языке он основан и каковы его основы?
Arduino стал один из проекты электроники ле самый успешный в мире , он создавался в основном для студентов 2005 г. в Италии, все это было направлено на то, чтобы упростить электронную работу, чтобы любой, кто интересуется этой областью, мог понять, что это значит создавать электронные проекты для использования в реальном мире.
Следовательно, чтобы использовать эту платформу, не обязательно иметь глубокие знания электроники или успешный программист, потому что идея основной Arduino состоит в том, чтобы облегчить все это в максимальной степени, тем самым давая возможность тысячам людей создавайте собственные проекты не выходя из дома.
Один из ключей к успеху здесь — как напишите инструкции du микроконтроллер на языке программирования , что для многих может оказаться не так просто. Вот как мы научим вас немного больше о язык программирования Arduino и каковы его основы , чтобы сделать это, подробно выполните каждый из шагов, которым мы затем научим вас в этой статье.
Что такое язык программирования Arduino и для чего он используется в электронике?
В этом случае следует отметить, что язык программирования Arduino основан на C ++ и хотя ссылка на этот язык программирования Arduino либо в «Ардуино», от В эти дни стандартные команды C ++ так же может быть используется при программировании карты .
Вот как мы покажем вам, какие самые замечательные характеристики C:
- Считается языком программирования для общее использование, связанное с в операционную систему UNIX.
- Это язык среднего уровня , у него есть основные цели, такие как числа, символы, биты, адреса памяти и др.
- Il имеет большой портативность.
- Он используется для программирования таких систем.
C ++ считается un язык программирования который был разработан в середине 80-х Бьярном Страуструпом, он был создан с целью расширения этого Язык C с механизмами для выполнения манипуляций с объектами. В соответствии с этим и с точки зрения объектно-ориентированных языков, C ++ считается гибридным языком.
Со временем были добавлены общие функции программирования, все это добавилось к двум другим уже поддерживаемым парадигмам. (объектно-ориентированное программирование и структурное программирование). Вот почему понятно, что
ПРОТИВ # является Язык, принадлежащий Microsoft кто отвечает за смешивание основные возможности C ++ упрощение в Стиль Java и в то же время предлагая фреймворк. Наконец, следует отметить, что ПРОТИВ # это часть платформа .NET
На каких еще языках программируются платы Arduino?
Команда, отвечающая за Arduino создан его собственный языка сайта чтобы запрограммировать эту карту, этот язык Электропроводка на основе . Все это касается фреймворк, это своего рода шаблон, структура или концептуальная диаграмма, основанная на технологии, которая позволяет работать намного проще, а также открытый исходный код для программирования микроконтроллеров .
Посмотрим подробнее:
электропроводка
Это написано в языки программирования C и C ++, это там синтаксис этих двух очень похож. Главное преимущество, получаемое при использовании этого рамки великое множество микроконтроллеры, которые он поддерживает, потому что он может принять загрузить микроконтроллеры использован Семейства плат Arduino .
Наконец, как и плата arduino , Электромонтаж имеет IDE на основании Обработка что позволяет программировать микроконтроллеры. Поэтому вам просто нужно перейти на официальный сайт Электропроводка и загрузите эту среду разработки, она доступна для Операционные системы Linux, Windows и Mac .
В лечении
Чтобы дать вам инструкции и напишите код на микроконтроллере или отладочной плате, нужна среда. Эти среды называются «Интегрированная среда развития» или, как его еще называют, по его аббревиатуре IDE и который определяется как интегрированная среда разработки.
В случае из среды разработки Arduino , известная как программа, в которой написан код, она разрабатывается на языке программирования, называемом Обработка . Пар Последовательные, Обработка — это язык программирования и среда разработки на основе JAVA , в основном используется для реализации мультимедийных проектов цифрового дизайна.
Язык C / C ++
Как упоминалось выше, язык Arduino на основании Электропроводка и который также основан на С/С++. Это дает возможность работать с проектом Arduino, но необходимо знать язык C. Это необходимо учитывать, что все функции этого язык делает не используются, но используются структурные и переменные типы.
Однако преимущество, предлагаемое C в том, что это язык среднего уровня, он позволяет эффективно управлять всеми ресурсами микроконтроллер и это также скомпилированный язык, который позволяет создать файл, чтобы его можно было заряженный позже на микроконтроллере .
Arduino IDE Познакомьтесь со средой разработки для оборудования с открытым исходным кодом!
L ‘ Arduino IDE или как его еще называют «Интегрированная среда разработки» это компьютерная программа, состоящая из набора инструменты программирования , это может быть посвящено исключительно одному язык программирования или он может использоваться несколькими типами языков.
Этим способом, EDI стала средой программирования, которая была упакована как прикладная программа, что означает, что это редактор кода, компилятор, отладчик и конструктор графический интерфейс (GUI). В случае карты Arduino , инструменты включены для загрузки уже скомпилированной программы во флэш-память оборудования.
Таким образом, мы можем сказать, что IDE Arduino это рабочий инструмент с Arduino, поэтому необходимо знать, как он работает. На случай, если Программы Arduino, они состоят из одного файла с расширением «Информация», хотя их также можно организовать в разных файлах. В случае с основным файлом он всегда должен находиться в папке с тем же именем, что и файл.
Наконец, следует отметить, что перед версия 1.x расширение Использовалось «Pde», но на момент перехода на эту версию произошли большие изменения, поэтому необходимо учитывать, если старый код используется . Также следует отметить, что IDE полностью бесплатна и возможно скачано с официального сайта Arduino и что его процесс установки достаточно простой, поэтому у вас не возникнет никаких сложностей.
Основы программирования в Arduino Что самое важное вам нужно знать?
Программирование Arduino имеет несколько основ, которые важно знать и применять, поскольку они помогут вам достичь лучших результатов при работе на этой платформе, поэтому ниже мы научим вас каковы самые важные основы, которые вам нужно знать о программировании Arduino.
Для этого подробно выполните каждое из следующих действий:
Синтаксис
На случай, если языки de программировать это необходимо иметь синтаксис , это тот, который позволит общение с компилятором . Задача компилятора — прочитать код и перевести его в машинный код наливай микроконтроллер понимать . Таким образом, мы можем сказать, что компилятору потребуется вся информация, которая доходит до него, чтобы быть идеальной, поскольку это будет единственный способ для него может читать и переводить код .
Комментарии
Комментарии просто отмечает, что программист уходит в код,
Однако следует иметь в виду, что комментарии не компилируются , они не переведены на Машинный код , поэтому всякий раз, когда компилятор встречает комментарий, эта строка игнорируется.
В настоящее время есть два способа написать комментарий, например:
// это комментарий Myivariate int = 0;
Все это справа от двойной косой черты (//) считается комментарий и неактивен .
В этом случае IDE Arduino изменит цвет, чтобы указать, что это комментарий:
/* Это комментарий * / Int моя переменная = 0;
Есть еще один способ комментарий и поместите / *, чтобы открыть и * /, чтобы закрыть. Таким образом, все, что находится между этими двумя открывающими и закрывающими отметками, считается комментарием. Поскольку это комментарий, он станет серым.
точка с запятой
В В языке программирования C ++ точка с запятой (;) похожа на точку с запятой.
Посмотрим:
// это комментарий Переменная int = 0:
Из точка – точка предоставленный в предыдущей строке, компилятор интерпретирует все написанное как новую инструкцию , который не будет иметь ничего общего с предыдущим. Следовательно, на этом этапе можно выполнить тест, чтобы увидеть, как работает компилятор.
Для этого вам нужно зайти в новую программу в Arduino IDE и скопировать следующий код, для этого вам не нужно подключать плату к компьютеру:
// Без точки с запятой Переменная int1 = 0 Пустая установка () { // Вставьте сюда свой код; } Пустой цикл () { // Поместите сюда свой основной код, чтобы он выполнялся повторно: }
Затем вам нужно нажать на кнопку «Проверить», это первый ярлык для редактора:
Sketch_may29a: 4: ошибка: ожидается ',' или ';' перед 'void' Пустая установка () { Состояние выхода 1 Ожидается ',' или ';' перед 'void'
Как вы можете видеть, первая ошибка появляется здесь
«ОБНОВЛЕНИЕ ✅ Хотите узнать больше о программировании с открытым исходным кодом с помощью Arduino и ее плат? ⭐ ВОЙДИТЕ СЮДА ⭐ и узнайте все о SCRATCH! ✅ «
Посмотрим:
Sketch_may29a: 4: ошибка: ожидается ',' или ';' перед 'void' Пустая установка () { Состояние выхода 1 Ожидается ',' или ';' перед 'void'
Enfin, появится красная полоса в редактор с указанием строки, в которой находится ошибка и где на нее имеется ссылка в консоли. Следующее будет измените код и поставьте точку с запятой в конце строки 2, чтобы он скомпилировался. Как видите, компилятор не только требователен, но и помогает исправлять ошибки.
Переменные
Переменные являются одним из важнейших понятий программирование на языке Arduino. Они состоят из инструмента программирования, который позволяет хранить и извлекать информацию по программам.
Тип данных
Дело не только в том, чтобы имя для переменной , но также чтобы иметь возможность указать тип данные, которые будут храниться . Таким образом, типы данных отвечают за указание, какую информацию следует резервировать, указывая каждый из типы данных .
Это значительно упростит процесс восстановления и сбора данных, это не то же самое, что искать что-то неизвестное, имея предыдущие характеристики того, что вы ищете. Следует также отметить, что не каждая переменная может хранить только указанный тип данных когда эта переменная объявлена.
черты
Что касается функций, для некоторых из них требуются такие параметры, как функция digitalWrite , где важно знать две вещи, например Автора состояние (ВЫСОКОЕ или НИЗКОЕ) и пин-код .
Вам наверняка интересно как узнать, какие параметры поддерживает функция? В этом случае лучше обратиться к справочнику по языку, как если бы это был справочник или руководство пользователя. Практически на большинстве языков есть ваша ссылка. Вход «DigitalWrite», вы заметите, что сайт на английском языке.
Это его самый большой недостаток, но вы увидите следующее:
В разделе ссылок вы найдете все, что вам нужно знать, как использовать функцию:
- Синтаксис (синтаксис): указывает, как написана функция и сколько параметров она поддерживает.
- настройки: Здесь описаны все настройки и их значение.
- Возврат: Если возвращается значение, функция сообщит вам тип данных. Функция digitalWrite не не возвращает значения, поэтому ничего не помещается.
Функция конфигурации Arduino () и цикл ()
Наконец выясняем, что такое Конфигурация Arduino и функция цикла , обе считаются наиболее важными функциями программы и важны, когда изучение Ардуино.
Функция настройки ()
Это программа Arduino, в которой есть вещи, которые нужно выполнить только один раз, например следующие:
- начало la последовательная связь с компьютер через порт USB.
- дисплей un приветствие на ЖК-экране.
- Настроить значки приветствия на ЖК-экране.
- начало un против нуля .
- Поверните серводвигатель в линейное положение По умолчанию.
Вы должны иметь в виду, что это типы задач, которые выполняются только один раз. Таким образом, мы можем сказать, что это начальные условия программы, эти типы задач — те, которые на основе setup (). Чтобы лучше все это понять, мы рассмотрим эту функцию более подробно.
В этом случае, функция setup () имеет особый цвет в IDE Arduino , как это бывает с другими фундаментальные принципы языка. Этот цвет указывает на то, что Arduino IDE может идентифицировать функцию как особый тип, используемый для контролировать структуру кода. Как и у любой функции, у нее есть открывающаяся скобка и закрывающаяся другая.
Но в отличие от большинства функций, в этом случае для работы setup () не нужны аргументы:
Пустая установка () { }
Как вы можете видеть на левой стороне
Arduino какой язык
Arduino
Язык программирования Arduino — это по сути своей стандартный C++, но немного «доработанный напильником», чтобы новичкам было проще начать использовать платформу, а уже потом начать постигать тонкости программирования.
Программы для Arduino называются скетчами (от английского sketch — набросок). Стандартное расширение для таких файлов — ino. Перед компиляцией такие файлы обрабатываются препроцессором arduino, который:
— создает функцию main() , прописывая туда все необходимые действия;
— вставляет необходимые заголовочные файлы используемых стандартный библиотек.
Программист должен создать две обязательные функции: setup() и loop() . Первая вызывается один раз при старте, вызов второй происходит в бесконечном цикле.
Вот так выглядет простейшая программа для Arduino:
Это своего рода «hello world» для Arduino — скетч, при запуске которого плата мигает встроенным светодиодом.
Что за язык программирования используется для Arduino?
На официальном сайте пишут: «…is programmed using the Arduino programming language (based on Wiring)«.
Фактически — нет никакого особого языка программирования и программы пишутся на C/C++, а компилируются и собираются с помощью широко известного avr-gcc (в версии для Windows — WinAVR).
Все особенности сводятся к тому, что имеется набор библиотек, включающий в себя некоторые функции (вроде pinMode) и объекты (вроде Serial), а при компиляции Вашей программы среда разработки создает временный . cpp файл, в который кроме Вашего кода включается еще несколько строчек, и полученный результат скармливается компилятору а затем линковщику с нужными параметрами.
Для примера, рассмотрим стандартный тестовый скетч (Sketch)
Sketch — это название программ для Arduino. Это единичный проект, который загружается и выполняется платой.
Например, скетч Blink — мигает светодиодом, подключённым к 13 выводу(File -> SketchBook -> Examples -> Digital -> Blink):
сам файл находится здесь: arduino-0016\examples\Digital\Blink\Blink.pde
Если теперь скомпилировать полученную программу в Arduino, то во временной директории
вида
Local Settings\Temp\build40910.tmp\ появится куча файлов.
В основном это объектные, содержащие скомпилированные стандартные функции, а также готовая скомпилированная программа в разных форматах (ELF, ROM, HEX). Самым интересным является .cpp файл — это то, во что превратился наш код, с нашими подробными комментариями — разумеется они добавлены вручную
— Temporary_4477_534. cpp —
На самом деле, среда Arduino делает еще какие-то мелкие преобразования исходного кода, например декорирует не-латинские символы, выносит все «#include» наверх, может еще какие-то мелочи, но идея остается той же самой.
Введение в язык программирования Arduino
Как можно писать программы для платы Arduino? Arduino изначально поддерживает язык, который мы называем языком программирования Arduino или языком Arduino.
Как можно писать программы для платы Arduino?
Arduino изначально поддерживает язык, который мы называем языком программирования Arduino или языком Arduino.
Этот язык основан наПроводкаплатформа разработки, которая, в свою очередь, основана наОбработка, что, если вы не знакомы, вот чтоp5.jsоснован на. Это долгая история проектов, основанных на других проектах с очень открытым исходным кодом. IDE Arduino основана на среде Processing IDE и Wiring IDE, которая строится поверх нее.
Когда мы работаем с Arduino, мы обычно используем Arduino IDE (интегрированную среду разработки), программное обеспечение, доступное для всех основных настольных платформ (macOS, Linux, Windows), которое дает нам 2 вещи: редактор программирования с поддержкой интегрированных библиотек и способ легко скомпилировать и загрузить наши программы Arduino на плату, подключенную к компьютеру.
Язык программирования Arduino — это, по сути, фреймворк, построенный на основе C ++. Вы можете возразить, что это не настоящий язык программирования в традиционном понимании, но я думаю, что это помогает избежать путаницы для новичков.
Программа, написанная на языке программирования Arduino, называетсянабросок. Эскиз обычно сохраняется с .ino расширение (от Ardu ino ).
Главное отличие от «нормального»Cили C ++ заключается в том, что вы объединяете весь свой код в две основные функции. Разумеется, у вас может быть больше двух, но любая программа Arduino должна обеспечивать как минимум эти 2.
Один называется setup() , другой называется loop() . Первый вызывается один раз при запуске программы, второй повторно вызывается во время работы вашей программы.
У нас нет main() функция, как вы привыкли в C / C ++, в качестве точки входа для программы. После того, как вы скомпилируете свой скетч, IDE убедится, что конечным результатом является правильная программа на C ++, и в основном добавит недостающий клей путем его предварительной обработки.
Все остальное — это обычный код C ++, а поскольку C ++ является надмножеством C, любой допустимый C также является допустимым кодом Arduino.
Одно отличие, которое может вызвать у вас проблемы, заключается в том, что, хотя вы можете создавать свою программу в нескольких файлах, все эти файлы должны находиться в одной папке. Если ваша программа вырастет до очень больших размеров, это может быть ограничением, нарушающим сделку, но в этот момент будет легко перейти на нативную настройку C ++, что возможно.
Частью языка программирования Arduino являются встроенные библиотеки, которые позволяют легко интегрироваться с функциями, предоставляемыми платой Arduino.
Ваша первая программа на Arduino наверняка будет включать в себя включение светодиода, а затем его выключение. Для этого вы будете использовать pinMode() , delay() и digitalWrite() функции, а также некоторые константы, такие как HIGH , LOW , OUTPUT .
Вот так, канонический первый проект Arduino («Hello, World!»):
Все это часть языка программирования Arduino, или лучше называть егосюитаили жебиблиотека.
Поддержка другого языка
Напоминаем, что вы не ограничены использованием этого языка и IDE для программирования Arduino. Среди прочего существуют проекты, позволяющие запускать на нем код Node.js с помощьюДжонни Пятьпроект, код Python с использованиемпизериали код Go сГобот, но язык программирования Arduino — это определенно тот язык, на котором вы увидите большинство руководств, поскольку это нативный и канонический способ работы с этими устройствами.
Встроенные константы языка программирования Arduino
Arduino устанавливает две константы, которые мы можем использовать для
HIGH соответствует высокому уровню напряжения, которое может различаться в зависимости от оборудования (> 2 В на платах 3.3 В, таких как Arduino Nano,> 3 В на платах 5 В, таких как Arduino Uno) LOW приравнивается к низкому уровню напряжения. Опять же, точное значение зависит от используемой платы.
Затем у нас есть 3 константы, которые мы можем использовать в сочетании с pinMode() функция:
- INPUT устанавливает контакт как входной контакт
- OUTPUT устанавливает контакт как выходной контакт
- INPUT_PULLUP устанавливает вывод как внутренний подтягивающий резистор
Другая постоянная, которая у нас есть, это LED_BUILTIN , который указывает на номер бортового штифта, который обычно приравнивается к номеру 13 .
В дополнение к этому у нас есть константы C / C ++ true и false .
Математические константы Arduino
- M_PI константа пи ( 3.14159265358979323846 )
- M_E постоянная e
- M_LN10 the natural logarithm of the number 10.
- M_LN2 the natural logarithm of the number 2.
- M_LOG10E the logarithm of the e to base 10.
- M_LOG2E the logarithm of the e to base 2.
- M_SQRT2 the square root of 2.
- NAN константа NAN (не число).
Встроенные функции языка программирования Arduino
В этом разделе я собираюсь сделать ссылку на встроенные функции, предоставляемые языком программирования Arduino.
Жизненный цикл программы
- setup() эта функция вызывается один раз при запуске программы, а также при выключении и перезапуске Arduino.
- loop() эта функция многократно вызывается во время работы программы Arduino.
Обработка ввода / вывода
Следующие функции помогают обрабатывать ввод и вывод с вашего устройства Arduino.
Цифровой ввод / вывод
- digitalRead() считывает значение с цифрового вывода. Принимает номер контакта в качестве параметра и возвращает HIGH или же LOW постоянный.
- digitalWrite() пишет HIGH или же LOW значение на цифровой выходной контакт. Вы передаете пин-код и HIGH или же LOW как параметры.
- pinMode() устанавливает контакт как вход или выход. Вы передаете пин-код и INPUT или же OUTPUT значение как параметры.
- pulseIn() считывает цифровой импульс с LOW к HIGH а затем в LOW снова или из HIGH к LOW и чтобы HIGH снова на булавке. Программа будет заблокирована до тех пор, пока не будет обнаружен пульс. Вы указываете номер контакта и тип импульса, который хотите обнаружить (LHL или HLH). Вы можете указать необязательный тайм-аут, чтобы перестать ждать этого импульса.
- pulseInLong() такой же как pulseIn() , за исключением того, что он реализован иначе и не может использоваться, если прерывания отключены. Обычно прерывания отключаются, чтобы получить более точный результат.
- shiftIn() читает байт данных по одному биту с вывода.
- shiftOut() записывает байт данных по одному биту на вывод.
- tone() посылает прямоугольную волну на штырь, используемую для зуммеров / динамиков для воспроизведения тонов. Вы можете указать контакт и частоту. Он работает как с цифровыми, так и с аналоговыми выводами.
- noTone() останавливает tone() генерируемая волна на булавке.
Аналоговый ввод / вывод
- analogRead() считывает значение с аналогового вывода.
- analogReference() настраивает значение, используемое для верхнего диапазона входного аналогового входа, по умолчанию 5 В на платах 5 В и 3,3 В на платах 3,3 В.
- analogWrite() записывает аналоговое значение на вывод
- analogReadResolution() позволяет изменить разрешение аналоговых битов по умолчанию для analogRead() , по умолчанию 10 бит. Работает только на определенных устройствах (Arduino Due, Zero и MKR)
- analogWriteResolution() позволяет изменить разрешение аналоговых битов по умолчанию для analogWrite() , по умолчанию 10 бит. Работает только на определенных устройствах (Arduino Due, Zero и MKR)
Функции времени
- delay() приостанавливает выполнение программы на количество миллисекунд, указанное в качестве параметра
- delayMicroseconds() приостанавливает выполнение программы на количество микросекунд, указанное в качестве параметра
- micros() количество микросекунд с момента запуска программы. Сбрасывается через
Математические функции
- abs() абсолютное значение числа
- constrain() ограничивает число в пределах диапазона,см. использование
- map() переназначает число из одного диапазона в другой,см. использование
- max() максимум два числа
- min() минимум двух чисел
- pow() значение числа в степени
- sq() квадрат числа
- sqrt() квадратный корень из числа
- cos() косинус угла
- sin() синус угла
- tan() тангенс угла
Примечание: есть больше встроенных математических функций, если они вам нужны,задокументировано здесь.
Работа с буквенно-цифровыми символами
- isAlpha() проверяет, является ли символ альфа (буквой)
- isAlphaNumeric() проверяет, является ли символ буквенно-цифровым (буква или цифра)
- isAscii() проверяет, является ли char символом ASCII
- isControl() проверяет, является ли символуправляющий персонаж
- isDigit() проверяет, является ли символ числом
- isGraph() проверяет, является ли char печатаемым символом ASCII и содержит ли он содержимое (например, это не пробел)
- isHexadecimalDigit() проверяет, является ли символ шестнадцатеричной цифрой (AF 0-9)
- isLowerCase() проверяет, является ли char буквой в нижнем регистре
- isPrintable() проверяет, является ли char печатаемым символом ASCII
- isPunct() проверяет, является ли символ пунктуацией (запятая, точка с запятой, восклицательный знак и т. д.)
- isSpace() проверяет, является ли символ пробелом, фид формы \f , новая линия \n , возврат каретки \r , горизонтальная табуляция \t , или вертикальная табуляция \v .
- isUpperCase() проверяет, является ли char буквой в верхнем регистре
- isWhitespace() проверяет, является ли символ пробелом или горизонтальной табуляцией \t
Генерация случайных чисел
- random() генерировать псевдослучайное число
- randomSeed() инициализировать генератор псевдослучайных чисел с произвольным начальным числом
В Arduino, как и в большинстве языков, невозможно получить действительно случайные числа, и последовательность всегда одинакова, поэтому вы заполняете его текущим временем или (в случае Arduino) вы можетечитать ввод с аналогового порта.
Какие языки программирования вы можете использовать с Arduino?
Готов попробовать что-то другое с вашим Arduino? Вам не нужно ограничиваться программированием на C. Возьмите эти альтернативные языки для тест-драйва.
Arduino IDE — это основа идеала проекта — это пользовательский интерфейс, который пытается превратить непростую задачу в изучение языка программирования. в то, что каждый может нанести удар. Это, безусловно, благородное дело, но вполне может наступить момент, когда IDE будет ограничивать вашу креативность.
Точно так же, как существует огромное количество различных языков программирования, существует множество разных причин, по которым вам может понадобиться другой подход к программированию. , которые помогут , которые помогут Один язык может иметь для вас более логичный смысл, в то время как другой пользователь может процветать в совершенно другой структуре.
Важно найти язык, который говорит с вами и с целями, которые вы хотите достичь.
Arduino построен на простом языке программирования, который должен приветствовать новичков, но если вам не хватает опыта, возможно, стоит попробовать такой инструмент, как ArduBlock. Вместо того, чтобы набирать код, вы сможете визуально сконструировать свою программу, используя тот же набор функций, что и обычно.
Это здорово для маленьких пользователей , но не думайте, что это «Arduino для детей». У некоторых людей просто есть мозг, который лучше работает с визуальными стимулами — и хотя ArduBlock далеко не эстетичен с точки зрения его пользовательского интерфейса, он действительно представляет собой очень логичный способ написания кода для визуальных учеников. В то же время вы по-прежнему знакомитесь с именами функций и переменными, которые вам необходимо использовать, если вы решите перейти к полной Arduino IDE.
ArduBlock — это загружаемый инструмент, который запускается в качестве наложения на официальную среду разработки Arduino. Конечный продукт не будет отличаться от программы, созданной с использованием обычного процесса, так что это отличный первый шаг, если вы только начинаете. Для тех, кто не совсем готов изучать язык программирования напрямую, это отличный способ изучить ключевые концепции, не увлекаясь техническими возможностями кодирования.
Основанный на визуальном языке программирования с перетаскиванием, разработанном в Беркли, Snap4Arduino предлагает немного другой опыт, чем у ArduBlock. Метод создания ваших эскизов в визуальном конструкторе остается практически таким же, но очевидно, что это программное обеспечение предназначено для немного более старой аудитории.
Snap4Arduino с более понятным пользовательским интерфейсом и меньшим акцентом на навороты, поэтому совершенно не покровительствует. Нет никакого смысла в том, что это более простой метод программирования — он просто отличается от нормы. Хотя он предлагается в виде бета-версии, и его разработчики признают, что ошибок по-прежнему много, его очень удобно использовать.
Один из способов установки Snap4Arduino заключается в том, что для его установки на Arduino требуется StandardFirmata . Если на вашем компьютере уже установлена среда разработки Arduino, ее легко разобрать — просто откройте ее и выберите « Файлы» > « Примеры» > « Firmata» > « StandardFirmata» . Загрузите это на свою доску, и вы сможете взаимодействовать с ним из Snap4Arduino. Обратите внимание, что вы не можете компилировать программы, созданные в Snap, просто взаимодействуйте с Arduino, пока он подключен к вашему компьютеру.
Последовательная связь предоставляет Arduino удобный и гибкий способ связи с вашим компьютером — вы, вероятно, испытали недостаток функциональности в своих первых экспериментах с устройством. С помощью такой библиотеки, как CmdMessenger , вы сможете выйти за рамки использования serial и просто проверить эскиз Arduino и начать использовать его для кодирования на совершенно другом языке.
Вы можете запустить CmdMessenger либо в Microsoft Visual Studio, либо в аналогичной сторонней альтернативе. Оттуда вы можете обмениваться информацией между вашим ПК и Arduino, используя C #, так что вы можете выполнять такие функции, как вызов функций и отправлять и получать команды.
Еще один способ программирования на C # — использовать специально разработанное ответвление устройства, такое как Netduino . Поскольку он построен на платформе . NET Micro Framework, Netduino запускает C # изначально, прямо из коробки. Хотя расположение выводов совместимо с экранами Arduino, это совершенно другой микроконтроллер, и поэтому он не подходит, если вы хотите программировать с C # на Arduino, который у вас уже есть.
Хотя ваш Arduino не может запускать код, написанный на Python , из коробки, можно использовать Python для связи с устройством через последовательный ввод. Это очень просто в Unix-подобной системе, но если вы используете ПК или Mac, то pySerial может преодолеть этот пробел. Вы можете скачать pySerial с веб-сайта его разработчиков, на котором также размещена информация о запуске программного обеспечения в различных операционных системах — убедитесь, что у вас также есть копия Python в вашей системе.
Вы можете найти больше информации о чтении и записи данных в Arduino через pySerial на игровой площадке Arduino , но имейте в виду, что это довольно продвинутая техника. Если вы уже хорошо разбираетесь в Python, то, скорее всего, вы хорошо разберетесь в том, как его запустить и запустить — но если вы относительно плохо знакомы с языком или Arduino, есть более мягкие способы начать работу чем это.
При этом Python очень хорошо подходит для использования в сочетании с Arduino. Это язык кодирования, разработанный для интуитивного понимания, и поэтому его часто рекомендуют в качестве трамплина для других форм кодирования. Более того, если вам когда-нибудь удастся перейти от Arduino к аналогичному Raspberry Pi, вы обнаружите, что ваш Python опыт очень пригодится.
У вас были успехи в использовании других языков программирования или IDE с вашим Arduino? Дайте нам знать об этом в разделе комментариев ниже.
Кредиты изображений: программный код Via Shutterstock
Какие языки программирования можно использовать с Arduino?
Автор Брэд Джонс
Обновлено
Делиться Твитнуть Делиться Делиться Делиться Электронная почта
Готовы попробовать что-то новое с Arduino? Вам не нужно ограничиваться программированием на C. Попробуйте эти альтернативные языки.
Готовы попробовать что-то новое с Arduino? Вам не нужно ограничиваться программированием на C, когда вы можете протестировать эти альтернативные языки Arduino.
Arduino IDE является основой духа проекта — это пользовательский интерфейс, который пытается превратить сложную задачу изучения языка программирования во что-то, что каждый может попробовать. Это, безусловно, благородное дело, но вполне может наступить время, когда среда IDE станет ограничением вашего творчества.
Важно найти язык, который говорит с вами и с целями, которых вы хотите достичь.
Arduino построен на простом языке программирования, который должен приветствовать новичков, но если у вас действительно мало опыта, возможно, стоит попробовать такой инструмент, как XOD. Вместо того, чтобы вводить свой код, вы сможете построить свою программу визуально, используя тот же набор функций, что и обычно. Для быстрого ознакомления с программным обеспечением мы создали видеоролик, в котором вы познакомитесь с небольшим проектом по робототехнике.
Только потому, что вам не нужно вводить ни строчки кода, не думайте, что это «Arduino для детей». У некоторых людей просто мозг лучше работает с визуальными стимулами. С точки зрения пользовательского интерфейса у него довольно приятный интерфейс, но, помимо внешнего вида, он представляет собой очень логичный способ написания кода для визуальных учеников. В то же время вы все еще знакомитесь с именами функций и переменными, которые вам нужно будет использовать, если вы решите перейти на полную версию Arduino IDE.
XOD — это загружаемый инструмент, который работает как надстройка над официальной IDE Arduino. Также доступна версия для быстрого запуска браузера. Конечный продукт ничем не будет отличаться от программы, созданной с использованием обычного процесса, так что это отличный первый шаг, если вы только начинаете. Для тех, кто не совсем готов сразу изучать язык программирования, это отличный способ изучить ключевые понятия, не вдаваясь в технические тонкости кодирования.
Основанный на языке визуального программирования с функцией перетаскивания, разработанном в Беркли, Snap4Arduino предлагает несколько иной опыт, чем XOD. Метод построения ваших эскизов остается почти таким же в визуальном дизайнере, но ясно, что это программное обеспечение предназначено для немного более старшей аудитории.
С более заниженным пользовательским интерфейсом и меньшим вниманием к наворотам, Snap4Arduino решительно не покровительствует. Нет никакого смысла в том, что это более простой метод программирования; это просто отличается от нормы.
Одна хитрость при установке Snap4Arduino заключается в том, что для его установки на Arduino требуется StandardFirmata . Если на вашем компьютере уже установлена среда разработки Arduino IDE, в этом легко разобраться. Просто откройте его и перейдите к .Примеры > Фирма > Стандарт Фирма . Загрузите его на свою доску, и вы сможете взаимодействовать с ним изнутри Snap4Arduino. Обратите внимание, что вы не можете компилировать программы, созданные в Snap, с помощью Firmata, просто взаимодействуйте с Arduino, когда он подключен к вашему компьютеру.
Последовательная связьобеспечивает удобный и гибкий способ связи Arduino с компьютером — вы, вероятно, баловались этой функциональностью в своих ранних экспериментах с устройством. С помощью такой библиотеки, как библиотека CmdMessenger, вы сможете выйти за рамки использования последовательного порта, чтобы просто проверить свой эскиз Arduino, и начать использовать его для кодирования на совершенно другом языке.
Вы можете запустить CmdMessenger либо в Microsoft Visual Studio, либо в эквивалентной сторонней альтернативе. Оттуда вы можете обмениваться данными между вашим ПК и Arduino с помощью C#, поэтому вы можете делать такие вещи, как вызов функций и отправка и получение команд.
Другой способ программирования на C# — это использование специально разработанного ответвления устройства Arduino, такого как модуль разработчика Meadow F7v2 от Wilderness Labs. Поскольку Meadow построен на основе стандарта .NET, он работает с C# изначально, сразу после установки. Несмотря на то, что Meadow похож на Arduino, это совершенно другой микроконтроллер, и поэтому он не подходит, если вы хотите программировать на C# на Arduino, который у вас уже есть.
Хотя ваш Arduino не может запускать код, написанный на Python, из коробки, можно использовать Python для связи с устройством через последовательный ввод. Это очень просто в Unix-подобной системе, но если вы используете ПК или Mac, pySerial может заполнить пробел. Вы можете загрузить pySerial с веб-сайта его разработчика, на котором также есть множество информации о запуске программного обеспечения в различных операционных системах — убедитесь, что у вас также есть копия Python в вашей системе.
Вы можете найти дополнительную информацию о чтении и записи данных в Arduino через pySerial на странице документации Arduino, но имейте в виду, что это довольно продвинутый метод. Если вы уже хорошо разбираетесь в Python, то, скорее всего, у вас будет хорошее представление о том, как его настроить и запустить, но если вы относительно плохо знакомы с языком или Arduino, существует множество отличных проектов Arduino. для начинающих, с которыми вы можете начать сначала.
При этом Python очень хорошо подходит для использования в сочетании с Arduino. Это язык кодирования, разработанный для интуитивного понимания, и поэтому его часто рекомендуют в качестве трамплина к другим формам кодирования. Более того, если вам когда-нибудь случится перейти от Arduino к аналогичному Raspberry Pi, вы обнаружите, что ваш опыт работы с Python очень пригодится.
Попробуйте другой язык программирования Arduino сегодня
Если по какой-то причине Arduino IDE вам не подходит, существует множество альтернативных языков программирования на выбор. Если у вас уже есть опыт программирования, возможно, вы даже сможете продолжить работу на своем любимом языке.
Возможность выбора другого языка означает, что вы можете работать с тем, который кажется вам наиболее интуитивным или логичным. Будь то Python, C# или визуальный язык программирования, такой как Snap4Arduino, скорее всего, для вас найдется вариант.
С чего начать — Real Python
Смотреть сейчас Это руководство содержит соответствующий видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным учебным пособием, чтобы углубить свое понимание: Arduino с Python: с чего начать
Микроконтроллеры существуют уже давно, и они используются во всем, от сложных механизмов до обычных бытовых приборов. Однако работа с ними традиционно предназначалась для лиц с формальной технической подготовкой, таких как техники и инженеры-электрики. Появление Arduino сделал дизайн электронных приложений более доступным для всех разработчиков. В этом руководстве вы узнаете, как использовать Arduino с Python для разработки собственных электронных проектов.
Вы познакомитесь с основами Arduino и Python и узнаете, как:
- Настраивать электронные схемы
- Настроить протокол Firmata на Arduino
- Пишите базовые приложения для Arduino на Python
- Управление аналоговыми и цифровыми входами и выходами
- Интеграция датчиков и переключателей Arduino с приложениями более высокого уровня
- Инициируйте уведомления на вашем ПК и отправляйте электронные письма с помощью Arduino
Бесплатный бонус: 5 Thoughts On Python Mastery, бесплатный курс для разработчиков Python, который показывает вам дорожную карту и образ мышления, которые вам понадобятся, чтобы вывести свои навыки Python на новый уровень.
Платформа Arduino
Arduino — это платформа с открытым исходным кодом, состоящая из аппаратного и программного обеспечения, позволяющая быстро разрабатывать проекты интерактивной электроники. Появление Arduino привлекло внимание профессионалов из самых разных отраслей, способствуя началу движения Maker.
С ростом популярности Maker Movement и концепции Интернета вещей Arduino стала одной из основных платформ для электронного прототипирования и разработки MVP.
Arduino использует собственный язык программирования, похожий на C++. Однако можно использовать Arduino с Python или другим языком программирования высокого уровня. На самом деле такие платформы, как Arduino, хорошо работают с Python, особенно для приложений, требующих интеграции с датчиками и другими физическими устройствами.
В целом, Arduino и Python могут создать эффективную среду обучения, которая побуждает разработчиков заниматься проектированием электроники. Если вы уже знакомы с основами Python, вы сможете начать работу с Arduino, используя Python для управления им.
Платформа Arduino включает как аппаратные, так и программные продукты. В этом руководстве вы будете использовать аппаратное обеспечение Arduino и программное обеспечение Python, чтобы изучить основные схемы, а также цифровые и аналоговые входы и выходы.
Удалить рекламу
Аппаратное обеспечение Arduino
Чтобы запустить примеры, вам нужно собрать схемы, соединив электронных компонентов . Как правило, вы можете найти эти элементы в магазинах электронных компонентов или в хороших стартовых комплектах Arduino. Вам понадобится:
- Arduino Uno или другая совместимая плата
- Стандартный светодиод любого цвета
- Кнопка А
- Потенциометр 10 кОм
- Резистор 470 Ом
- Резистор 10 кОм
- Макет
- Соединительные провода различных цветов и размеров
Давайте подробнее рассмотрим некоторые из этих компонентов.
Компонент 1 — это Arduino Uno или другая совместимая плата. Arduino — это проект, включающий в себя множество плат и модулей разного назначения, и Arduino Uno — самый базовый из них. Кроме того, это наиболее используемая и наиболее документированная плата из всего семейства Arduino, так что это отличный выбор для разработчиков, которые только начинают знакомиться с электроникой.
Примечание: Arduino — это открытая аппаратная платформа, поэтому есть много других поставщиков, которые продают совместимые платы, которые можно использовать для запуска примеров, которые вы видите здесь. В этом уроке вы узнаете, как использовать Arduino Uno.
Компоненты 5 и 6 представляют собой резисторы . Большинство резисторов идентифицируются цветными полосами в соответствии с цветовым кодом. Как правило, первые три цвета представляют собой значение резистора, а четвертый цвет представляет его допуск . Для резистора 470 Ом первые три цвета — желтый, фиолетовый и коричневый. Для резистора 10 кОм первые три цвета — коричневый, черный и оранжевый.
Компонент 7 — это макетная плата , которую вы используете для подключения всех остальных компонентов и сборки схем. Хотя макетная плата не требуется, рекомендуется ее приобрести, если вы собираетесь начать работать с Arduino.
Программное обеспечение Arduino
В дополнение к этим аппаратным компонентам вам потребуется установить некоторое программное обеспечение. Платформа включает в себя Arduino IDE, интегрированную среду разработки для программирования устройств Arduino, а также другие онлайн-инструменты.
Arduino был разработан, чтобы вы могли легко программировать платы. В общем, вы выполните следующие шаги:
- Подключите плату к ПК
- Установите и откройте Arduino IDE
- Настройка параметров платы
- Напишите код
- Нажмите кнопку в среде IDE, чтобы загрузить программу на плату
Чтобы установить Arduino IDE на свой компьютер, загрузите соответствующую версию для вашей операционной системы с веб-сайта Arduino. Инструкции по установке см. в документации:
- Если вы используете Windows , используйте установщик Windows, чтобы загрузить необходимые драйверы для использования Arduino в Windows. Для получения более подробной информации обратитесь к документации Arduino.
- Если вы используете Linux , вам, возможно, придется добавить своего пользователя в некоторые группы, чтобы использовать последовательный порт для программирования Arduino. Этот процесс описан в руководстве по установке Arduino для Linux.
- Если вы используете macOS , вы можете установить Arduino IDE, следуя руководству по установке Arduino для OS X.
Примечание: В этом руководстве вы будете использовать Arduino IDE, но Arduino также предоставляет веб-редактор, который позволит вам программировать платы Arduino с помощью браузера.
Теперь, когда вы установили Arduino IDE и собрали все необходимые компоненты, вы готовы начать работу с Arduino! Затем вы загрузите «Hello, World!» программу к вашей доске.
«Привет, мир!» С Ардуино
Arduino IDE поставляется с несколькими примерами скетчей вы можете использовать для изучения основ Arduino. Эскиз — это термин, который вы используете для программы, которую вы можете загрузить на доску. Поскольку у Arduino Uno нет подключенного дисплея, вам понадобится способ увидеть физический вывод вашей программы. Вы будете использовать пример скетча Blink , чтобы заставить мигать встроенный светодиод на плате Arduino.
Загрузка эскиза примера Blink
Для начала подключите плату Arduino к компьютеру с помощью USB-кабеля и запустите среду разработки Arduino IDE. Чтобы открыть пример скетча Blink, откройте File меню и выберите Examples , затем 01.Basics и, наконец, Blink :
Код примера Blink будет загружен в новое окно IDE. Но прежде чем вы сможете загрузить скетч на плату, вам необходимо настроить IDE, выбрав плату и подключенный к ней порт.
Чтобы настроить плату, откройте меню Tools , а затем Board . Для Arduino Uno следует выбрать Arduino/Genuino Uno : 9.0003
После выбора платы необходимо установить соответствующий порт. Снова откройте меню Tools и на этот раз выберите Port :
. Имена портов могут отличаться в зависимости от вашей операционной системы. В Windows порты будут называться COM4
, COM5
или что-то подобное. В macOS или Linux вы можете увидеть что-то вроде /dev/ttyACM0
или /dev/ttyUSB0
. Если у вас возникли проблемы с настройкой порта, загляните на страницу устранения неполадок Arduino.
После того, как вы настроили плату и порт, все готово для загрузки скетча в Arduino. Для этого вам просто нужно нажать кнопку Upload на панели инструментов IDE:
Когда вы нажимаете Upload , IDE компилирует скетч и загружает его на вашу плату. Если вы хотите проверить наличие ошибок, то вы можете нажать Verify до Upload , что только скомпилирует ваш скетч.
USB-кабель обеспечивает последовательное соединение как для загрузки программы, так и для питания платы Arduino. Во время загрузки вы увидите мигающие светодиоды на плате. Через несколько секунд загруженная программа запустится, и вы увидите, как светодиодный индикатор мигает каждую секунду:
После завершения загрузки USB-кабель будет по-прежнему питать плату Arduino. Программа хранится во флэш-памяти микроконтроллера Arduino. Вы также можете использовать аккумулятор или другой внешний источник питания для запуска приложения без USB-кабеля.
Удалить рекламу
Подключение внешних компонентов
В предыдущем разделе вы использовали светодиод, который уже был на плате Arduino. Однако в большинстве практических проектов вам потребуется подключать внешние компоненты к плате. Для выполнения этих соединений Arduino имеет несколько контакты разных типов:
Хотя эти соединения обычно называют контактами , вы можете видеть, что они не совсем физические контакты. Скорее штырьки — это отверстия в розетке, к которым можно подключить перемычки. На рисунке выше вы можете видеть разные группы контактов:
- Оранжевый прямоугольник: Это 13 цифровых контактов , которые можно использовать как входы или выходы. Они предназначены только для работы с цифровыми сигналами, которые имеют 2 разных уровня:
- Уровень 0: представлен напряжением 0 В
- Уровень 1: представлено напряжением 5 В
- Зеленый прямоугольник: Это 6 аналоговых контактов , которые можно использовать как аналоговые входы. Они предназначены для работы с произвольным напряжением от 0 до 5 В.
- Синий прямоугольник: Это 5 контактов питания . В основном они используются для питания внешних компонентов.
Чтобы приступить к работе с внешними компонентами, вы подключите внешний светодиод для запуска примерного скетча Blink. Встроенный светодиод подключен к цифровой контакт № 13 . Итак, давайте подключим внешний светодиод к этому контакту и проверим, мигает ли он. (Стандартный светодиод — это один из компонентов, перечисленных ранее.)
Прежде чем что-либо подключать к плате Arduino, рекомендуется отключить ее от компьютера. Отключив USB-кабель, вы сможете подключить светодиод к плате:
.Обратите внимание, что на рисунке показана плата с цифровыми контактами, обращенными к вам.
Использование макетной платы
Проекты электронных схем обычно включают проверку нескольких идей, когда вы добавляете новые компоненты и вносите коррективы по ходу дела. Однако соединить компоненты напрямую может быть сложно, особенно если схема большая.
Для облегчения прототипирования можно использовать макетную плату для соединения компонентов. Это устройство с несколькими отверстиями, соединенными особым образом, чтобы можно было легко соединить компоненты с помощью перемычек:
По цветным линиям видно, какие отверстия соединены между собой. Вы будете использовать отверстия по бокам макетной платы для питания схемы:
- Подсоедините одно отверстие на красной линии к источнику питания.
- Соедините одно отверстие синей линии с землей.
Затем вы можете легко подключить компоненты к источнику питания или земле, просто используя другие отверстия на красной и синей линиях. Отверстия в середине макета соединены, как показано цветами. Вы будете использовать их для создания соединений между компонентами схемы. Эти две внутренние секции разделены небольшим углублением, поверх которого можно подключать интегральные схемы (ИС).
Вы можете использовать макетную плату для сборки схемы, используемой в примере скетча Blink:
Для этой схемы важно отметить, что светодиод должен быть подключен в соответствии с его полярностью, иначе он не будет работать. Положительный вывод светодиода называется анодом и обычно является более длинным. Отрицательная клемма называется катодом и короче. Если вы используете восстановленный компонент, вы также можете идентифицировать клеммы, глядя на плоскую сторону самого светодиода. Это укажет положение отрицательной клеммы.
Когда вы подключаете светодиод к контакту Arduino, вам всегда понадобится резистор, чтобы ограничить его ток и избежать преждевременного перегорания светодиода. Здесь для этого используется резистор на 470 Ом. Вы можете проследить соединения и убедиться, что схема такая же:
- Резистор подключен к цифровому выводу 13 на плате Arduino.
- Анод светодиода подключен к другому выводу резистора.
- Катод светодиода подключается к земле (GND) через синюю линию отверстий.
Для получения более подробной информации ознакомьтесь с разделом «Как пользоваться макетной доской».
После завершения подключения снова подключите Arduino к ПК и повторно запустите скетч Blink:
Поскольку оба светодиода подключены к цифровому выводу 13, они мигают вместе во время работы скетча.
Удалить рекламу
«Привет, мир!» С Arduino и Python
В предыдущем разделе вы загрузили скетч Blink на плату Arduino. Скетчи Arduino пишутся на языке, похожем на C++, компилируются и записываются во флеш-память микроконтроллера при нажатии 9.0203 Загрузить . Хотя вы можете использовать другой язык для прямого программирования микроконтроллера Arduino, это нетривиальная задача!
Однако есть несколько подходов, которые можно использовать для использования Arduino с Python или другими языками. Одна из идей состоит в том, чтобы запустить основную программу на ПК и использовать последовательное соединение для связи с Arduino через USB-кабель. Скетч будет отвечать за чтение входных данных, отправку информации на ПК и получение обновлений от ПК для обновления выходов Arduino.
Чтобы управлять Arduino с ПК, вам нужно разработать протокол для связи между ПК и Arduino. Например, вы можете рассмотреть протокол с такими сообщениями:
.- ВЫСОКОЕ ЗНАЧЕНИЕ КОНТАКТА 13: используется для информирования ПК о состоянии цифровых входных контактов
- SET PIN 11 LOW: используется для указания Arduino установить состояния выходных контактов
Определив протокол, вы можете написать скетч Arduino для отправки сообщений на ПК и обновления состояния контактов в соответствии с протоколом. На ПК вы можете написать программу для управления Arduino через последовательное соединение на основе разработанного вами протокола. Для этого вы можете использовать любой предпочитаемый язык и библиотеки, например Python и библиотеку PySerial.
К счастью, для всего этого есть стандартные протоколы! Фирмата является одним из них. Этот протокол устанавливает формат последовательной связи, который позволяет считывать цифровые и аналоговые входы, а также отправлять информацию на цифровые и аналоговые выходы.
Arduino IDE включает в себя готовые скетчи, которые будут управлять Arduino через Python с протоколом Firmata. На стороне ПК есть реализации протокола на нескольких языках, включая Python. Чтобы начать работу с Firmata, давайте воспользуемся ею для реализации «Hello, World!» программа.
Загрузка эскиза Firmata
Прежде чем писать программу на Python для управления Arduino, необходимо загрузить скетч Firmata, чтобы можно было использовать этот протокол для управления платой. Скетч доступен во встроенных примерах Arduino IDE. Чтобы открыть его, войдите в меню File , затем Examples , затем Firmata и, наконец, StandardFirmata :
.Скетч будет загружен в новое окно IDE. Чтобы загрузить его в Arduino, вы можете выполнить те же шаги, что и раньше:
- Подключите кабель USB к ПК.
- Выберите соответствующую плату и порт в среде IDE.
- Нажмите Загрузить .
После завершения загрузки вы не заметите никакой активности на Arduino. Для управления им по-прежнему нужна программа, которая может общаться с платой через последовательное соединение. Для работы с протоколом Firmata в Python вам понадобится пакет pyFirmata, который вы можете установить с помощью pip
:
$ pip установить pyfirmata
После завершения установки вы можете запустить эквивалентное приложение Blink, используя Python и Firmata:
1импорт pyfirmata 2время импорта 3 4board = pyfirmata.Arduino('/dev/ttyACM0') 5 6 пока верно: 7 board.digital[13].write(1) 8 раз.спать(1) 9 board.digital[13].write(0) 10 раз.спать(1)
Вот как работает эта программа. Вы импортируете pyfirmata
и используете его для установления последовательного соединения с платой Arduino, которая представлена board
объект в строке 4. Вы также настраиваете порт в этой строке, передавая аргумент pyfirmata.Arduino()
. Вы можете использовать Arduino IDE, чтобы найти порт.
board.digital
— это список, элементы которого представляют цифровые контакты Arduino. Эти элементы имеют методы read()
и write()
, которые будут считывать и записывать состояние контактов. Как и большинство программ для встраиваемых устройств, эта программа в основном состоит из бесконечного цикла:
- В строке 7 включается цифровой пин 13 , который включает светодиод на одну секунду.
- В строке 9, этот вывод отключен, что выключает светодиод на одну секунду.
Теперь, когда вы знаете основы управления Arduino с помощью Python, давайте рассмотрим некоторые приложения для взаимодействия с его входами и выходами.
Удалить рекламу
Чтение цифровых входов
Цифровые входы могут иметь только два возможных значения. В цепи каждое из этих значений представлено различным напряжением. В таблице ниже показано представление цифровых входов для стандартной платы Arduino Uno:
Значение | Уровень | Напряжение |
---|---|---|
0 | Низкий | 0В |
1 | Высокий | 5В |
Для управления светодиодом вы будете использовать кнопку для отправки цифровых входных значений в Arduino. Кнопка должна посылать на плату 0 В, когда она отпущена, и 5 В, когда она нажата. На рисунке ниже показано, как подключить кнопку к плате Arduino:
Вы можете заметить, что светодиод подключен к Arduino через цифровой контакт 13, как и раньше. Цифровой контакт 10 используется как цифровой вход. Чтобы подключить кнопку, вы должны использовать резистор 10 кОм, который действует в этой схеме как понижающий резистор. Подтягивающий резистор обеспечивает подачу на цифровой вход 0 В при отпускании кнопки.
Когда вы отпускаете кнопку, вы размыкаете соединение между двумя проводами на кнопке. Поскольку через резистор не протекает ток, контакт 10 просто подключается к земле (GND). На цифровой вход подается 0 В, что соответствует 0 (или младший ) состояние. Когда вы нажимаете кнопку, вы подаете 5 В как на резистор, так и на цифровой вход. Через резистор протекает ток, и на цифровой вход подается напряжение 5 В, что соответствует состоянию 1 (или высокий ).
Вы также можете использовать макетную плату для сборки вышеуказанной схемы:
Теперь, когда вы собрали схему, вам нужно запустить программу на ПК, чтобы управлять ею с помощью Firmata. Эта программа включит светодиод в зависимости от состояния кнопки:
1импорт pyfirmata 2время импорта 3 4board = pyfirmata.Arduino('/dev/ttyACM0') 5 6it = pyfirmata.util.Iterator(board) 7it.start() 8 9board.digital[10].mode = pyfirmata.INPUT 10 11 пока верно: 12 sw = board.digital[10].read() 13, если sw истинно: 14 board.digital[13].write(1) 15 еще: 16 board.digital[13].write(0) 17 раз.сон (0,1)
Давайте пройдемся по этой программе:
- Строки 1 и 2 импорт
pyfirmata
ивремя
. - Строка 4 использует
pyfirmata.Arduino()
для установки соединения с платой Arduino. - Строка 6 назначает итератор, который будет использоваться для чтения состояния входов схемы.
- Строка 7 запускает итератор, который поддерживает выполнение цикла параллельно с вашим основным кодом. Цикл выполняет
board.iterate()
для обновления входных значений, полученных с платы Arduino. - Строка 9 устанавливает контакт 10 как цифровой вход с
pyfirmata.INPUT
. Это необходимо, поскольку в конфигурации по умолчанию в качестве выходов используются цифровые контакты. - Строка 11 запускает бесконечный цикл
while
. Этот цикл считывает состояние входного вывода, сохраняет его вsw
и использует это значение для включения или выключения светодиода путем изменения значения вывода 13. - Строка 17 ожидает 0,1 секунды между итерациями цикла
while
. Это не обязательно, но это хороший способ избежать перегрузки ЦП, который достигает 100% загрузки, когда в цикле нет команды ожидания.
pyfirmata
также предлагает более компактный синтаксис для работы с входными и выходными контактами. Это может быть хорошим вариантом, когда вы работаете с несколькими контактами. Вы можете переписать предыдущую программу, чтобы иметь более компактный синтаксис:
1импорт pyfirmata 2время импорта 3 4board = pyfirmata.Arduino('/dev/ttyACM0') 5 6it = pyfirmata.util.Iterator(board) 7it.start() 8 9digital_input = board.get_pin('d:10:i') 10led = board.get_pin('d:13:o') 11 12 пока верно: 13 sw = digital_input.read() 14, если sw истинно: 15 светодиодов.Написать(1) 16 еще: 17 светодиодов.Написать(0) 18 раз.сон (0,1)
В этой версии вы используете board.get_pin()
для создания двух объектов. digital_input
представляет состояние цифрового входа, а led
представляет состояние светодиода. Когда вы запускаете этот метод, вы должны передать строковый аргумент, состоящий из трех элементов, разделенных двоеточиями:
- Тип контакта (
a
для аналогового илиd
для цифрового) - Номер штифта
- Режим контакта (
и
для входа илиили
для выхода)
Поскольку digital_input
является цифровым входом, использующим контакт 10, вы передаете аргумент 'd:10:i'
. Состояние светодиода устанавливается на цифровой выход с помощью контакта 13, поэтому аргумент led
равен 'd:13:o'
.
Когда вы используете board.get_pin()
, нет необходимости явно настраивать контакт 10 в качестве входа, как вы делали раньше с pyfirmata.INPUT
. После того, как контакты установлены, вы можете получить доступ к состоянию вывода цифрового входа, используя read()
и установите статус вывода цифрового вывода с помощью write()
.
Цифровые входы широко используются в электронных проектах. Некоторые датчики подают цифровые сигналы, такие как датчики присутствия или дверные датчики, которые можно использовать в качестве входных данных для ваших цепей. Однако в некоторых случаях вам необходимо измерить аналоговые значения, такие как расстояние или физические величины. В следующем разделе вы увидите, как считывать аналоговые входы с помощью Arduino и Python.
Удалить рекламу
Чтение аналоговых входов
В отличие от цифровых входов, которые могут быть только включены или выключены, аналоговые входы используются для считывания значений в некотором диапазоне. На Arduino Uno напряжение на аналоговом входе колеблется от 0 до 5 В. Соответствующие датчики используются для измерения физических величин, таких как расстояния. Эти датчики отвечают за кодирование этих физических величин в правильном диапазоне напряжений, чтобы Arduino мог их прочитать.
Для считывания аналогового напряжения Arduino использует аналого-цифровой преобразователь (АЦП) , который преобразует входное напряжение в цифровое число с фиксированным числом разрядов. Это определяет разрешение преобразования. Arduino Uno использует 10-битный АЦП и может определять 1024 различных уровня напряжения.
Диапазон напряжения для аналогового входа кодируется числами от 0 до 1023. Когда подается 0 В, Arduino кодирует его в число 0 . При подаче 5 В кодируется число 1023 . Все промежуточные значения напряжения кодируются пропорционально.
Потенциометр — это переменный резистор, который можно использовать для установки напряжения, подаваемого на аналоговый вход Arduino. Вы подключите его к аналоговому входу для управления частотой мигания светодиода:
В этой схеме светодиод настроен так же, как и раньше. Концевые клеммы потенциометра подключены к заземлению (GND) и контактам 5V. Таким образом, центральный терминал (курсор) может иметь любое напряжение в диапазоне от 0 до 5 В в зависимости от его положения, которое подключено к Arduino через аналоговый контакт A0.
Используя макетную плату, вы можете собрать эту схему следующим образом:
Прежде чем управлять светодиодом, вы можете использовать схему для проверки различных значений, считываемых Arduino, в зависимости от положения потенциометра. Для этого запустите на своем ПК следующую программу:
1импорт pyfirmata 2время импорта 3 4board = pyfirmata.Arduino('/dev/ttyACM0') 5it = pyfirmata.util.Iterator(board) 6it.start() 7 8analog_input = board.get_pin('a:0:i') 9 10 пока верно: 11 аналоговое_значение = аналоговый_ввод.чтение() 12 печать (аналоговое_значение) 13 раз. сон(0,1)
В строке 8 вы устанавливаете Analog_input
в качестве аналогового входа A0 с аргументом 'a:0:i'
. Внутри бесконечного цикла while
вы читаете это значение, сохраняете его в Analog_value
и отображаете вывод на консоль с помощью print()
. Когда вы перемещаете потенциометр во время работы программы, вы должны вывести что-то вроде этого:
0,0 0,0293 0,1056 0,1838 0,2717 0,3705 0,4428 0,5064 0,5797 0,6315 0,6764 0,7243 0,7859 0,8446 0,9042 0,9677 1,0 1,0
Напечатанные значения изменяются в диапазоне от 0, когда потенциометр находится на одном конце, до 1, когда он находится на другом конце. Обратите внимание, что это значения с плавающей запятой, которые могут потребовать преобразования в зависимости от приложения.
Чтобы изменить частоту мигания светодиода, вы можете использовать аналоговое_значение
для управления тем, как долго светодиод будет гореть или выключаться:
1импорт pyfirmata 2время импорта 3 4board = pyfirmata. Arduino('/dev/ttyACM0') 5it = pyfirmata.util.Iterator(board) 6it.start() 7 8analog_input = board.get_pin('a:0:i') 9светодиод = board.get_pin('d:13:o') 10 11 пока верно: 12 аналоговое_значение = аналоговый_ввод.чтение() 13, если Analog_value не None: 14 задержка = аналоговое_значение + 0,01 15 светодиодов.Написать(1) 16 раз. сон (задержка) 17 светодиодов.Написать(0) 18 раз. сон (задержка) 19 еще: 20 раз.сон (0,1)
Здесь вы вычисляете задержку
как аналоговое_значение + 0,01
, чтобы задержка
не равнялась нулю. В противном случае обычно получается Analog_Value
из Нет
во время первых нескольких итераций. Чтобы избежать ошибки при запуске программы, вы используете условие в строке 13, чтобы проверить, является ли Analog_Value
None
. Затем вы управляете периодом мигания светодиода.
Попробуйте запустить программу и изменить положение потенциометра. Вы заметите, что частота мигания светодиода меняется:
К этому моменту вы уже знаете, как использовать цифровые входы, цифровые выходы и аналоговые входы в своих схемах. В следующем разделе вы увидите, как использовать аналоговые выходы.
Удаление рекламы
Использование аналоговых выходов
В некоторых случаях необходимо иметь аналоговый выход для управления устройством, которому требуется аналоговый сигнал. Arduino не имеет реального аналогового выхода, на котором напряжение может быть установлено на любое значение в определенном диапазоне. Тем не менее, Arduino включает в себя несколько выходов с широтно-импульсной модуляцией (ШИМ).
PWM — это метод модуляции, в котором цифровой выход используется для генерации сигнала с переменной мощностью. Для этого он использует цифровой сигнал постоянной частоты, в котором 9Рабочий цикл 0029 изменяется в соответствии с желаемой мощностью. Рабочий цикл представляет часть периода, в течение которого сигнал устанавливается на максимум .
Не все цифровые выводы Arduino можно использовать в качестве выходов ШИМ. Те, которые могут быть обозначены тильдой ( ~
):
Некоторые устройства предназначены для управления сигналами ШИМ, в том числе некоторые двигатели. Можно даже получить настоящий аналоговый сигнал из ШИМ-сигнала, если использовать аналоговые фильтры. В предыдущем примере вы использовали цифровой выход для включения или выключения светодиода. В этом разделе вы будете использовать ШИМ для управления яркостью светодиода в соответствии со значением аналогового входа, заданным потенциометром.
Когда на светодиод подается ШИМ-сигнал, его яркость изменяется в зависимости от рабочего цикла ШИМ-сигнала. Вы собираетесь использовать следующую схему:
Эта схема идентична той, что использовалась в предыдущем разделе для проверки аналогового входа, за исключением одного отличия. Поскольку невозможно использовать ШИМ с контактом 13, цифровой выходной контакт, используемый для светодиода, — это контакт 11.
Вы можете использовать макетную плату для сборки схемы следующим образом:
С собранной схемой можно управлять светодиодом с помощью ШИМ с помощью следующей программы:
1импорт pyfirmata 2время импорта 3 4board = pyfirmata. Arduino('/dev/ttyACM0') 5 6it = pyfirmata.util.Iterator(board) 7it.start() 8 9analog_input = board.get_pin('a:0:i') 10led = board.get_pin('d:11:p') 11 12 пока верно: 13 аналоговое_значение = аналоговый_ввод.чтение() 14, если Analog_value не None: 15 led.write(аналоговое_значение) 16 время сна (0,1)
Есть несколько отличий от программ, которые вы использовали ранее:
- В строке 10 вы ставите
привел
в режим ШИМ, передав аргумент'd:11:p'
. - В строке 15 вы вызываете
led.write()
сAnalog_Value
в качестве аргумента. Это значение от 0 до 1, считываемое с аналогового входа.
Здесь вы можете увидеть поведение светодиода при перемещении потенциометра:
Чтобы показать изменения в рабочем цикле, осциллограф подключен к контакту 11. Когда потенциометр находится в нулевом положении, вы можете видеть, что светодиод выключен, так как на контакте 11 на выходе 0 В. Когда вы поворачиваете потенциометр, светодиод становится ярче по мере увеличения рабочего цикла ШИМ. Когда вы поворачиваете потенциометр до упора, рабочий цикл достигает 100%. Светодиод горит постоянно с максимальной яркостью.
В этом примере вы рассмотрели основы использования Arduino и его цифровых и аналоговых входов и выходов. В следующем разделе вы увидите приложение для использования Arduino с Python для управления событиями на ПК.
Использование датчика для запуска уведомления
Firmata — хороший способ начать работу с Arduino с Python, но потребность в ПК или другом устройстве для запуска приложения может быть дорогостоящей, и в некоторых случаях этот подход может оказаться непрактичным. Однако, когда необходимо собрать данные и отправить их на ПК с помощью внешних датчиков, Arduino и Firmata составляют хорошую комбинацию.
В этом разделе вы будете использовать кнопку, подключенную к вашему Arduino, чтобы имитировать цифровой датчик и вызвать уведомление на вашем компьютере. Для более практического применения вы можете думать о кнопке как о датчике двери, который, например, активирует уведомление о тревоге.
Чтобы отобразить уведомление на ПК, вы собираетесь использовать Tkinter, стандартный набор инструментов Python GUI. Это покажет окно сообщения, когда вы нажмете кнопку. Подробное знакомство с Tkinter см. в статье Python GUI Programming With Tkinter.
Вам нужно будет собрать ту же схему, что и в примере с цифровым входом:
После сборки схемы используйте следующую программу для запуска уведомлений:
1импорт pyfirmata 2время импорта 3импорт ткинтер 4из окна сообщений импорта tkinter 5 6root = tkinter.Tk() 7root.вывести() 8 9board = pyfirmata.Arduino('/dev/ttyACM0') 10 11it = pyfirmata.util.Iterator(board) 12it.start() 13 14digital_input = board.get_pin('d:10:i') 15led = board.get_pin('d:13:o') 16 17 пока верно: 18 sw = digital_input.read() 19если sw истинно: 20 светодиодов.Написать(1) 21 messagebox.showinfo("Уведомление", "Кнопка нажата") 22 корень. обновление() 23 светодиода.написать(0) 24 время сна (0,1)
Эта программа аналогична той, что использовалась в примере с цифровым входом, с некоторыми изменениями:
- Строки 3 и 4 импортируют библиотеки, необходимые для настройки Tkinter.
- Строка 6 создает главное окно Tkinter.
- Строка 7 указывает Tkinter не показывать главное окно на экране. В этом примере вам нужно только увидеть окно сообщения.
- Строка 17 запускает цикл
, а
:- При нажатии кнопки загорается светодиод и
messagebox.showinfo()
отображает окно сообщения. - Цикл приостанавливается до тех пор, пока пользователь не нажмет OK . Таким образом, светодиод остается включенным, пока сообщение отображается на экране.
- После того, как пользователь нажмет OK ,
root.update()
убирает окно сообщения с экрана и светодиод выключается.
- При нажатии кнопки загорается светодиод и
Чтобы расширить пример уведомления, вы можете даже использовать кнопку для отправки электронного письма при нажатии:
1импорт pyfirmata 2время импорта 3импорт smtplib 4импорт ssl 5 6def send_email(): 7 порт = 465 # Для SSL 8 smtp_server = "smtp.gmail.com" 9 sender_email = "<ваш адрес электронной почты>" 10 Receiver_email = "<адрес электронной почты назначения>" 11 пароль = "<пароль>" 12 message = """Тема: Уведомление Arduino\n Переключатель был включен.""" 13 14 контекст = ssl.create_default_context() 15 с smtplib.SMTP_SSL(smtp_server, port, context=context) в качестве сервера: 16 print("Отправка электронной почты") 17 server.login(адрес_отправителя, пароль) 18 server.sendmail(электронная_почта_отправителя, электронная почта_получателя, сообщение) 1920board = pyfirmata.Arduino('/dev/ttyACM0') 21 22it = pyfirmata.util.Iterator(board) 23it.start() 24 25digital_input = board.get_pin('d:10:i') 26 27 пока верно: 28 sw = digital_input.read() 29, если sw истинно: 30 send_email() 31 время сна (0,1)
Вы можете узнать больше о send_email()
в разделе Отправка электронных писем с помощью Python. Здесь вы настраиваете функцию с учетными данными сервера электронной почты, которые будут использоваться для отправки электронной почты.
Примечание: Если вы используете учетную запись Gmail для отправки электронных писем, вам необходимо включить Разрешить менее безопасные приложения вариант. Дополнительные сведения о том, как это сделать, см. в разделе «Отправка электронных писем с помощью Python».
В этих примерах приложений вы увидели, как использовать Firmata для взаимодействия с более сложными приложениями Python. Firmata позволяет использовать любой датчик, подключенный к Arduino, для получения данных для вашего приложения. Затем вы можете обрабатывать данные и принимать решения в основном приложении. Вы даже можете использовать Firmata для отправки данных на выходы Arduino, управления переключателями или устройствами PWM.
Если вы заинтересованы в использовании Firmata для взаимодействия с более сложными приложениями, попробуйте некоторые из этих проектов:
- Температурный монитор, который предупреждает вас, когда температура становится слишком высокой или низкой
- Аналоговый датчик освещенности, определяющий перегорание лампочки
- Датчик воды, который может автоматически включать разбрызгиватели, когда земля слишком сухая
Удалить рекламу
Заключение
Платформы микроконтроллеров находятся на подъеме благодаря растущей популярности Движения производителей и Интернета вещей. Платформы вроде 9Платформе 0029 Arduino уделяется особое внимание, поскольку она позволяет таким же разработчикам, как и вы, использовать свои навыки и погружаться в электронные проекты.
Вы научились:
- Разработка приложений с помощью Arduino и Python
- Использовать протокол Firmata
- Управление аналоговыми и цифровыми входами и выходами
- Интеграция датчиков с приложениями Python более высокого уровня
Вы также видели, что Firmata может быть очень интересной альтернативой для проектов, требующих ПК и зависящих от данных датчиков. Кроме того, это простой способ начать работу с Arduino, если вы уже знаете Python!
Дополнительное чтение
Теперь, когда вы знаете основы управления Arduino с помощью Python, вы можете приступить к работе над более сложными приложениями. Существует несколько учебных пособий, которые могут помочь вам в разработке интегрированных проектов. Вот несколько идей:
REST API: Они широко используются для интеграции различных приложений. Вы можете использовать REST с Arduino для создания API, которые получают информацию от датчиков и отправляют команды на приводы. Чтобы узнать об API REST, ознакомьтесь с API REST Python с Flask, Connexion и SQLAlchemy.
Альтернативные графические интерфейсы: В этом руководстве вы использовали Tkinter для создания графического приложения. Однако существуют и другие графические библиотеки для настольных приложений. Чтобы увидеть альтернативу, ознакомьтесь с Как создать приложение с графическим интерфейсом Python с помощью wxPython.
Threading: Бесконечный цикл
while
, который вы использовали в этом руководстве, является очень распространенной функцией приложений Arduino. Однако использование потока для запуска основного цикла позволит вам одновременно выполнять другие задачи. Чтобы узнать, как использовать потоки, ознакомьтесь с An Intro to Threading in Python.Обнаружение лиц: Приложения IoT часто интегрируют алгоритмы машинного обучения и компьютерного зрения. С их помощью вы можете создать сигнал тревоги, который запускает уведомление, например, при обнаружении лиц на камере. Чтобы узнать больше о системах распознавания лиц, ознакомьтесь со статьей Традиционное распознавание лиц с помощью Python.
Наконец, есть и другие способы использования Python в микроконтроллерах помимо Firmata и Arduino:
pySerial: Arduino Uno не может запускать Python напрямую, но вы можете создать свой собственный эскиз Arduino и использовать pySerial для установления последовательного соединения. Затем вы можете управлять Arduino с помощью Python, используя свой собственный протокол.
MicroPython: Если вы заинтересованы в запуске Python непосредственно на микроконтроллере, ознакомьтесь с проектом MicroPython. Он обеспечивает эффективную реализацию Python для выполнения на некоторых микроконтроллерах, таких как ESP8266 и ESP32.
SBC: Другим вариантом является использование одноплатного компьютера (SBC), такого как Raspberry Pi, для запуска Python. SBC — это полные компьютеры размером с Arduino, которые могут работать под управлением операционной системы на базе Linux, позволяя вам использовать ванильный Python. Поскольку большинство SBC имеют входные и выходные контакты общего назначения, вы можете использовать его для замены Arduino в большинстве приложений.
Смотреть сейчас Это руководство содержит соответствующий видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Arduino с Python: с чего начать
Язык программирования Arduino — Botland
Сообщений:
- 1 Что такое Arduino?
- 2 Какой язык программирования Arduino?
- 3 Основное сходство с C
- 4 Arduino представляет собой упрощенный язык C
Время чтения: 3 мин.
Что такое Ардуино?
Arduino — одна из ведущих макетных плат, очень часто используемая для решения широкого круга задач практически во всем мире. Создан для популяризации технических наук и облегчения доступа молодых программистов, электронщиков и робототехников к нужному оборудованию. Несмотря на небольшой размер, платы предлагают относительно большие возможности . Например, на их основе часто строятся целые системы умного здания.
Ключевым элементом, содержащимся в Arduino, является программируемый микропроцессор , а вокруг него расположены коммуникационные интерфейсы (например, USB-разъем), кварцевый резонатор, пассивные элементы, такие как резисторы и конденсаторы, и, что наиболее важно, ряд GPIO (ввод/вывод общего назначения). выход) контакты.
С их помощью можно, например, легко подключить светодиоды и аналоговый датчик температуры – соответствующие светодиоды могут включаться в зависимости от полученных данных от термометра, по схеме команд, поступающих от микропроцессора. Для работы такой системы необходимо правильно запрограммировать микропроцессор . Для этого стоит использовать специальную среду программирования, а именно Arduino IDE.
ЧЕК В МАГАЗИНЕ
Неоспоримым преимуществом такого устройства является простота использования и практически немедленная возможность его программирования. Просто подключите устройство через USB к компьютеру с установленным ПО, выберите модель подключаемого миникомпьютера и можно уже программировать устройство.
Какой язык программирования Arduino?
Язык, предназначенный для Arduino, можно просто назвать производным от языка C . На практике это язык C с небольшими изменениями, которые должны облегчить начало обучения людям, не связанным с электроникой. Язык Arduino во многом основан на использовании библиотек, предназначенных для платы. Это облегчает работу как программисту, так и будущему редактору кода, благодаря удобочитаемости.
Основные сходства с C
Даже если вы уже знакомы с языком C, может быть полезно заметить основные принципы и сходства в языке Arduino. «;» символ или точка с запятой — это информация для компилятора о выполненной отдельной инструкции. Использование фигурных скобок «{» и «}» позволяет ограничить начало и конец тела функции, условного оператора или цикла. С помощью таких инструментов, как комментарии, которые не влияют напрямую на код, вы можете легко сделать код более понятным для любого человека, который его читает (включая вас в будущем). Очень часто бывает достаточно комментировать инструкцию одним-двумя словами, чтобы сделать код более понятным. Однако нет ничего плохого в том, чтобы оставлять более длинные заметки в коде. Однострочный комментарий начинается с «//» — до конца строки можно написать комментарий, который будет отмечен более низкой контрастностью Arduino IDE и пропущен компилятором. Если вам нужно написать более длинный оператор с любым количеством строк, вы можете использовать начальную скобку «/*» и конечную скобку «*/» (после любого количества строк).
Основное различие между языком Arduino и обычным C заключается просто в специфических библиотеках . Вы можете легко реализовать это, используя команду «#include» в начале вашей программы. Для лучшей читабельности программы и более простого и быстрого написания программного обеспечения можно использовать постоянные элементы инструкций, которые просто нужно вызывать в нужный момент. Вы можете определить их сами в самой программе или они могут быть, например, частью определенной библиотеки. Речь, конечно же, о так называемых «функциях». Это инструмент, наличие, тип и все детали которого определяются в начале программы. Каждый тип функции, кроме «void», возвращает некоторое значение. Команда «return» возвращает в любой точке функции указанное после нее значение. Пример обозначения функции:
Это означает, что значение 2 будет добавлено к переменной «значение», реализованной ранее. Конечно, можно было бы описать еще много примеров и проблем, но это очень широкая область, и здесь мы собирались представить основы, иллюстрирующие, как все это работает.
Arduino — это упрощенный язык C
Подводя итог — при принятии решения об использовании плат Arduino, рекомендуется изучить основы языка Arduino , используя любой надежный источник.