Соммер у программирование микроконтроллерных плат arduino freeduino. Делаем сенсоры


Во втором издании рассмотрена русскоязычная версия Arduino IDE, добавлена информация об особенностях использования кириллических символов, а...

Читать полностью

Рассмотрено программирование микроконтроллерных плат Arduino/Genuino/Free­duino. Описана структура и функционирование микроконтроллеров, среда программирования Arduino, необходимые инструменты и комплектующие для проведения экспериментов. Подробно рассмотрены основы программирования плат Arduino: структура программы, команды, операторы и функции, аналоговый и цифровой ввод/вывод данных. Изложение материала сопровождается более 80 примерами по разработке различных устройств: реле температуры, школьных часов, цифрового вольтметра, сигнализации с датчиком перемещения, выключателя уличного освещения и др. Для каждого проекта приведен перечень необходимых компонентов, монтажная схема и листинги программ. На сайте издательства находятся исходные коды примеров из книги, технические описания, справочные данные, среда разработки, утилиты и драйверы.
Во втором издании рассмотрена русскоязычная версия Arduino IDE, добавлена информация об особенностях использования кириллических символов, а также исправлены опечатки в программном коде.
В книге рассмотрены:
- Общие сведения о микроконтроллерах
- Программирование микроконтроллера на платах Arduino/Genuino/Freeduino/
- Разработка и тестирование собственных приложений
- Более 80 практических проектов: настройка и применение микросхемы-адаптера FT232RL, задержка включения и выключения, реле температуры, измеритель емкости, школьные часы, 6-канальный цифровой вольтметр, управление вентилятором, обмен данными между компьютером и платой Arduino, сенсорный датчик, запись данных с помощью программы построения графиков Stamp PLOT, цифровой осциллограф с памятью, сигнализация с датчиком перемещения, выключатель уличного освещения, свет свечи, музыкальный проигрыватель, графопостроитель, последовательный ввод/вывод данных, эксперименты с ЖК-дисплеями и многое другое.



Рассмотрено программирования микроконтроллерных плат Arduino/Freduino. Описана структура и функционирование микроконтроллеров, среда программирования Arduino, необходимые инструменты и комплектующие для проведения экспериментов. Подробно рассмотрены основы программирования плат Arduino: структура программы, команды, операторы и функции, аналоговый и цифровой ввод/вывод данных. Изложение материала сопровождается более 80 примерами по разработке различных устройств: реле температуры, школьных часов, цифрового вольтметра, сигнализации с датчиком перемещения, выключателя уличного освещения и др. Для каждого проекта приведен перечень необходимых компонентов, монтажная схема и листинги программ.
На FTP-сервере издательства выложены исходные коды примеров из книги, технические описания, справочные данные, среда разработки, утилиты и драйверы.

Платы Arduino с возможностями USB-хоста

Некоторые платы Arduino обладают возможностями USB-хоста, что позволяет подсоединить к ним традиционные USB-устройства (клавиатуры, мыши, телефоны на базе Android). Естественно, для поддержки этих устройств потребуются дополнительные драйверы. Например, нельзя просто так соединить веб-камеру с Arduino Due и сразу же ожидать получения фотографий. Arduino Due поддерживает класс USB Host, что позволяет подключить к USB-порту клавиатуру или мышь. Arduino Mega ADK поддерживает протокол Android Open Accessory Protocol (AOA), что упрощает обмен данными между Arduino и устройством на базе Android. Прежде всего, это нужно для управления вводом-выводом Arduino из приложения, работающего на устройствах на базе Android.

Опрос Arduino с компьютера

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

В отличие от некоторых других терминальных программ, монитор последовательного порта Arduino IDE при нажатии клавиши или кнопки Отправить посылает всю командную строку. Другие последовательные терминалы, например Putty, посылают символы сразу после их ввода.

Чтение информации из компьютера или другого последовательного устройства

Запустив монитор последовательного порта Arduino IDE, вы можете вручную отправлять команды в Arduino. Далее рассмотрим, как отправлять последовательности символов и как создать простой графический интерфейс для отправки команд.

У последовательного порта Arduino есть буфер. Другими словами, вы можете отправить несколько байт данных сразу, и Arduino поставит их в очередь и обработает их в том порядке, как задумано в вашей программе. Скорость передачи данных не особенно критична, а вот отправка слишком большого объема данных может вызвать переполнение буфера и потерю информации.

Плата Arduino в качестве транслятора данных

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

Создаем компьютерное приложение

В конце концов, вам надоест “общение” с платой Arduino через монитор последовательного порта Arduino IDE. Гораздо удобнее работать с приложением, написанным на каком-либо языке программирования, имеющем библиотеки для обмена по последовательному порту. Вы можете использовать ваш любимый язык программирования для написания программы, которая посылает последовательные команды к плате Arduino и получает данные, передаваемые от Arduino к компьютеру.

В этой книге выбран язык программирования Processing, потому что он очень похож на язык Arduino, с которым вы уже знакомы. На самом деле, язык программирования Arduino основан на Processing! Другие популярные языки программирования, для которых существуют обширные библиотеки для работы с последовательным портом, - Python, РНР, Visual Basic, С и т. п. Сначала выясним, как читать передаваемые последовательные данные в Processing, а затем узнаем, как с его помощью создать простой графический интерфейс пользователя (GUI) для отправки команд на плату Arduino.

Интерфейс Processing

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

