Автор | Яценков В. |
Название | От Arduino до Omega: платформы для мейкеров шаг за шагом |
Серия | Электроника |
ISBN | 978-5-9775-3863-3 |
Формат | 70×100/16, мягкая обложка |
Объем | 304 |
Тематика |
Технические науки, промышленность -> Электроника и схемотехника
|
Предисловие | 9 |
Как работать с этой книгой? | 10 |
Глава 1. Платформы для творчества и обучения |
13 |
1.1. Не бойтесь экспериментировать! | 14 |
1.2. Совместимость на уровне периферии и протоколов | 16 |
1.3. Общие средства разработки и языки программирования | 16 |
1.4. Облачные сервисы обмена данными | 17 |
1.5. Онлайновые лаборатории и средства разработки | 18 |
Глава 2. Советы для начинающих |
19 |
2.1. Универсальные отладочные и макетные платы | 19 |
2.2. Монтажные провода для пайки | 23 |
2.3. Инструменты для подготовки проводов | 25 |
2.4. Источники питания | 26 |
2.4.1. Особенности питания от порта USB | 27 |
2.4.2. Сетевые источники питания | 28 |
Линейные стабилизаторы напряжения | 28 |
Смещение рабочего напряжения стабилизатора | 31 |
Импульсные преобразователи напряжения | 31 |
2.4.3. Химические источники тока | 33 |
Никель-кадмиевые аккумуляторы | 34 |
Литиевые аккумуляторы | 35 |
2.5. Согласование логических уровней | 39 |
2.6. Интерфейсы обмена данными | 41 |
2.6.1. Последовательный интерфейс UART | 41 |
2.6.2. Конвертер интерфейсов USB-UART | 43 |
2.6.3. Последовательная шина I2C | 45 |
2.6.4. Последовательный интерфейс SPI | 46 |
2.6.5. Последовательный протокол 1-Wire | 47 |
2.7. Измерительное оборудование | 48 |
2.7.1. Цифровой мультиметр | 49 |
2.7.2. Цифровой осциллограф | 49 |
2.8. Паяльное оборудование | 51 |
2.9. Полезные программы и утилиты | 53 |
2.9.1. PuTTY | 53 |
2.9.2. WinSCP | 54 |
2.9.3. Hercules | 55 |
2.9.4. Termite | 56 |
2.9.5. Notepad++ | 57 |
Глава 3. Онлайн-лаборатория Autodesk Circuits |
59 |
3.1. Регистрация и первый проект | 60 |
3.1.1. Создание макета и симуляция | 60 |
3.1.2. Принципиальная электрическая схема макета | 64 |
3.1.3. Печатная плата по схеме макета | 64 |
3.2. Создание и редактирование компонентов | 65 |
3.2.1. Создание символа компонента | 67 |
3.2.2. Создание монтажного чертежа компонента | 69 |
3.2.3. Работа с чужими компонентами | 71 |
3.2.4. Доступ к своим компонентам | 72 |
3.2.5. Рисование принципиальной схемы | 72 |
3.3. Вывод схемы и чертежа платы на печать | 73 |
3.3.1. Получение рисунка принципиальной схемы | 73 |
3.3.2. Экспорт рисунка печатной платы в формате Eagle | 73 |
3.3.3. Экспорт чертежа платы в формате GERBER | 73 |
Глава 4. Среда разработки и макетирования Fritzing |
75 |
4.1. Установка Fritzing | 75 |
4.2. Создание макета схемы | 76 |
4.3. Создание принципиальной электрической схемы | 77 |
4.4. Разработка чертежа печатной платы | 77 |
4.5. Экспорт чертежа печатной платы | 78 |
4.6. Добавление компонентов в библиотеку | 79 |
4.7. Разработка и загрузка программ | 79 |
Глава 5. Обучающая платформа Arduino |
80 |
5.1. Аппаратная база платформы, популярные модели | 81 |
5.1.1. Arduino Nano | 81 |
5.1.2. Arduino Uno | 82 |
5.1.3. Arduino Pro Mini | 82 |
5.1.4. Arduino Mega 2560 | 83 |
5.2. Установка драйверов USB-UART | 83 |
5.3. Система нумерации выводов Arduino | 84 |
5.4. Среда разработки и отладки Arduino IDE | 85 |
5.4.1. Установка Arduino IDE | 86 |
Установка для ОС Windows | 86 |
Установка альтернативных версий IDE | 86 |
Установка для ОС Linux | 86 |
Установка для Mac OS X | 87 |
5.4.2. Подключение платы Arduino и первые программы | 88 |
5.4.3. Установка сторонних библиотек | 92 |
Автоматическая установка библиотеки | 93 |
Установка библиотеки вручную | 93 |
5.4.4. Установка дополнительных описаний плат | 94 |
Автоматическая установка описания | 94 |
Установка описания вручную | 95 |
5.4.5. Сетевой модуль расширения Dragino Yun | 96 |
Почему именно Dragino Yun? | 97 |
Технические характеристики Dragino Yun v2.4 | 97 |
Особенности питания шилда Dragino Yun | 98 |
Добавление новых плат в Arduino IDE | 99 |
Подключение к компьютеру для настройки | 100 |
Функции кнопки сброса Dragino Yun | 101 |
Обновление прошивки | 102 |
Базовые настройки | 103 |
Определение типа базовой платы | 104 |
Загрузка скетча через сеть из Arduino IDE | 105 |
Автоматическое обновление скетча | 105 |
Использование консоли Dragino Yun для вывода сообщений | 107 |
Глава 6. Облачная среда разработки Arduino Create |
110 |
6.1. Подготовка среды Arduino Create | 111 |
6.2. Онлайн-редактор Arduino Web Editor | 112 |
Sketchbook | 113 |
Examples | 113 |
Libraries | 113 |
Serial Monitor | 114 |
Help | 114 |
Preferences | 114 |
6.3. Подключение платы Arduino и первая программа | 115 |
6.4. Облачный сервис Arduino Cloud | 116 |
6.5. Библиотека проектов Arduino Project Hub | 117 |
Глава 7. Примеры программ и проектов для Arduino |
119 |
7.1. Использование системного времени Linux | 119 |
7.2. Сохранение данных на карту памяти | 122 |
7.3. Сохранение данных на USB-накопитель | 125 |
7.4. Сохранение данных в таблицу MySQL | 125 |
7.5. Сервис Temboo и передача данных в Google Spreadsheet | 128 |
7.6. Анализатор эфира в диапазоне 2,4 ГГц | 137 |
7.6.1. Модуль радиоприемника | 138 |
7.6.2. Модуль дисплея | 139 |
7.6.3. Модуль Arduino | 139 |
7.6.4. Напряжение питания и согласование логических уровней | 139 |
7.6.5. Схема электрических соединений | 140 |
7.6.6. Алгоритм работы устройства | 140 |
7.7. Миниатюрный монитор силовой литий-полимерной батареи | 147 |
7.7.1. Компоненты монитора | 149 |
7.7.2. Алгоритм работы устройства | 149 |
7.8. Установка библиотеки ATTiny | 154 |
7.8.1. Подключение программатора | 154 |
7.8.2. Установка фюзов микроконтроллера | 156 |
7.8.3. Запись прошивки | 157 |
7.8.4. Калибровка порога срабатывания | 157 |
Глава 8. Однокристальная система ESP8266 |
159 |
8.1. Ученик обогнал учителя: феномен успеха ESP8266 | 159 |
8.1.1. Технические характеристики | 160 |
8.1.2. Особенности эксплуатации | 160 |
8.1.3. Модули на основе ESP8266 | 161 |
8.2. Расширение Arduino IDE для работы с ESP8266 | 163 |
8.2.1. Установка расширения | 163 |
8.2.2. Особенности программирования ESP8266 | 163 |
Порты и прерывания | 164 |
Функции задержки | 164 |
Работа с EEPROM | 165 |
Поддержка интерфейсов I2C и SPI | 165 |
Специальные функции API ESP8266 | 165 |
Специальные функции библиотеки ESP8266WiFi | 166 |
Обращение к функциям SDK ESP8266 из скетча Arduino | 166 |
Глава 9. Примеры программ и проектов для ESP8266 |
168 |
9.1. Получение точного времени от сервера NTP | 168 |
9.2. Получение уведомлений от устройств на Android | 173 |
9.2.1. Скетч для принимающего устройства | 174 |
9.2.2. Установка и настройка приложения Android | 175 |
9.2.3. Настройка расширенных уведомлений с приложением Tasker | 176 |
Настройка события Tasker — новое сообщение Viber | 177 |
9.3. Модуль управления экшн-камерой Xiaomi Yui | 179 |
9.3.1. Аппаратная часть модуля | 180 |
9.3.2. Прошивка модуля | 181 |
Алгоритм работы устройства | 190 |
Измерение длительности импульсов | 191 |
Совместимость программы модуля с разными версиями Arduino IDE и камеры | 192 |
9.4. Адаптация взаимодействия с сервисом Temboo | 193 |
Глава 10. Платформа NodeMCU для Интернета вещей |
198 |
10.1. Подготовка к использованию NodeMCU | 199 |
10.1.1. Рекомендованное оборудование | 199 |
10.1.2. Подключение отладочной платы к компьютеру | 201 |
10.1.3. Обновление прошивки NodeMCU | 201 |
Конструктор прошивок | 202 |
Возможная проблема: сбой обновления прошивки | 204 |
10.2. Среда разработки ESPlorer IDE | 207 |
10.3. Пакет разработки Lua for Windows | 214 |
10.4. Язык программирования Lua — освоим за один вечер | 215 |
10.4.1. Типы данных | 217 |
10.4.2. Комментарии | 218 |
10.4.3. Переменные и преобразование типов | 218 |
10.4.4. Работа с таблицами и массивами | 221 |
10.4.5. Условный оператор if | 222 |
10.4.6. Цикл с предусловием while | 223 |
10.4.7. Цикл с постусловием repeat | 223 |
10.4.8 Цикл с оператором for | 223 |
10.4.9. Операторы break и return | 224 |
10.4.10. Функции | 225 |
10.4.11. Функции обратного вызова | 226 |
Глава 11. Примеры программ и проектов для NodeMCU |
228 |
11.1. Использование графического OLED-дисплея | 229 |
11.1.1. Подключение дисплея | 229 |
11.1.2. Настройка модуля U8G | 230 |
11.1.3. Пример программы | 230 |
11.1.4. Монитор курса электронной валюты биткоин | 232 |
Загрузка программы в отладочную плату | 235 |
Алгоритм работы программы | 236 |
11.1.5. Вывод на OLED-дисплей битовых изображений | 237 |
Создание файла битового изображения | 237 |
Пример программы | 237 |
11.2. Использование графического TFT-дисплея | 239 |
11.2.1. Подключение дисплея к плате NodeMCU | 240 |
11.2.2. Пример использования графической библиотеки | 240 |
Глава 12. Микрокомпьютер Omega2 |
245 |
12.1. Аппаратный состав платформы | 246 |
12.2. Подготовка к работе | 250 |
12.2.1. Настройка при помощи мастера | 250 |
12.2.2. Настройка при помощи командной строки | 253 |
12.3. Браузерное приложение Onion Console | 255 |
12.4. Облачный сервис Onion Cloud | 257 |
12.5. Python 2.7 и дополнительные модули | 259 |
12.5.1. Управление портами GPIO | 260 |
12.5.2. Модуль Python SPI | 263 |
12.5.3. Модуль Python I2C | 264 |
12.6. Файловый менеджер Midnight Commander | 265 |
12.7. Расширение пространства памяти | 266 |
12.7.1. Использование карты MicroSD и USB-накопителя | 266 |
Размонтирование накопителя | 267 |
Форматирование внешних накопителей | 267 |
Изменение точки монтирования по умолчанию | 268 |
12.7.2. Загрузка с внешней карты памяти | 269 |
12.7.3. Своп-файл на внешнем носителе | 271 |
12.7.4. Автоматическое включение своп-файла после перезагрузки | 272 |
12.8. Особенности использования Omega2 | 274 |
12.8.1. Необходимость стабильного питания | 274 |
12.8.2. Необходимость буферизации выводов | 274 |
Глава 13. Примеры программ и проектов для Omega2 |
276 |
13.1. Подключение OLED-дисплея | 276 |
13.2. Подключение модуля PWM Servo | 281 |
13.3. Подключение модуля расширителя портов | 286 |
13.4. Модуль светодиодной матрицы 8x8 | 289 |
13.5. Модуль семисегментных светодиодных индикаторов | 292 |
13.6. Автономный клиент BitTorrent | 294 |
Приложение. Содержание электронного архива | 299 |
Предметный указатель | 301 |