Первые шаги с Arduino Пристальный взгляд на монтажную плату и структуру программы

  • Peter Holmes
  • 0
  • 876
  • 257
Реклама

В прошлый раз я оставил вас при настройке Начало работы с вашим Arduino Starter Kit - Установка драйверов и настройка платы и порта Начало работы с вашим Arduino Starter Kit - Установка драйверов и настройка платы и порта Итак, вы купили себе Стартовый комплект Arduino и, возможно, некоторые другие интересные компоненты - ну и что теперь? Как вы на самом деле начинаете программировать эту штуку Arduino? Как настроить его ... ваш Arduino для работы с Mac или Windows, и загрузил простое тестовое приложение, которое мигало встроенным светодиодом. Сегодня я собираюсь объяснить код, который вы загрузили, структуру программного обеспечения Arduino и немного больше об электронных битах на самой плате..

Эта статья является частью введения в серию Arduino. Другие статьи в этой серии:

  • Что такое Arduino и что вы можете с ним сделать Что такое Arduino и что вы можете с ним сделать? Что такое Arduino и что с этим можно сделать? Arduino - замечательное небольшое электронное устройство, но если вы никогда не использовали его раньше, то, что именно они, и что вы можете сделать с ним? ?
  • Что такое стартовый набор Arduino и что в нем содержится? Что входит в стартовый комплект Arduino? [MakeUseOf Объясняет] Что входит в стартовый комплект Arduino? [MakeUseOf Объясняет] Ранее я уже представлял оборудование с открытым исходным кодом Arduino здесь, в MakeUseOf, но вам понадобится больше, чем просто Arduino, чтобы что-то из него построить и начать работу. Arduino "стартовые наборы" являются…
  • Более крутые компоненты, которые можно купить с вашим стартовым комплектом. 8 Более крутые компоненты для ваших проектов Arduino. 8 Более крутые компоненты для ваших проектов Arduino. Итак, вы подумываете о том, чтобы получить стартовый комплект Arduino, но не знаете, появятся ли какие-нибудь основные светодиоды и резисторы. достаточно, чтобы вы были заняты на выходные? Возможно нет. Вот еще 8…
  • Начало работы с вашим Arduino Starter Kit - Установка драйверов и настройка платы и порта Начало работы с вашим Arduino Starter Kit - Установка драйверов и настройка платы и порта Начало работы с вашим Arduino Starter Kit - Установка драйверов и настройка платы и Порт Итак, вы купили себе стартовый комплект Arduino и, возможно, некоторые другие случайные классные компоненты - что теперь? Как вы на самом деле начинаете программировать эту штуку Arduino? Как вы это настроили ...

Аппаратное обеспечение

Давайте внимательнее посмотрим, что имеет Arduino Uno с точки зрения бит на плате.

Вот увеличенная диаграмма для обозначения:

  • Вдоль верхней части расположены 14 цифровых входов / выходов (пронумерованы 0-13). Это самые универсальные контакты на вашем Arduino, которые могут работать как на входе, так и на выходе, и станут основой ваших проектов. Цифровой означает, что сигнал, который эти контакты могут записать или прочитать, будет включен или выключен.
  • 6 из тех цифровых выводов, которые отмечены знаком тильды ~ способны делать то, что называется широтно-импульсной модуляцией. Я не инженер-электрик, поэтому я не буду смущаться, объясняя науку, стоящую за этим, но для нас с вами это означает, что мы можем предоставить диапазон уровней выходного сигнала - например, затемнение светодиода или управление двигателем на разных скоростях..
  • Вывод 13 отличается тем, что имеет встроенный светодиод. Это только для удобства и в целях тестирования. Вы можете использовать этот встроенный светодиод, как вы это делали в примере приложения Blink, просто выводя на вывод 13 - или его можно использовать как стандартный вывод ввода / вывода.
  • Справа внизу расположены 6 аналоговых входных контактов. Они будут считывать значение аналоговых датчиков, таких как экспонометр или переменные резисторы.
  • Внизу слева рядом с выводами аналогового входа находятся выводы питания. Единственное, о чем вам действительно нужно беспокоиться - это линии заземления (GND), линии питания 3,3 В и 5 В.
  • Наконец, единственный переключатель, найденный на Arduino, - это переключатель сброса. Это перезапустит любую программу в памяти.
  • Arduino имеет установленный объем памяти, и если ваша программа становится слишком большой, компилятор выдаст вам ошибку.