СПб.: БХВ-Петербург, 2012. — 256 с. — (Электроника). — ISBN978-5-9775-0727-1.Рассмотрено программирования микроконтроллерных плат Arduino/Freduino. Описана структура и функционирование микроконтроллеров, среда программирования Arduino, необходимые инструменты и комплектующие для проведения экспериментов. Подробно рассмотрены основы программирования плат Arduino: структура программы, команды, операторы и функции, аналоговый и цифровой ввод/вывод данных. Изложение материала сопровождается более 80 примерами по разработке различных устройств: реле температуры, школьных часов, цифрового вольтметра, сигнализации с датчиком перемещения, выключателя уличного освещения и др. Для каждого проекта приведен перечень необходимых компонентов, монтажная схема и листинги программ.
На FTP-сервере (в книге есть линк) издательства выложены исходные коды примеров из книги, технические описания, справочные данные, среда разработки, утилиты и драйверы.Arduino — это простая для освоения платформа с открытым кодом на основе встроенного микроконтроллера и среды разработки с программным интерфейсом API для микроконтроллеров. Для взаимодействия между человеком и микроконтроллером могут присоединяться различные аналоговые и цифровые датчики, которые регистрируют состояние окружающей среды и передают данные в микроконтроллер. Микроконтроллер обрабатывает входящие данные, а программа выдает новые данные в виде аналоговых или цифровых значений. В результате открываются широкие горизонты для творчества.
В распоряжении разработчика предоставлены готовые программы и библиотеки функций среды программирования Arduino. Комбинируя аппаратные и программные средства, вы сможете с помощью этой книги связать наш реальный мир с миром микроконтроллера, который состоит из битов и байтов.Общие сведения о микроконтроллерах
Структура и принцип работы контроллера
Внешние устройства
Сравнение технологий RISC и CISCПрограммирование микроконтроллеров
Что такое программа?
Программирование на СКраткий обзор семейства микроконтроллеров Arduino
Плата Arduino Mega
Плата Arduino Duemilanove
Плата Arduino Mini
Плата Arduino Nano
Плата Arduino Pro Mini
Плата Arduino Pro
Плата LilyPad
USB-адаптерПлаты расширения Arduino
Плата расширения Arduino ProtoShield
Плата расширения Ardumoto
Плата расширения TellyMate
Плата расширения ArduPilot
Модули XBeeZNet
Плата расширения EthernetКомплектующие изделия
Список основных комплектующих
Список деталей для дополнительных экспериментов
Экспериментальная плата Freeduino
Экспериментальная плата микроконтроллера Freeduino
Электропитание
Кнопка Reset
ISP-подключение
Замечания по технике безопасностиЭлектронные компоненты и их свойства
Светодиоды
Резисторы
Конденсаторы
Транзисторы
Диод
Акустический пьезопреобразователь ("пищалка")
Монтажный провод
Кнопка
Потенциометр
Фоторезистор
Монтажная панель с контактными гнездамиПредварительная подготовка
Установка драйвера
Вспомогательная программа MProg для FT232RL
Программирование микросхемы FT232R с помощью MProg
Установка программного обеспечения ArduinoСреда разработки Arduino
Установки в Arduino-IDE
Наша первая программа "ES_Blinkt"
Что мы сделали?Основы программирования Arduino
Биты и байты
Базовая структура программы
Структура программы Arduino
Первая программа с Arduino
Команды Arduino и их применение
Некоторые специальные функцииДальнейшие эксперименты с Arduino
Регулятор уровня яркости светодиода с транзистором
Плавное мигание
Подавление дребезга контактов кнопок
Задержка включения
Задержка выключения
Светодиоды и Arduino
Подключение больших нагрузок
ЦАП на основе ШИМ-порта
С музыкой все веселей
Романтичный свет свечи с помощью микроконтроллера
Контроль персонала на проходной
Часы реального времени
Программа школьных часов
Управление вентилятором
Автомат уличного освещения
Сигнализация
Кодовый замок
Измеритель емкости с автоматическим выбором диапазона
Профессиональное считывание сопротивления потенциометра
Сенсорный датчик
Конечный автомат
6-канальный вольтметр на основе Arduino
Программирование самописца напряжения
Осциллограф с памятью на основе Arduino
Программа StampPlot — бесплатный профессиональный регистратор данных
Управление через VB.NET
Реле температурыШина I2С
Передача бита
Состояние "СТАРТ"
Состояние "СТОП"
Передача байта
Подтверждение
Адресация
7-битовая адресация
Arduino и температурный датчик LM75 с I2С-шиной
Расширитель порта I2С с PCF8574Ультразвуковой датчик для определения дальности
Ультразвуковой датчик SRF02
Считывание данныхСопряжение платы Arduino с GPS
Сколько требуется спутников?
Как подключить GPS к Arduino?
GPS-протоколСервопривод с платой Servo для Arduino
Как функционирует сервопривод?
Подключение привода к ArduinoЖидкокристаллические дисплеи
Поляризация дисплеев
Статическое управление и мультиплексный режим
Угол обзора
Отражающие, пропускающие и полупрозрачные ЖКИ
Установка контрастности дисплея
Набор отображаемых символов
Расположение выводов распространенных ЖКИ
Управление дисплеем от микроконтроллера
Инициализация дисплеев
Подключение дисплея к Arduino
Первый эксперимент с ЖКИ
Как же все работает?Приложения
Соответствие выводов Arduino и ATmega
Escape-последовательности
Таблица ASCII
Перечень фирм-поставщиков компонентов
Описание компакт-диска
Предметный указатель