Радиотехнический сайт RADIOTRACT

Радиотехника и электроника для разработчиков и радиолюбителей

Информация

 

 

Справочные данные на радиоэлектронные компоненты, приборы, средства связи и измерений. Радиотехническая литература.

Общая

Микроконтроллеры

ПЛИС

Измерения

Радиостанции

Библиотека

Справочники

Доска объявлений

Объявления о покупке и продаже радиокомпонентов. Спрос и предложение на различные радиодетали и приборы.

Куплю

Продам

Магазин

Программы

Полезные программы для радиолюбителей и разработчиков радиоэлектроники.

Радиотехника

Интернет

Калькуляторы

Другие

Мы в соцсетях

  

Arduino

Информация\Микроконтроллеры\Arduino\Программирование микроконтроллерных плат Arduino/Freeduino


Программирование микроконтроллерных плат Arduino/Freeduino.

Автор: Улли Соммер
Формат издания: 170x240 мм (средний формат)
Количество страниц: 256
Год выпуска: 2016
ISBN: 978-5-9775-3680-6
Язык издания: русский

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

Программирование микроконтроллерных плат Arduino, Freeduino

Издательство: БХВ-Петербург.
Мягкая обложка, 256 стр.
ISBN 978-5-9775-3680-6

Найти в магазинах со скидкой

Содержание

