Электроника Сборник рецептов Готовые решения на базе Arduino и Raspberry Pi Electronics Cookbook Practical Electronic Recipes with Arduino and Raspberry Pi SimonMonk Beijing • Boston • Farnham • Sebastopol • Tokyo O"REILLY" Электроника Сборник рецептов Готовые решения на базе Arduino Raspberry Pi и Саймон Монк Москва· Санкт-Петербург 2019 ББК 32.85 М77 УДК 621.38 Компьютерное издательство "J(иалектика" Перевод с английского И.В. Василенко Под редакцией В.Р. Гинзбурга По общим вопросам обращайтесь в издате11ьство "Диалектика" по адресу: [email protected], http://www.dialektika.com Монк, Саймон. М77 Электроника. Сборник рецептов: готовые решения на базе Arduino и Raspberry Pi. : Ilep. с англ. - СПб.: ООО "Диалектика': 2019. - 480 с.: ил. - Парал. тит. англ. ISBN 978-5-907114-54-8 (рус.) ББК 32.85 Все названю1 программных продуктов являются зарегистрированными торговыми марками соответ ствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то э11ектронныс или механические, включая фотоко пирование и запись на магнитный носитель, если на это нет письменного разрешения издательства O'Reilly Media, !пс. Authorized Russiaп traпslatioп of the Eпglish editioп of Electro11ics Cookbook (JSBN 978-1-491-95340-2) © 2017 Simoп Мопk. This traпslatioп is puЬlished апd sold Ьу permissioп of O'Reilly Media, !пс" which owпs or coпtrols al\ rights to sell the same. All rights reserved. No part of this book may Ье reproduced or traпsmitted iп any form or Ьу any means, elec tronic or mechanical, including photocopyiпg, recording, or Ьу апу iпformation storage or retrieval system, withoul the prior writteп permissioп of the copyright owпer апd the PuЬlisher. Научно-популярное издание СаймонМонк Электроника. Сборник рецептов: готовые решения на базе Arduino и Raspberry Pi Ilодписано в пс•1ать 15.01.2019. Формат 70х100/16. lарвитура Times. Усл. печ. л. 38,7. Уч.-изд. л. 30. Тираж 400 экз. Заказ № 665. От11с•1атано в АО "Ilервая Образцовая типография" Филиал "Чеховский Ilечатный Двор" 142300, Московская область,'" Чехов, ул. llолиграфистов, д. 1 Сайт: www.chpd.ru, E-mail: [email protected], те11. 8 (499) 270-73-59 ООО "Диа11ектика': 195027, Санкт-Ilетербург, Ма1·11ито1·орская ул" д. 30, лит. А, пом. 848 ISBN 978-5-907114-54-8 (рус.) © 2019 ООО "Диалектика" ISBN 978-1-491-95340-2 (англ.) © 2017 Simoп Monk Оглавление Введение 15 Глава 1. Основные законы 21 Глава 2. Резисторы 31 Глава 3. Конденсаторы и катушки индуктивности 49 Глава 4. Диоды б5 Глава 5. Транзисторы и интегральные микросхемы 75 Глава 6. Переключатели и реле 97 Глава 7. Источники питания 105 Глава 8. Батарейки и аккумуляторы 139 Глава 9. Солнечные панели 153 Глава 10. Arduiпo и Raspberry Pi 165 Глава 11. Переключение сигналов 201 Глава 12. Датчики 227 Глава 13. Электродвигатели 263 Глава 14. Светодиоды и индикаторы 287 Глава 15. Цифровые интегральные микросхемы 323 Глава 16. Аналоговая электроника 335 Глава 17. Операционные усилители 359 Глава 18. Звук 381 Глава 19. Радио 397 Глава 20. Сборка 413 Глава 21. Инструменты и оборудование 437 Приложение А. Комплектующие и поставщики 457 Приложение Б. Расположение выводов на плате Arduino 467 Приложение В. Расположение выводов на плате Raspberry Pi 469 Приложение Г. Единицы измерения 471 Предметный указатель 473 Содержание Об авторе 13 Об изображении на обложке 13 Введение 15 На кого рассчитана эта книга 15 Идея книги 15 Современная электроника 16 Структура книги 16 Условные обозначения 19 Файлы примеров 19 Ждем ваших отзывов! 20 Гnава 1. Основные законы 21 1.1. Электрический ток 21 1.2. Напряжение 22 1.3. Связь напряжения, тока и сопротивления 23 1.4. Ток в произвольной точке цепи 25 1.5. Напряжение в произвольной ветви цепи 26 1.6. Электрическая мощность 28 1.7. Переменный ток 28 Гnава 2. Резисторы 31 2.1. Маркировка резисторов 31 2.2. Подбор номинала резистора 33 2.3. Переменные резисторы 34 2.4. Последовательное подключение резисторов 36 2.5. Параллельное подключение резисторов 38 2.6. Понижение напряжения до необходимого уровня 40 2.7. Подбор резистора, выдерживающего рабочую нагрузку 41 2.8. Измерение уровня освещенности 43 2.9. Измерение температуры 44 2.10. Подбор проводов 45 Гnава 3. Конденсаторы и катуwки индуктивности 49 3.1. Временное сохранение заряда 49 3.2. Типы конденсаторов 54 3.3. Маркировка конденсаторов 56 3.4. Параллельное подключение конденсаторов 57 3.5. Последовательное подключение конденсаторов 58 3.6. Накопление больших зарядов 58 3.7. Расчет энергии, накопленной конденсатором 59 3.8. Изменение формы сигнала 60 3.9. Преобразование напряжения 61 Гnава 4. Диоды 65 4.1. Предотвращение протекания электрического тока 65 4.2. Типы диодов 68 4.3. Ограничение постоянного напряжения 69 4.4. Да будет свет! 71 4.5. Датчик освещенности 73 Гnава S. Транзисторы и интеграnьные микросхемы 75 5.1. Переключение токов слабыми сигналами 76 5.2. Переключение токов с большим коэффициентом усиления 80 5.3. Переключение сильных токов 81 5.4. Переключение сигналов высокого напряжения 84 5.5. Подбор транзистора 86 5.6. Переключение переменных токов 89 5.7. Датчик освещенности на транзисторах 90 5.8. Оптическая развязка в электрической цепи 91 5.9. Интегральные микросхемы 93 Гnава 6. Перекnючатеnи и pene 97 6.1. Механические переключатели 97 6.2. Типы переключателей 98 6.3. Магнитный переключатель 101 6.4. Механические реле 102 Гnава 7. Источники питания 105 7.1. Преобразование переменного напряжения 106 7.2. Преобразование переменного напряжения в постоянное, зависящее от нагрузки 107 7.3. Преобразование переменного напряжение в постоянное с уменьшенной пульсацией 109 7.4. Преобразование переменного напряжения в стабилизированное постоянное 112 7.5. Преобразование переменного напряжения в регулируемое постоянное 114 7.6. Стабилизация напряжения на выходе батарейки 116 7. 7. Стабилизированный источник тока 117 7.8. Стабилизатор постоянного напряжения с высоким КПД 118 7.9. Преобразование низкого постоянного напряжения в высокое 119 7.10. Преобразование постоянного напряжения в переменное 120 7.11. Питание от электросети с переменным напряжением 110 или 220 В 123 7.12. Умножение напряжения 125 7.13. Повышение напряжения до 450 В 126 7.14. Создание источников питания очень высокого напряжения (больше 1 кВ) 129 Содержание 1 7 7.15. Источник питания сверхвысокого напряжения 130 7.16. Предохранитель 133 7.17. Защита от напряжения неправильной полярности 135 Гnава 8. Батарейки и аккумуnяторы 139 8.1. Ожидаемый срок службы 139 8.2. Подбор батареек разового использования 141 8.3. Подбор аккумуляторов 143 8.4. Дозарядка аккумуляторов 144 8.5. Источник аварийного питания 146 8.6. Зарядка литий-полимерных аккумуляторов 147 8.7. Полная разрядка источника питания 149 Гnава 9. Соnнечные панеnи 153 9.1. Получение электроэнергии из солнечного света 153 9.2. Выбор солнечной панели 156 9.3. Измерение выходной мощности солнечной панели 158 9.4. Электропитание Arduino от солнечной панели 161 9.5. Электропитание Raspberry Pi от солнечной панели 162 Гnава 10. Arduino и Raspberry Pi 165 10.1. Обзор платы Arduino 165 10.2. Загрузка скетчей, используемых в проектах книги 168 10.3. Обзор платы Raspberry Pi 169 10.4. Загрузка программ Python, используемых в проектах книги 171 10.5. Автоматический запуск программ при загрузке Raspberry Pi 172 10.6. Альтернативы Arduino и Raspberry Pi 173 10.7. Переключение сигналов 175 10.8. Управление цифровыми выходами платы Arduino 179 10.9. Управление цифровыми выходами платы Raspberry Pi 180 10.10. Считывание сигналов, подаваемых на вход Arduino 182 10.11. Считывание сигналов, подаваемых на вход Raspberry Pi 184 10.12. Считывание аналоговых сигналов в Arduino 186 10.13. Изменение напряжения на выводах Arduino 188 10.14. Изменение напряжения на выводах Raspberry Pi 192 10.15. Подключение оборудования к Raspberry Pi через соединение I2C 193 10.16. Подключение оборудования к Raspberry Pi через соединение SPI 196 10.17. Преобразование логических уровней 197 Гnава 11. Перекnючение сигнаnов 201 11.1. Переключение сигналов с мощностью выше допустимой для Arduino и Raspberry Pi 201 11.2. Ключ верхнего плеча 203 11.3. Переключение сигналов высокой мощности 206 11.4. Переключение сигналов высокой мощности ключом верхнего плеча 209 8 1 Содержание 11.5. Выбор между биполярным и МОП-транзистором 210 11.6. Управление питанием из Arduino 211 11. 7. Управление питанием из Raspberry Pi 216 11.8. Переключение питания в обоих направлениях 218 11.9. Управление реле через вывод GPIO 219 11.10. Управление полупроводниковыми реле через вывод GPIO 221 11.11. Подключение устройств через вывод с открытым коллектором 223 Гnава 12. Датчики 227 12.1. Подключение переключателя к Arduino или Raspberry Pi 227 12.2. Датчик уrла поворота 232 12.3. Считывание аналогового сигнала с выхода резистивного датчика 237 12.4. Подключение АЦП к Raspberry Pi 240 12.5. Подключение резистивного датчика к Raspberry Pi без использования АЦП 241 12.6. Определение уровня освещенности 243 12.7. Измерение температуры с помощью Arduino 244 12.8. Измерение температуры с помощью Raspberry Pi без использования АЦП 247 12.9. Измерение угла поворота с помощью потенциометра 249 12.1 О. Измерение температуры аналоговым датчиком 250 12.11. Измерение температуры цифровым датчиком 253 12.12. Измерение влажности 257 12.13. Измерение расстояния 259 Гnава 13. Эnектродвиrатеnи 263 13.1. Управление электродвигателем постоянного тока 263 13.2. Измерение скорости вращения вала двигателя постоянного тока 265 13.3. Изменение направления вращения вала электродвигателя постоянного тока 267 13.4. Поворот вала двигателя на строго заданный угол 272 13.5. Шаговое вращение вала электродвигателя 277 13.6. Подбор простого шагового двигателя 282 Гnава 14. Светодиоды и индикаторы 287 14.1. Подключение светодиода к выводу GPIO 287 14.2. Управление светодиодами повышенной яркости 290 14.3. Управление массивом светодиодов 293 14.4. Управление питанием массива светодиодов 295 14.5. Мультиплексное управление семисегментным индикатором 295 14.6. Управление большим количеством светодиодов 299 14.7. Управление RGВ-светодиодом 304 14.8. Управление лентой RGВ-светодиодов с адресным доступом 309 14.9. Управление многоразрядным семисегментным индикатором 313 через 12С-соединение 14.10. Вывод графических изображений на ОLЕD-дисплей 317 14.11. Вывод текста на алфавитно-цифровой дисплей 319 Содержание 1 9