Працюємо з 09:00 до 20:00 без вихідних.
Самовивіз - Київ біля ТЦ Квадрат бул.Перова

Arduino основы программирования

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



Первый скетч для Arduino

В языке Arduino не нужно задавать отправную точку, как в языке Си, где вы вынуждены определить основную программу. Действительно, при запуске программы, она загружает то что называется объект в объектно-ориентированном программировании ООП в память. Объекты в ООП принадлежат классам. Для каждого объекта того же класса состояние определяется в виде набора атрибутов или элементов, которые можно рассматривать как переменные, представлены как набор данных различных типов в памяти. Состояние объекта может управляться методами: набор состояний, предназначенных для выполнения заданной операции по изменению или обеспечению состояния объекта. Если вы не знакомы с ООП, вы можете разъяснить для себя, что состояние это набор переменных и методы, это набор функций.

Скетч Arduino состоит из самостоятельного файла, в котором, в отличие от C-языка, Вы должны определить по крайней мере, две секции: первая называется setup(), а вторая loop(). Переменные доступные из обеих секций программы должны быть объявлены за их пределами, как глобальные переменные.

Как только программа запустится, выполнятся операнды, собранные в блоке setup(): они предназначены для инициализации значений переменных в начале запуска, а также для настройки портов периферии Arduino. После окончания обработки setup() Arduino начинает циклическое выполнение инструкций в блоке loop(). После выполнения всех операндов, цикл повторяется вновь и вновь.

void setup () {

 ...

 }


void loop () {

 ...

 }

Оба блока setup() и loop() задекларированы как блоки void, то есть они ничего не возвращают. Вы можете использовать стандартные директивы препроцессора, такие как #define, #ifdef, #ifndef, #endif, и т.д. В частности, мы настоятельно рекомендуем Вам определять константы как символы препроцессора (не как переменные, так как они едят SRAM память).


Ввод-вывод данных с Arduino.

У контроллера Arduino нет портов для подключения к монитору или клавиатуре: да они и не обязательны на таких типах устройств. Контакты ввода / вывода предназначены для обеспечения обмена данными и сигналами ввода / вывода с внешним миром. Однако это не самодостаточные порты, к которым мы привыкли, работая с компьютерами, а отдельные сигнальные выводы. А в тех случаях, когда необходимо отобразить какие-либо значения внутренних данных  (например во время отладки) вы можете подключить плату контроллера к компьютеру с помощью кабеля USB. Сообщения ,принятые от контроллера, отображаются в специальном окне под названием serial monitor. Такой интерфейс не подходит для сложных задач, и имеет очень простой интерфейс. Вы можете открыть serial monitor, выбрав соответствующий пункт в главном меню IDE. При запуске serial monitor может вести себя странно, показывая (видимо) случайные символы. Это те символы, которые остались в буфере COM-порта после предыдущих передач данных. Это простой обмен текстовыми сообщениями и нет возможности что-то сохранить в файл.

Если нужно послать текстовое сообщение в окно serial monitor с контроллера, вы можете использовать функцию Serial.print(), имеющую следующий синтаксис:

Serial . print (< сообщение>}; 

где <сообщение> это константа. Например

int i = 67;

Serial . print (" the value of i is ");

Serial . print (i);

Serial . print ("\n");

в окне serial monitor выведет текст "the value of i is 67". Первое обращение к функции Serial.print  содержит текстовую константу как параметр. Второе содержит целочисленную переменную, значение которой считывается из памяти. Последнее же добавляет символ переноса строки Serial.print("\n"). Вы так же можете выводить текстовые сообщения, сразу содержащие символ переноса строки, при помощи функции Serial.println, которая автоматически добавляет символ переноса строки вконце текста:

int i = 67;

Serial . print (" the value of i is ");

Serial . println (i);

Для того, чтобы изменить скорость последовательной связи, необходимо настроить параметры связи перед началом использования канала. Для этого используется функция Serial.begin (9600), в которой 9600 - скорость передачи в бодах (это единица скорости в области телекоммуникаций). Эту скорость можно изменять в пределах, регламентированных документацией на сайте Arduino, в зависимости от ваших нужд. Обычно скорость 9600 нормально подходит для обмена с современным компьютером.

Операнд Serial.read() возвращает первый байт, доступный в буфере ввода. Его использование несколько сложнее чем write. 


Отображение данных

Несмотря на то, что у Arduino нет монитора, вы можете подключить к нему некоторые дисплеи имеющиеся в продаже отдельно. Есть несколько вариантов для этого: либо вы используете ЖК-дисплей, либо TFT монитор. Простые ЖК-дисплеи могут отображать до четырех строк текста или даже больше, в то время как с TFT экраном можно просмотреть данные с высоким разрешением (обычно 160 × 128 пикселей и 240 × 320 пикселей). Они существуют как в черно-белом так и в цветном вариантах, у некоторых моделей есть даже сенсорное управление.


Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Трансформатор тока 0-100А

Трансформатор тока 0-100А

Аналоговый датчик переменного тока силой до 100А. Это раскрывающийся трансформатор тока с диаметром ..

175.39грн.

Универсальная монтажная плата на 830 отверстий

Универсальная монтажная плата на 830 отверстий

Макетная плата на 830 отверстий для макетирования любительских схемотехнических проектов. Имеет 4 ли..

79.75грн.

Уроки Arduino для новичков 1.1.3 Прямое программирование микроконтроллера ICSP

Уроки Arduino для новичков 1.1.3 Прямое программирование микроконтроллера ICSP

На этот раз мы поговорим о том, как программировать Arduino, не обычным способом, не через пр..

Управление servo-мотором через COM-порт Arduino

Управление servo-мотором через COM-порт Arduino

Опишем программу управления серво-мотором командами с COM-порта на примере контроллера Arduino Leona..

Кабель питания Orange PI

Кабель питания Orange PI

USB кабель питания для мини-компьютера Orange PIДлина кабеля 92 см...

40.94грн.

Теги Arduino основы программирования