Содержание
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Всего примеров: 415
Содержание
Стандартные функции
Простые программы, которые демонстрируют основные команды Arduino.
Они включены в среду Arduino; чтобы открыть их, нажмите кнопку Открыть на панели инструментов и посмотрите в папке примеров.
Основы
- BareMinimum – Допустимый минимум кода для начала работы.
- Blink – Включаем и отключаем светодиод.
- DigitalReadSerial – Считывание последовательной передачи данных через цифровой контакт.
- AnalogReadSerial – Считывание последовательной передачи данных через аналоговый контакт.
- Fade – Затухание-загорание светодиода с помощью Arduino.
- ReadAnalogVoltage – Считывание напряжения, проходящего через аналоговый контакт.
Цифровой сигнал
- BlinkWithoutDelay – Моргание без команды Delay
- Button – Управление светодиодом при помощи кнопки
- Debounce – Антидребезг
- Debounce2 – Антидребезг2
- ButtonStateChange – Определение изменения состояния кнопки
- InputPullupSerial – Отслеживание состояния кнопки с помощью встроенного подтягивающего резистора
- Tone – Проигрывание мелодии с помощью функции Tone
- Pitch follower – Звук, реагирующий на изменяющуюся информацию
- Simple keyboard – Простая клавиатура при помощи функции Tone
- Tone4 – Проигрывание нот на разных динамиках с помощью функции Tone
Аналоговый сигнал
- AnalogInPotSerial – Чтение данных от потенциометра и вывод через последовательный порт
- AnalogInOutSerial – «Сырые» данные на входе, преобразованные на выходе, вывод результата на Serial Monitor
- AnalogInput – Управление миганием светодиода при помощи потенциометра.
- AnalogWriteMega – Затухание/загорание (один за одним) 12 светодиодов. Используется плата Arduino Mega.
- Calibration – Определение максимума и минимума для данных от аналогового датчика.
- Fading – Использование выходного аналогового контакта (ШИМ) для затухания/загорания светодиода.
- Smoothing – Сглаживание серии данных, считанных с входного аналогового контакта.
Связь
Эти примеры позволяют Arduino «общаться» со скетчами для Processing, запущенными на компьютере. Для более подробной информации о Processing пройдите сюда – processing.org (там же можно скачать программу).
Здесь также представлены патчи Max/MSP, связанные со скетчами Arduino. Более подробно о Max/MSP читайте на Cycling 74. О патчах для Pd, которые могут работать с этими примерами, читайте в примерах Скотта Фитцджеральда.
- ReadASCIIString – Анализ строки, состоящей из разделенных запятыми int-значений, и их последующее использование для управления RGB-светодиодом.
- ASCII Table – Демонстрирует продвинутые способы вывода данных на Serial Monitor.
- Dimmer – Изменение яркости светодиода при помощи движения мышкой.
- Graph – Отправка данных на компьютер и их графическое отображение в скетче Processing.
- Physical Pixel – Включение/выключение светодиода путем отправки данных со скетча Processing (или Max/MSP) на Arduino.
- Virtual Color Mixer – Отправка с Arduino на компьютер сразу нескольких значений, а затем их считывание при помощи скетча для Processing или Max/MSP.
- Serial Call Response – Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»).
- Serial Call Response ASCII – Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»). До передачи данные зашифровываются в ASCII.
- SerialEvent – Демонстрирует использование SerialEvent().
- Serial input (Switch (case) Statement) – Как совершать различные действия, беря за основу символы, присланные через последовательный порт.
- M >Управляющие структуры
- If Statement – Как использовать оператор «if» для создания условий, опирающихся на входные аналоговые данные, при которых светодиод будет либо включаться, либо оставаться выключенным.
- For Loop – Управление несколькими светодиодами, чтобы они мигали, как LED-полоска у автомобиля Китт из сериала «Рыцарь дорог».
- Array – Вариация примера «For Loop», но с использованием массива.
- While Loop – Использование цикла while() для калибровки датчика. Калибровка включается при нажатии на кнопку.
- Switch Case – Как совершать какие-либо действия в зависимости от значений, полученных от датчика. Эквивалент примера «If Statement», но если бы условий было не два, а четыре. Этот пример демонстрирует, как дробить диапазон данных от датчика на четыре «суб-диапазона», а затем в зависимости от полученных результатов совершать одно из четырех действий.
- Switch Case 2 – Второй пример, демонстрирующий использование оператора switch. Показывает, как совершать различные действия в зависимости от определенных символов, полученных через последовательный порт.
Датчики
- ADXL3xx – Считывание данных с акселерометра ADXL3xx.
- Knock – Определение стука при помощи пьезоэлемента.
- Memsic2125 – Считывание данных с 2-осевого акселерометра Memsic2125.
- Ping – Определение объектов при помощи ультразвукового дальномера.
Дисплей
Примеры, объясняющие основы управления дисплеем:
- LED Bar Graph – Как сделать светодиодную шкалу.
- Row Column Scanning – Как управлять матрицей светодиодов 8×8.
Строки
- StringAdditionOperator – Добавление строк друг к другу различными способами
- StringAppendOperator – Прибавление данных к строкам.
- StringCaseChanges – Смена регистра в строках.
- StringCharacters – Как задать/сосчитать значение определенного символа в строке.
- StringComparisonOperators – Алфавитное сравнение строк.
- StringConstructors – Как инициализировать строковые объекты.
- StringIndexOf – Поиск символов в строке по принципу «столько-то позиций от начала» или «столько-то позиций от конца»
- StringLength & StringLengthTrim – Как определить длину строки и обрезать ее.
- StringReplace – Замена отдельных символов в строке.
- StringStartsWithEndsWith – Как проверить, какими символами/подстроками начинается или заканчивается строка.
- StringSubstring – Поиск в строке определенных «фраз».
USB (для Leonardo, Micro и Due плат)
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
- KeyboardAndMouseControl – Демонстрирует использование библиотек Mouse и Keyboard в одной программе.
В этой статье я решал собрать полное пошаговое руководство для начинающих Arduino. Мы разберем что такое ардуино, что нужно для начала изучения, где скачать и как установить и настроить среду программирования, как устроен и как пользоваться языком программирования и многое другое, что необходимо для создания полноценных сложных устройств на базе семейства этих микроконтроллеров.
Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.
Что такое Arduino и для чего оно нужно?
Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части. Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования. Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!
С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами. Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.
проекты на Arduino
Стартовый набор Arduino
Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:
Базовый набор ардуино для начинающих: | Купить |
Большой набор для обучения и первых проектов: | Купить |
Набор дополнительных датчиков и модулей: | Купить |
Ардуино Уно самая базовая и удобная модель из линейки: | Купить |
Беспаечная макетная плата для удобного обучения и прототипирования: | Купить |
Набор проводов с удобными коннекторами: | Купить |
Комплект светодиодов: | Купить |
Комплект резисторов: | Купить |
Кнопки: | Купить |
Потенциометры: | Купить |
Среда разработки Arduino IDE
Для написания, отладки и загрузки прошивок необходимо скачать и установить Arduino IDE. Это очень простая и удобная программа. На моем сайте я уже описывал процесс загрузки, установки и настройки среды разработки. Поэтому здесь я просто оставлю ссылки на последнюю версию программы и на статью с подробной инструкцией.
Версия | Windows | Mac OS X | Linux |
1.8.2 |
Язык программирования Ардуино
Когда у вас есть на руках плата микроконтроллера и на компьютере установлена среда разработки, вы можете приступать к написанию своих первых скетчей (прошивок). Для этого необходимо ознакомиться с языком программирования.
Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Вот самые базовые из них:
- После каждой инструкции необходимо ставить знак точки с запятой (;)
- Перед объявлением функции необходимо указать тип данных, возвращаемый функцией или void если функция не возвращает значение.
- Так же необходимо указывать тип данных перед объявлением переменной.
- Комментарии обозначаются: // Строчный и /* блочный */
Подробнее о типах данных, функциях, переменных, операторах и языковых конструкциях вы можете узнать на странице по программированию Arduino. Вам не нужно заучивать и запоминать всю эту информацию. Вы всегда можете зайти в справочник и посмотреть синтаксис той или иной функции.
Все прошивки для Arduino должны содержать минимум 2 функции. Это setup() и loop().
Функция setup
Функция setup() выполняется в самом начале и только 1 раз сразу после включения или перезагрузки вашего устройства. Обычно в этой функции декларируют режимы пинов, открывают необходимые протоколы связи, устанавливают соединения с дополнительными модулями и настраивают подключенные библиотеки. Если для вашей прошивки ничего подобного делать не нужно, то функция все равно должна быть объявлена. Вот стандартный пример функции setup():
Где это я?
Arduino-проекты — это каталог интересных устройств, поделок и безделушек, сделанных на основе популярной платформы Arduino.
Вкратце: Arduino — это маленькая плата с маленьким процессором. У неё есть контакты, к которым можно подключать любые устройства: моторчики, лампочки, сенсоры, роутеры, динамики. Затем для управления всем этим, можно написать простую Arduino-программу и залить её на плату через USB. В итоге получается уникальное устройство, которое заставляет всех говорить «WOW!».
“>