Предисловие ................................................................................................................... 11
Введение .......................................................................................................................... 13
Подготовка к экспериментам ........................................................................................................ 13
Лицензия GPL ................................................................................................................................ 14
Требования к системе .................................................................................................................... 14
Обновления и поддержка .............................................................................................................. 14
Дополнительные материалы, сопровождающие книгу .............................................................. 14
Глава 1. Общие сведения о микроконтроллерах .................................................... 15
1.1. Структура и принцип работы контроллера .......................................................................... 16
1.1.1. Центральный процессор ................................................................................................... 16
1.1.2. Оперативная память и память программ ........................................................................ 16
1.2. Внешние устройства ............................................................................................................... 18
1.3. Сравнение технологий CISC и RISC ..................................................................................... 18
1.3.1. Технология CISC .............................................................................................................. 18
1.3.2. Технология RISC .............................................................................................................. 20
1.3.3. Выводы .............................................................................................................................. 20
Глава 2. Программирование микроконтроллеров ................................................. 21
2.1. Что такое программа? ............................................................................................................ 21
2.2. Программирование на языке C .............................................................................................. 21
Глава 3. Краткий обзор семейства микроконтроллеров Arduino ....................... 23
Глава 4. Платы расширения Arduino ........................................................................ 31
4.1. Плата расширения Arduino ProtoShield................................................................................. 31
4.2. Плата расширения Ardumoto ................................................................................................. 32
4.3. Плата расширения TellyMate ................................................................................................. 33
4.4. Плата расширения ArduPilot .................................................................................................. 34
4.5. Модули XBeeZNet .................................................................................................................. 34
4.6. Плата расширения Ethernet .................................................................................................... 35
Глава 5. Комплектующие изделия ............................................................................. 37
5.1. Список основных комплектующих ....................................................................................... 37
5.2. Список деталей для дополнительных экспериментов ......................................................... 38
5.3. Экспериментальная плата Freeduino ..................................................................................... 38
5.3.1. Подключение платы Freeduino ........................................................................................ 38
5.3.2. Электропитание ................................................................................................................ 39
5.3.3. Кнопка Reset ...................................................................................................................... 41
5.3.4. ISP-подключение .............................................................................................................. 41
5.4. Замечания по технике безопасности ..................................................................................... 41
Глава 6. Электронные компоненты и их свойства ................................................. 43
6.1. Светодиоды ............................................................................................................................. 43
6.2. Резисторы ................................................................................................................................ 44
6.3. Конденсаторы ......................................................................................................................... 45
6.4. Транзисторы ............................................................................................................................ 46
6.5. Диоды ...................................................................................................................................... 46
6.6. Акустический пьезопреобразователь («пищалка») .............................................................. 46
6.7. Монтажный провод ................................................................................................................ 47
6.8. Кнопка ..................................................................................................................................... 47
6.9. Потенциометр ......................................................................................................................... 47
6.10. Фоторезистор ........................................................................................................................ 48
6.11. Макетная плата с контактными гнездами ........................................................................... 48
Глава 7. Предварительная подготовка ..................................................................... 51
7.1. Установка программного обеспечения Arduino в ОС Windows ......................................... 52
7.2. Установка программного обеспечения Arduino в ОС Linux ............................................... 53
7.3. Установка программного обеспечения Arduino в Mac OS X .............................................. 54
Глава 8. Среда разработки Arduino ........................................................................... 57
8.1. Исходные установки Arduino IDE ......................................................................................... 59
8.2. Наша первая программа: ES_Blinkt ....................................................................................... 61
8.3. Что мы сделали? ..................................................................................................................... 63
Глава 9. Основы программирования Arduino и первые эксперименты ........... 65
9.1. Биты и байты ........................................................................................................................... 65
9.2. Базовая структура программы ............................................................................................... 66
9.2.1. Последовательное выполнение программы ................................................................... 66
9.2.2. Прерывание выполнения программы ............................................................................. 66
9.3. Структура программы Arduino .............................................................................................. 67
9.4. Первая программа для Arduino .............................................................................................. 68
9.5. Команды Arduino и их применение ....................................................................................... 69
9.5.1. Комментарии в исходном тексте ..................................................................................... 69
9.5.2. Фигурные скобки { } ......................................................................................................... 70
9.5.3. Точка с запятой ; ............................................................................................................... 70
9.5.4. Типы данных и переменные ............................................................................................ 70
9.5.5. Имя переменной ............................................................................................................... 70
9.5.6. Локальные и глобальные переменные ............................................................................ 71
9.5.7. Различные типы данных ................................................................................................... 71
Переменная типа Boolean .................................................................................................... 71
Переменная типа Byte .......................................................................................................... 71
Переменная типа Char ......................................................................................................... 72
Переменная типа Unsigned Char ......................................................................................... 72
Переменная типа Int (Integer) .............................................................................................. 72
Переменная типа Unsigned int ............................................................................................. 72
Переменная типа Long ......................................................................................................... 72
Переменная типа Unsigned Long ......................................................................................... 72
Переменная типа Float ........................................................................................................ 72
Переменная типа String ....................................................................................................... 73
Массив Arrays ....................................................................................................................... 73
9.5.8. Операторы ......................................................................................................................... 75
Арифметические операторы ............................................................................................... 75
Операторы сравнения .......................................................................................................... 75
Побитовая арифметика ........................................................................................................ 75
Булева арифметика .............................................................................................................. 75
Увеличение и уменьшение значения .................................................................................. 75
Константы ............................................................................................................................. 76
9.5.9. Директива #define ............................................................................................................. 76
9.5.10. Управляющие конструкции ........................................................................................... 76
Оператор if ............................................................................................................................ 76
Оператор if ... else ................................................................................................................. 77
Конструкция switch case ...................................................................................................... 80
9.5.11. Циклы .............................................................................................................................. 81
Цикл for ................................................................................................................................. 82
Циклы while и do while ........................................................................................................ 83
9.5.12. Функции и процедуры .................................................................................................... 85
Подпрограмма ...................................................................................................................... 85
Функция ................................................................................................................................ 86
Команда continue .................................................................................................................. 87
9.5.13. Функции преобразования типа ...................................................................................... 88
9.5.14. Математические функции .............................................................................................. 88
Функция min(x, y) ................................................................................................................. 88
Функция max(x, y) ................................................................................................................ 89
Функция abs(x) ..................................................................................................................... 89
Функция constrain(x, a, b) .................................................................................................... 90
Функция map(x, fromLow, fromHigh, toLow, toHigh) ......................................................... 91
Функция pow(base, exponent) .............................................................................................. 91
Функция sq(x) ....................................................................................................................... 92
Функция sqrt(x) ..................................................................................................................... 93
Функция sin(rad) .................................................................................................................. 93
Функция cos(rad) .................................................................................................................. 94
Функция tan(rad) .................................................................................................................. 94
9.5.15. Последовательный ввод/вывод ...................................................................................... 95
Функция Serial.begin(Baudrate) .......................................................................................... 96
Функция Serial.end() ............................................................................................................ 97
Функция Serial.read() ........................................................................................................... 97
Функция Serial.available() ................................................................................................... 97
Функция Serial.flush() .......................................................................................................... 98
Функция Serial.print() .......................................................................................................... 98
Функция Serial.println() ..................................................................................................... 100
Функция Serial.write() ........................................................................................................ 101
Проблемы с выводом кириллицы в последовательный порт Arduino IDE ................... 102
9.5.16. Функционирование последовательного интерфейса ................................................. 102
Считывание строки символов через последовательный интерфейс .............................. 103
Последовательный вывод данных с вычислением .......................................................... 104
9.5.17. Программная эмуляция UART .................................................................................... 105
9.5.18. Конфигурация входа/выхода и установка порта ........................................................ 107
Функция pinMode(pin, mode) ............................................................................................. 107
Функция digitalRead(pin) ................................................................................................... 107
Функция digitalWrite(pin,value) ......................................................................................... 107
Считывание состояния кнопки ......................................................................................... 108
Кнопка с согласующим резистором ................................................................................. 110
Кнопка с внешним подтягивающим резистором ............................................................ 111
9.5.19. Аналоговый ввод данных и АЦП ................................................................................ 112
Функция analogRead(pin) .................................................................................................. 113
9.5.20. Аналоговые выходы ШИМ .......................................................................................... 115
Команда analogWrite(pin, value) ....................................................................................... 116
9.6. Некоторые специальные функции ....................................................................................... 119
9.6.1. Установка паузы ............................................................................................................. 119
С помощью команды delay() ............................................................................................. 119
С помощью команды micros() ........................................................................................... 119
9.6.2. Функции случайных чисел ............................................................................................. 120
Функция randomSeed(seed) ................................................................................................ 120
Функция random(min, max) ................................................................................................ 120
9.6.3. Сколько времени прошло? ............................................................................................. 122
Функция millis() .................................................................................................................. 123
Функция micros() ................................................................................................................ 123
Глава 10. Продолжаем эксперименты с Arduino .................................................. 125
10.1. Регулятор уровня яркости светодиода с транзистором ................................................... 125
10.2. Плавное мигание ................................................................................................................. 127
10.3. Подавление дребезга контактов кнопок ........................................................................... 130
10.4. Задержка включения ........................................................................................................... 135
10.5. Задержка выключения ........................................................................................................ 136
10.6. Arduino и светодиоды ......................................................................................................... 137
10.7. Подключение больших нагрузок ....................................................................................... 140
10.8. ЦАП на основе ШИМ-порта .............................................................................................. 142
10.9. С музыкой веселей… .......................................................................................................... 146
10.10. Романтический вечер с микроконтроллером при свечах .............................................. 148
10.11. Контроль персонала на проходной ................................................................................. 150
10.12. Часы реального времени .................................................................................................. 152
10.13. Программа школьных часов ............................................................................................ 154
10.14. Управление вентилятором ............................................................................................... 157
10.15. Автомат уличного освещения .......................................................................................... 160
10.16. Сигнализация .................................................................................................................... 162
10.17. Кодовый замок .................................................................................................................. 164
10.18. Измеритель емкости с автоматическим выбором диапазона ........................................ 168
10.19. Профессиональное считывание сопротивления потенциометра .................................. 171
10.20. Сенсорный датчик ............................................................................................................ 172
10.21. Конечный автомат ............................................................................................................ 174
10.22. Шестиканальный вольтметр на основе Arduino ............................................................. 177
10.23. Программирование самописца напряжения ................................................................... 180
10.24. Осциллограф с памятью на основе Arduino ................................................................... 182
10.25. Программа StampPlot — бесплатный профессиональный регистратор данных ......... 184
10.26. Управление микроконтроллером из VB.NET-программы Ports ................................... 188
10.27. Реле температуры ............................................................................................................. 190
Глава 11. Шина I2C ..................................................................................................... 193
11.1. Передача бита ..................................................................................................................... 194
11.2. Состояние СТАРТ ............................................................................................................... 194
11.3. Состояние СТОП................................................................................................................. 194
11.4. Передача байта .................................................................................................................... 194
11.5. Подтверждение ................................................................................................................... 195
11.6. Адресация ............................................................................................................................ 195
11.7. 7-битовая адресация ........................................................................................................... 195
Глава 12. Arduino и температурный датчик LM75 на шине I2C ....................... 197
Глава 13. Микросхема PCF8574 — расширитель порта I2C ............................... 201
Глава 14. Определение дальности с помощью ультразвукового датчика ....... 205
14.1. Ультразвуковой датчик SRF02 .......................................................................................... 205
14.2. Считывание данных ............................................................................................................ 206
Глава 15. Сопряжение платы Arduino с устройством GPS ................................. 209
15.1. Сколько требуется спутников? .......................................................................................... 210
15.2. Как подключить приемник GPS к Arduino? ..................................................................... 210
15.3. GPS-протокол ...................................................................................................................... 212
Глава 16. Подключение сервопривода к плате Arduino ...................................... 217
16.1. Как функционирует сервопривод? .................................................................................... 217
16.2. Подключение привода к Arduino ....................................................................................... 218
Глава 17. Жидкокристаллические дисплеи ........................................................... 221
17.1. Поляризация дисплеев ........................................................................................................ 222
17.2. Статическое управление и мультиплексный режим ........................................................ 222
17.3. Угол обзора ......................................................................................................................... 223
17.4. Отражающие, пропускающие и полупрозрачные ЖКИ .................................................. 223
17.5. Установка контрастности дисплея .................................................................................... 223
17.6. Набор отображаемых символов ........................................................................................ 225
17.7. Расположение выводов распространенных ЖКИ ............................................................ 227
17.8. Управление дисплеем от микроконтроллера ................................................................... 228
17.9. Инициализация дисплеев ................................................................................................... 228
17.10. Подключение дисплея к Arduino ..................................................................................... 230
17.11. Первый эксперимент с ЖКИ ........................................................................................... 232
17.12. Как же все это работает? .................................................................................................. 234
ПРИЛОЖЕНИЯ .......................................................................................................... 237
Приложение 1. Соответствие выводов платы Arduino
и контроллера ATmega ............................................................................................... 239
Приложение 2. Escape-последовательности ........................................................... 241
Приложение 3. Таблица ASCII ................................................................................. 243
Приложение 4. Описание электронного архива .................................................... 249
Предметный указатель .............................................................................................. 251

Платформа Arduino постоянно совершенствуется, и ее обновления можно загрузить бесплатно с Web-сайта www.arduino.cc

Электронный архив с сопровождающими книгу дополнительными материалами можно скачать по ссылке ftp://ftp.bhv.ru/978597736806.zip. Ссылка также доступна со страницы книги на сайте www.bhv.ru.
Архив содержит необходимое программное обеспечение, инструменты для программирования, технические паспорта и принципиальные схемы устройств и компонентов, а также программные коды рассматриваемых в книге примеров.


Комментарии

comments powered by Disqus