Содержание
Предисловие � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 13
Введение � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 15
Для кого предназначена эта книга 15
О чем эта книга 16
Структура книги 16
Что вам потребуется для использования
этой книги 18
Условные обозначения 19
Обратная связь 19
Часть I. Представление BBC micro:bit � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 21
Глава 1. Знакомство с BBC micro:bit � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 22
Обзор платы 22
Компоненты платы 24
Дисплей 24
Кнопки 25
Процессор 27
Радиомодуль 28
Акселерометр 29
Компас 30
Контакты ввода/вывода 31
Порт micro-USB 32
Разъем аккумулятора 33
Глава 2. Начало работы с BBC micro:bit � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 35
Обращение с BBC micro:bit 35
Питание BBC micro:bit 36
Питание через USB-порт 36
Питание от батареек 38
Приветствие от BBC micro:bit 40
Признаки жизни 41
Тестирование кнопок 41
Игра 42
Приступаем к кодированию 42
Сброс BBC micro:bit 43
Глава 3. Программирование BBC micro:bit � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 45
Подключение через USB 45
Тащи и бросай 47
Автоматическая прошивка 49
Редактор кода 50
Загрузка программы 51
О флеш-памяти 55
Часть II. Написание программ для BBC micro:bit � � � � � � � � � � � � � � � � � � � � � � � 57
Глава 4. Языки программирования � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 58
О языках программирования 58
6  Содержание
Три основных языка для BBC micro:bit 59
Язык JavaScript Blocks 59
Язык JavaScript 61
Язык Python 62
Сравнение языков программирования 64
Выбор языка программирования 65
Другие языки программирования 66
Глава 5. JavaScript Blocks � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 67
Знакомство с редактором блоков JavaScript 67
Программа 1. «Hello, World!» 70
Циклы 73
Программа 2. Входные данные, полученные от кнопок 74
Использование нескольких кнопок 76
Программа 3. Использование контактов ввода/вывода 78
Переменные 78
Программа 4. Датчик температуры 82
Форматирование вывода 84
Программа 5. Компас 85
Программа 6. Акселерометр 88
Задержки 91
Чтение необработанных данных акселерометра 92
Программа 7. Игра «Ловец фруктов» 95
Настройка 95
Основной цикл программы 97
Условные циклы 99
Условные операторы 100
Контрольные события 103
Дальнейшие действия 106
Глава 6. JavaScript � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �107
Знакомство с редактором JavaScript 107
Программа 1. «Hello, World!» 110
Циклы 113
Программа 2. Входные данные, полученные от кнопок 114
Использование нескольких кнопок 117
Программа 3. Использование контактов ввода/вывода 119
Переменные 120
Программа 4. Датчик температуры 123
Форматирование вывода 124
Программа 5. Компас 125
Программа 6. Акселерометр 128
Задержки 130
Чтение необработанных данных акселерометра 132
Программа 7. Игра «Ловец фруктов» 134
Настройка 134
Основной цикл программы 136
Содержание  7
Условные циклы 137
Условные операторы 139
Контрольные события 141
Дальнейшие действия 144
Глава 7. Python � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �145
Знакомство с редактором Python 146
Программа 1. «Hello, World!» 148
Циклы 152
Программа 2. Входные данные, полученные от кнопок 153
Использование нескольких кнопок 156
Программа 3. Использование контактов ввода/вывода 158
Переменные 158
Программа 4. Датчик температуры 161
Форматирование вывода 163
Программа 5. Компас 164
Программа 6. Акселерометр 165
Задержки 167
Чтение необработанных данных акселерометра 169
Программа 7. Игра «Ловец фруктов» 170
Настройка 171
Основной цикл программы 173
Условные циклы 174
Условные операторы 175
Создание спрайтов 177
Завершение программы 178
Дальнейшие действия 181
Часть III. Продвинутые проекты BBC micro:bit � � � � � � � � � � � � � � � � � � � � � � � �183
Глава 8. Беспроводное устройство на основе BBC micro:bit � � � � � � � � � � � �184
Радиомодуль BBC micro:bit 184
Программа 1. Обеспечение одноранговой связи 185
Программа 2. Связь между одним и многими устройствами 188
Программа 3. Радиогруппы 190
Тестирование функции группировки 192
Использование BBC micro:bit со смартфоном или планшетом 195
Глава 9. BBC micro:bit и Raspberry Pi � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �196
О Raspberry Pi 197
Подключение Raspberry Pi к BBC micro:bit 198
Чтение данных с BBC micro:bit 202
Использование дисплея BBC micro:bit 207
Практический пример: Мониторинг загрузки ЦП 211
Глава 10. Создание схем � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �215
Электронное оборудование 215
Контакты ввода/вывода 218
Большие контакты 219
8  Содержание
Малые контакты 221
Ваши первые схемы 224
Чтение входных данных с кнопки 225
Чтение цветовых кодов резистора 228
Подача сигнала на LED-выход 229
Обеспечение плавного затухания светодиода с помощью ШИМ 234
Чтение аналогового входного сигнала 236
Глава 11. Расширение возможностей BBC micro:bit � � � � � � � � � � � � � � � � � � �240
Расширение возможностей BBC micro:bit с помощью переходных плат 240
Переходная плата Kitronik Edge Connector Breakout Board 241
Переходная плата ScienceScope Micro:bit 242
Переходная плата Proto-Pic Bread:Bit 243
Переходная плата Proto-Pic Exhi:Bit 243
Робототехника и BBC micro:bit 244
Робот Kitronik Line-Following Buggy 245
Плата Kitronik Motor Driver Board 246
Набор Bit:Bot от 4tronix 247
Наборы BinaryBot 248
Другие дополнения для BBC micro:bit 249
Плата Kitronik Mi:Power 249
Плата Proto-Pic Micro:Pixel 250
Плата Proto-Pic Simon:Says 251
Плата Bit:2:Pi от 4tronix 252
Чехлы Mi:Pro Protector и Mi:Power от Kitronik 253
Глава 12. Носимое устройство на основе BBC micro:bit � � � � � � � � � � � � � � � �254
Преимущества носимого устройства на основе BBC micro:bit 255
Токопроводящая нить 256
Использование токопроводящей нити 258
Шляпа для обнаружения дождя 261
Сборка шляпы 262
Монтаж BBC micro:bit 264
Программа для обнаружения дождя 265
Питание от батареек 266
Глава 13. Дополнительные ресурсы � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �268
Micro:bit Education Foundation 268
Официальные образовательные ресурсы 270
Сторонние образовательные ресурсы 271
Инженерно-технологический институт 271
Подразделение Computing at School 272
BBC micro:bit для начальных школ 273
Журнал TES 274
Проект Code Club 275
Часть IV. Приложения � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �277
Приложение А. Рецепты JavaScript Blocks � � � � � � � � � � � � � � � � � � � � � � � � � � � � �278
Содержание  9
Глава 5. Hello, World! (без цикла) 278
Глава 5. Hello, World! (с циклом) 278
Глава 5. Входные данные, полученные от кнопок (одна кнопка) 278
Глава 5. Входные данные, полученные от кнопок (две кнопки) 279
Глава 5. Использование контактов ввода/вывода 279
Глава 5. Датчик температуры (без форматирования) 279
Глава 5. Датчик температуры (с форматированием) 279
Глава 5. Компас 279
Глава 5. Акселерометр (один значок) 280
Глава 5. Акселерометр (два значка) 280
Глава 5. Чтение данных акселерометра 280
Глава 5. Игра «Ловец фруктов» 281
Глава 8. Обеспечение одноранговой связи (BBC micro:bit A) 281
Глава 8. Обеспечение одноранговой связи (BBC micro:bit B) 282
Глава 8. Связь между одним и многими устройствами (BBC micro:bit C) 282
Глава 8. Радиогруппы (BBC micro:bit A) 282
Глава 8. Радиогруппы (BBC micro:bit B) 283
Глава 8. Радиогруппы (BBC micro:bit C) 283
Глава 10. Чтение входных данных с кнопки 283
Глава 10. Подача сигнала на LED-выход 284
Глава 10. Обеспечение плавного затухания светодиода с помощью ШИМ 284
Глава 10. Чтение аналогового входного сигнала 284
Приложение Б. Рецепты JavaScript � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �285
Глава 6. Hello, World! (без цикла) 285
Глава 6. Hello, World! (с циклом) 285
Глава 6. Входные данные, полученные от кнопок (одна кнопка) 285
Глава 6. Входные данные, полученные от кнопок (две кнопки) 285
Глава 6. Использование контактов ввода/вывода 286
Глава 6. Датчик температуры (без форматирования) 286
Глава 6. Датчик температуры (с форматированием) 286
Глава 6. Компас 286
Глава 6. Акселерометр (один значок) 286
Глава 6. Акселерометр (два значка) 286
Глава 6. Чтение данных акселерометра 286
Глава 6. Игра «Ловец фруктов» 287
Глава 8. Обеспечение одноранговой связи (BBC micro:bit A) 287
Глава 8. Обеспечение одноранговой связи (BBC micro:bit B) 287
Глава 8. Связь между одним и многими устройствами (BBC micro:bit C) 288
Глава 8. Радиогруппы (BBC micro:bit A) 288
Глава 8. Радиогруппы (BBC micro:bit B) 288
Глава 8. Радиогруппы (BBC micro:bit C) 289
Глава 10. Чтение входных данных с кнопки 289
Глава 10. Подача сигнала на LED-выход 289
Глава 10. Обеспечение плавного затухания светодиода с помощью ШИМ 289
Глава 10. Чтение аналогового входного сигнала 290
10  Содержание
Приложение В. Рецепты Python 291
Глава 7. Hello, World! (без цикла) 291
Глава 7. Входные данные, полученные от кнопок (одна кнопка) 291
Глава 7. Входные данные, полученные от кнопок (две кнопки) 291
Глава 7. Использование контактов ввода/вывода 292
Глава 7. Датчик температуры (без форматирования) 292
Глава 7. Датчик температуры (с форматированием) 292
Глава 7. Компас 292
Глава 7. Акселерометр (один значок) 292
Глава 7. Акселерометр (два значка) 292
Глава 7. Чтение данных акселерометра 292
Глава 7. Игра «Ловец фруктов» 293
Глава 8. Обеспечение одноранговой связи (BBC micro:bit A) 293
Глава 8. Обеспечение одноранговой связи (BBC micro:bit B) 294
Глава 8. Связь между одним и многими устройствами (BBC micro:bit C) 294
Глава 8. Радиогруппы (BBC micro:bit A) 294
Глава 8. Радиогруппы (BBC micro:bit B) 295
Глава 8. Радиогруппы (BBC micro:bit C) 295
Глава 9. Считывание данных акселерометра (BBC micro:bit) 295
Глава 9. Считывание данных акселерометра (Raspberry Pi) 296
Глава 9. Использование BBC micro:bit в качестве дисплея 296
Глава 9. Монитор загрузки ЦП 296
Глава 10. Чтение входных данных с кнопки 297
Глава 10. Подача сигнала на LED-выход 297
Глава 10. Обеспечение плавного затухания светодиода с помощью ШИМ 297
Глава 10. Чтение аналогового входного сигнала 297
Приложение Г. Описание контактов BBC micro:bit 299
Предметный указатель 303