Структура программы Arduino

Каждая программа Arduino состоит как минимум из двух функций (если вы не знаете, что такое функция, обязательно прочитайте мой основной учебник по программированию, часть 2 - операторы функций и управления Абсолютные основы программирования для начинающих (часть 2) Абсолютные основы программирования для начинающих (часть 2) Во второй части нашего абсолютного руководства по программированию я расскажу об основах функций, возвращаемых значениях, циклах и условных выражениях. Прежде чем заняться этим, обязательно прочитайте часть 1. , где я объяснил…, и часть 1, где мы обсуждали переменные Основы компьютерного программирования 101 - Переменные и типы данных Основы компьютерного программирования 101 - Переменные и типы данных Ранее мы познакомились и немного поговорили об объектно-ориентированном программировании и о том, где происходит его тезка. от, я думал, что пришло время пройти через абсолютные основы программирования не специфическим для языка способом. Это… прежде чем продолжить).

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

Второй цикл. Это ядро ​​каждой программы Arduino. Когда Arduino работает, после того, как функция настройки завершена, цикл будет проходить через весь код, а затем делать все снова - пока либо не будет потеряно питание, либо не будет нажата кнопка сброса. Время, необходимое для завершения одного полного цикла, зависит от кода. Вы можете написать код, который говорит “подожди 6 часов”, в этом случае цикл не будет повторяться очень часто.

Вот краткая диаграмма состояний для иллюстрации:

Изучение программы Blink

Посмотрите на программный код Blink и определите функции настройки и цикла.

Вот настройки:

void setup () // инициализируем цифровой вывод как выход. // К выводу 13 подключен светодиод на большинстве плат Arduino: pinMode (13, OUTPUT); 

Строки, которые начинаются с // это просто комментарии, чтобы объяснить код читателю, и они не загружаются в Arduino. Фактически, в этом конкретном приложении Arduino есть только одна строка кода установки. Эта строка говорит “Установите вывод 13 в режим вывода”. 13, помните, это встроенный светодиод.

Тогда есть цикл:

void loop () digitalWrite (13, HIGH); // установить светодиод на задержку (1000); // ждать второго digitalWrite (13, LOW); // установить задержку выключения светодиода (1000); // подожди секунду

Комментарии в конце каждой строки кода достаточно хорошо объясняют их функцию. ВЫСОКИЙ и НИЗКИЙ относятся к состоянию ВКЛ и ВЫКЛ цифрового выхода - в нашем случае светодиод. Вы могли бы также написать ON или OFF в коде, оба являются синонимами (также как 0 и 1). задержка говорит Arduino немного подождать, в этом случае 1000 миллисекунд (или 1 секунда).

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

Попробуйте как-то изменить базовую программу, изменив точные значения задержки на что-то большее или меньшее. Посмотрите, как мало вы можете получить его до того, как мигание больше не заметно. Определите, какое значение нужно изменить, чтобы оно оставалось дольше или дольше. Попробуйте добавить еще несколько операторов digitalWrite и delay в функцию loop, чтобы создать более сложный мигающий шаблон, такой как код Морзе для SOS. Если у вас есть зуммер, попробуйте подключить его к контактам 13 и GND (подсказка: красный провод идет к 13, черный к земле).

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




О современных технологиях, просто и доступно.
Ваш гид в мире современных технологий. Узнайте как использовать технологии и гаджеты, которые нас окружают каждый день и научитесь открывать интересные вещи в Интернете.