Оглавление
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Глава 1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Бесконечность не предел! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Сила в массовости ............................................... 26
Компоненты и аксессуары . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Необходимое программное обеспечение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Windows XP и более поздние версии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Ubuntu Linux 9.04 и выше . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Безопасность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Глава 2. Знакомство с платой Arduino и IDE . . . . . . . . . . . . . . . . . . . 39
Плата Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Обзор среды разработки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Область управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Область ввода текста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Область вывода сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Создание первого скетча в IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Комментарии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Функция setup................................................ 48
Управление аппаратными компонентами . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Функция loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Проверка скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Загрузка и запуск скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Изменение скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Оглавление  7
Глава 3. Первые шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Планирование проектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Об электричестве . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Сила тока . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Напряжение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Мощность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Электронные компоненты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Резистор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Светодиод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Макетная плата для навесного монтажа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Проект № 1: Эффект бегущей волны из огоньков светодиодов . . . . . . . . . 63
Алгоритм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Запуск скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Переменные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Проект № 2: Повторение команд с помощью цикла for . . . . . . . . . . . . . . . . 67
Изменение яркости светодиода с использованием широтно-импульсной
модуляции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Проект № 3: Демонстрация ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Дополнительные электронные компоненты . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Транзистор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Выпрямительный диод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Реле . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Схемы управления более высоким напряжением . . . . . . . . . . . . . . . . . . . . . . . 73
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Глава 4. Строительные блоки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Принципиальные схемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Обозначение компонентов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Проводники на схемах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Чтение принципиальных схем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Конденсатор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Емкость конденсатора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Маркировка конденсаторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Типы конденсаторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Цифровые входы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8  Оглавление
Проект № 4: Демонстрация работы цифрового входа . . . . . . . . . . . . . . . . . 86
Алгоритм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Изменение скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Анализ скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Определение констант с помощью #define . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Чтение состояний цифровых входов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Принятие решений с помощью if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Принятие альтернативных решений с помощью if-then-else . . . . . . . . . . . . . . 93
Логические переменные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Операторы сравнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Выполнение двух и более сравнений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Проект № 5: Управление движением . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Цель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Алгоритм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Запуск скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Аналоговые и цифровые сигналы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Проект № 6: Тестер для одноэлементных батареек . . . . . . . . . . . . . . . . . . 103
Цель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Алгоритм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Выполнение арифметических операций в Arduino . . . . . . . . . . . . . . . . . . . . . . 106
Вещественные переменные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Операторы сравнения чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Увеличение точности измерения аналоговых сигналов с помощью источника
опорного напряжения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Использование внешнего источника опорного напряжения . . . . . . . . . . . . . 107
Использование внутреннего источника опорного напряжения . . . . . . . . . . . 109
Переменный резистор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Пьезоэлектрические зуммеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Изображение пьезоэлектрических зуммеров на схемах . . . . . . . . . . . . . . . . . 111
Оглавление  9
Проект № 7: Испытание пьезоэлектрического зуммера . . . . . . . . . . . . . . 111
Проект № 8: Быстродействующий термометр . . . . . . . . . . . . . . . . . . . . . . 113
Цель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Доработка скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Глава 5. Функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Проект № 9: Функция для повторного выполнения действий . . . . . . . . . 119
Проект № 10: Функция, изменяющая число миганий светодиода . . . . . . 120
Функция, возвращающая значения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Проект № 11: Быстродействующий термометр, сообщающий
температуру миганием светодиода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Отображение данных из Arduino в окне монитора последовательного порта . . 125
Монитор последовательного порта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Проект № 12: Отображение температуры в мониторе порта . . . . . . . . . . 126
Отладка при помощи монитора порта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Принятие решений при помощи инструкций while . . . . . . . . . . . . . . . . . . . . . . 128
do-while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Передача данных из монитора порта в Arduino . . . . . . . . . . . . . . . . . . . . . . . . 129
Проект № 13: Умножение числа на два . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Переменные типа long . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Проект № 14: Использование переменных типа long . . . . . . . . . . . . . . . . 131
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Глава 6. Числа, переменные и арифметика . . . . . . . . . . . . . . . . . . . 134
Случайные числа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Использование электрического поля для генерации случайных чисел . . . . . . 135
Проект № 15: Электронный кубик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Доработка скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
10  Оглавление
Краткое введение в двоичную систему счисления . . . . . . . . . . . . . . . . . . . . . 139
Переменные типа byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Увеличение числа цифровых выходов с применением сдвигового регистра . . . 141
Проект № 16: Светодиодный индикатор для двоичных чисел . . . . . . . . . 142
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Подключение микросхемы 74HC595 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Проект № 17: Игра «Двоичная викторина» . . . . . . . . . . . . . . . . . . . . . . . . . 145
Алгоритм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Массивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Определение массива . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Обращение к значениям в массиве . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Запись в массивы и чтение из массивов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Семисегментные светодиодные индикаторы . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Управление сегментами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Проект № 18: Дисплей с одной цифрой . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Отображение двух цифр . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Проект № 19: Управление двумя семисегментными индикаторами . . . . 156
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Деление по модулю . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Проект № 20: Цифровой термометр . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Матричные светодиодные индикаторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Схема светодиодной матрицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Соединения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Поразрядная арифметика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Оператор поразрядного И (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Оператор поразрядного ИЛИ (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Оператор поразрядного ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) . . . . . . . . . . . . . . . . . . 165
Оператор поразрядного НЕ (NOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Поразрядный сдвиг влево и вправо . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Проект № 21: Создание светодиодной матрицы . . . . . . . . . . . . . . . . . . . . . 166
Оглавление  11
Проект № 22: Создание образов на светодиодной матрице . . . . . . . . . . . 168
Проект № 23: Отображение образа на светодиодной матрице . . . . . . . . 169
Проект № 24: Анимация на светодиодной матрице . . . . . . . . . . . . . . . . . . 171
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Глава 7. Жидкокристаллические индикаторы . . . . . . . . . . . . . . . . . 173
Символьные жидкокристаллические индикаторы . . . . . . . . . . . . . . . . . . . . . . 173
Использование символьного ЖКИ в скетче . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Отображение текста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Отображение переменных или чисел . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Проект № 25: Определение собственных символов . . . . . . . . . . . . . . . . . 177
Графические жидкокристаллические индикаторы . . . . . . . . . . . . . . . . . . . . . . 179
Подключение графического ЖКИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Использование ЖКИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Управление индикатором . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Проект № 26: Опробование текстовых функций в действии . . . . . . . . . . 182
Создание более сложных изобразительных эффектов . . . . . . . . . . . . . . . . . 183
Проект № 27: Цифровой термометр с памятью . . . . . . . . . . . . . . . . . . . . . 184
Алгоритм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Результат . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Доработка скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Глава 8. Расширение Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Платы расширения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Макетные платы ProtoShield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Проект № 28: Собственная плата расширения с восемью
светодиодами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Топология макетной платы ProtoShield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Проектирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Пайка компонентов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Доработка платы расширения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Расширение возможностей скетчей с помощью библиотек . . . . . . . . . . . . . . . 196
12  Оглавление
Импортирование библиотек поддержки плат расширения . . . . . . . . . . . . . . . 196
Карты памяти microSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Тестирование карты microSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Проект № 29: Запись данных на карту памяти . . . . . . . . . . . . . . . . . . . . . . 203
Проект № 30: Устройство регистрации температуры . . . . . . . . . . . . . . . . . 204
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Хронометраж с применением millis() и micros() . . . . . . . . . . . . . . . . . . . . . . . . 207
Проект № 31: Секундомер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Режимы прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Настройка прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Включение и выключение прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Проект № 32: Использование прерываний . . . . . . . . . . . . . . . . . . . . . . . . . 214
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Глава 9. Цифровые клавиатуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Цифровая клавиатура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Подключение клавиатуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Программная обработка клавиатуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Тестирование скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Принятие решений с помощью switch-case . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Проект № 33: Кодовый замок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Тестирование скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Глава 10. Сенсорные экраны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Сенсорные экраны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Подключение сенсорного экрана . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Проект № 34: Определение области касания на сенсорном экране . . . . 224
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Оглавление  13
Тестирование скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Калибровка сенсорного экрана . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Проект № 35: Двухзонный выключатель . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Тестирование скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Проект № 36: Трехзонный выключатель . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Разметка сенсорного экрана . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Глава 11. Семейство плат Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Проект № 37: Создание собственной платы Arduino . . . . . . . . . . . . . . . . . 234
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Запуск проверочного скетча . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Обширное семейство плат Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Arduino Uno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Freetronics Eleven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Freeduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Pro Trinket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Arduino Nano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Arduino LilyPad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Arduino Mega 2560 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Freetronics EtherMega . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Arduino Due................................................. 250
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Глава 12. Электродвигатели и движение . . . . . . . . . . . . . . . . . . . . . 253
Реализация небольших перемещений с помощью сервоприводов . . . . . . . . . . 253
Выбор сервопривода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Подключение сервопривода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Управление сервоприводом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Проект № 38: Аналоговый термометр . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
14  Оглавление
Электродвигатели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Транзистор Дарлингтона TIP120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Проект № 39: Управление электродвигателем . . . . . . . . . . . . . . . . . . . . . . 261
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Проект № 40: Роботизированный танк и управление им . . . . . . . . . . . . . 263
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Определение столкновений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Проект № 41: Определение столкновений с помощью
микровыключателя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Инфракрасный датчик расстояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Подключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Тестирование ИК-датчика расстояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Проект № 42: Определение столкновений с помощью ИК-датчика
расстояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Ультразвуковой датчик расстояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Подключение ультразвукового датчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Использование ультразвукового датчика . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Тестирование ультразвукового датчика расстояния . . . . . . . . . . . . . . . . . . . 282
Проект № 43: Определение столкновений с помощью
ультразвукового датчика расстояния . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Глава 13. Arduino и GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Что такое GPS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Тестирование платы расширения GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Проект № 44: Простой приемник GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Отображение координат на экране ЖКИ . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Проект № 45: Часы высокой точности на основе GPS . . . . . . . . . . . . . . . . 293
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Оглавление  15
Проект № 46: Запись координат перемещающегося объекта
с течением времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Отображение траектории на карте . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Глава 14. Беспроводная передача информации . . . . . . . . . . . . . . . 300
Применение недорогих модулей беспроводной связи . . . . . . . . . . . . . . . . . . . 300
Проект № 47: Пульт дистанционного управления . . . . . . . . . . . . . . . . . . . 301
Оборудование для передатчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Схема для передатчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Оборудование для приемника . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Схема приемника . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Скетч для передатчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Скетч для приемника . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Использование модулей XBee для беспроводной передачи данных
на большие расстояния с высокой скоростью . . . . . . . . . . . . . . . . . . . . . . 307
Проект № 48: Передача данных с помощью XBee . . . . . . . . . . . . . . . . . . . 308
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Подготовка компьютера к приему данных . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Проект № 49: Термометр с дистанционным управлением . . . . . . . . . . . . 310
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Монтаж . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Опробование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Глава 15. Инфракрасный пульт дистанционного управления . . . 314
Что такое инфракрасный пульт дистанционного управления? . . . . . . . . . . . . . 314
Подготовка к приему ИК-сигналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
ИК-приемник . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Пульт дистанционного управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Тестовый скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Опробование собранного устройства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Проект № 50: Дистанционное управление Arduino
с помощью ИК-пульта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
16  Оглавление
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Расширение возможностей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Проект № 51: Дистанционное ИК-управление моделью танка . . . . . . . . 320
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Глава 16. Чтение радиомаркеров RFID . . . . . . . . . . . . . . . . . . . . . . . 323
Внутреннее устройство радиомаркеров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Проверка оборудования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Проверка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Проект № 52: Простая RFID-система контроля доступа . . . . . . . . . . . . . . 326
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Сохранение данных во встроенном ЭСППЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Чтение и запись в ЭСППЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Проект № 53: RFID-система управления с запоминанием
последнего действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Глава 17. Шины данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Шина I2
C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Проект № 54: Внешнее ЭСППЗУ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Результат . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Проект № 55: Расширитель порта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Шина SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Контакты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Реализация обмена данными по шине SPI . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Передача данных SPI-устройству . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Оглавление  17
Проект № 56: Цифровой реостат . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Глава 18. Часы реального времени . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Подключение модуля RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Проект № 57: Установка и отображение даты и времени . . . . . . . . . . . . . 352
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Проект № 58: Простые цифровые часы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Принцип действия и результаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Проект № 59: Система хронометража с радиомаркерами . . . . . . . . . . . . . 360
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Глава 19. Интернет . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Что потребуется . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Проект № 60: Станция дистанционного мониторинга . . . . . . . . . . . . . . . . 369
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Поиск и устранение неисправностей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Проект № 61: Arduino Tweeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Управление платой Arduino через Интернет . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Проект № 62: Настройка дистанционного управления платой Arduino 376
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Дистанционное управление платой Arduino . . . . . . . . . . . . . . . . . . . . . . . . . 379
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
18  Оглавление
Глава 20. Сети сотовой связи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Подготовка платы стабилизатора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Настройка и проверка оборудования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Изменение рабочей частоты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Проект № 63: Автоматический номеронабиратель . . . . . . . . . . . . . . . . . . 388
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Проект № 64: Отправка текстовых сообщений . . . . . . . . . . . . . . . . . . . . . . 390
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Проект № 65: Дистанционное управление устройствами посредством
коротких текстовых сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Оборудование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Схема . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Скетч . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Принцип действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Забегая вперед . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
От издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397