loading

Logout succeed

Logout succeed. See you again!

ebook img

Изучаем Arduino. 65 проектов своими руками PDF

pages400 Pages
release year2017
file size6.57 MB
languageRussian

Preview Изучаем Arduino. 65 проектов своими руками

ББК 32.973.23-018.2 УДК 004.3 Б78 Бокселл Дж. Б78 Изучаем Arduino. 65 проектов своими руками. — СПб.: Питер, 2017. — 400 с.: ил. — (Серия «Вы и ваш ребенок»). ISBN 978-5-496-02421-1 Что такое Arduino? За этим словом прячется легкое и простое устройство, которое способно пре- вратить кучу проводов и плат в робота, управлять умным домом и многое другое. Прочитайте эту книгу и овладейте бесчисленными возможностями Arduino, позволяющими электронике взаимодействовать с окружающим миром. Познакомившись с основами Arduino, вы быстро перейдете к работе с разнообразными электронны- ми компонентами. А конкретные проекты позволят вам сразу закрепить знания на практике. Страница за страницей проекты будут становиться все более изощренными, сложными и интересными. 12+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.) ББК 32.973.23-018.2 УДК 004.3 Права на издание получены по соглашению с No Starch Press. Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав. Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как на- дежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1593274481 англ. Copyright © 2013 by John Boxall ISBN 978-5-496-02421-1 © Перевод на русский язык ООО Издательство «Питер», 2017 © Издание на русском языке, оформление ООО Издательство «Питер», 2017 © Серия «Вы и ваш ребенок», 2017 Краткое содержание Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Глава 1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Глава 2. Знакомство с платой Arduino и IDE . . . . . . . . . . . . . . . . . . . . . . . 39 Глава 3. Первые шаги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Глава 4. Строительные блоки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Глава 5. Функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Глава 6. Числа, переменные и арифметика . . . . . . . . . . . . . . . . . . . . . . 134 Глава 7. Жидкокристаллические индикаторы . . . . . . . . . . . . . . . . . . . . . 173 Глава 8. Расширение Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Глава 9. Цифровые клавиатуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Глава 10. Сенсорные экраны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Глава 11. Семейство плат Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Глава 12. Электродвигатели и движение . . . . . . . . . . . . . . . . . . . . . . . . 253 Глава 13. Arduino и GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Глава 14. Беспроводная передача информации . . . . . . . . . . . . . . . . . . . 300 Глава 15. Инфракрасный пульт дистанционного управления . . . . . . . . . 314 Глава 16. Чтение радиомаркеров RFID . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Глава 17. Шины данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Глава 18. Часы реального времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Глава 19. Интернет . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 Глава 20. Сети сотовой связи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Оглавление Благодарности ............................................ 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

See more

The list of books you might like