Предисловие |
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 |