77 проектов для Arduino
Покупка
Тематика:
Техническая кибернетика. Бионика
Издательство:
ДМК Пресс
Автор:
Петин Виктор Александрович
Год издания: 2020
Кол-во страниц: 356
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
Профессиональное образование
ISBN: 978-5-97060-697-1
Артикул: 802754.01.99
В книге представлено 77 экспериментов для Arduino — ценнейшего практического материала для обучения. Каждый эксперимент подразумевает поэтапное изучение электроники и программирования путем создания проектов на Ардуино. Процесс обучения от начала работы до готового устройства занимает не очень много времени. В рамках нашей программы обучения можно собрать полноценный проект. Например, игру « Змейка», домашнюю метеостанцию, WEB-опросник, бегущую строку, электронные часы с будильником, FM радио, электронный компас и многое другое! Для сборки проектов не требуется паяльник, а порог вхождения в электронику очень легкий, что соответствует нашему девизу: «Arduino — это очень просто!» Авторы книги использовали современные методики обучения. Книгу можно использовать, как методическое пособие. Она содержит подробные иллюстрации к каждому занятию. Теория полностью совмещена с практикой и излагается постепенно, от простого к сложному, не упуская всех деталей.
Тематика:
ББК:
УДК:
ОКСО:
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Петин В. А. 77 ПРОЕКТОВ ДЛЯ ARDUINO Москва, 2020
УДК 681.4:004.9Arduino ББК 32.816с515+32.965с515 П29 Петин В.А. П29 77 проектов для Arduino. — М. ДМК Пресс. 2020. — 356 с.: ил. ISBN 978 5 97060 697 1 В книге представлено 77 экспериментов для Arduino — ценнейшего практического материала для обучения. Каждый эксперимент подразумевает поэтапное изучение электроники и программирования путем создания проектов на Ардуино. Процесс обучения от начала работы до готового устройства занимает не очень много времени. В рамках нашей программы обучения можно собрать полноценный проект. Например, игру «Змейка», домашнюю метеостанцию, WEB-опросник, бегущую строку, электронные часы с будильником, FM радио, электронный компас и многое другое! Для сборки проектов не требуется паяльник, а порог вхождения в электронику очень легкий, что соответствует нашему девизу: «Arduino — это очень просто!» Авторы книги использовали современные методики обучения. Книгу можно использовать, как методическое пособие. Она содержит подробные иллюстрации к каждому занятию. Теория полностью совмещена с практикой и излагается постепенно, от простого к сложному, не упуская всех деталей. УДК 681.4:004.9Arduino ББК 32.816с515+32.965с515 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978 5 97060 697 1 © ООО «ЭМБИТЕХ Групп», 2020 © Оформление, ДМК Пресс, 2020
Содержание Введение................................................................. 6 Установка Arduino IDE.................................................... 8 Плата Arduino+WiFi...................................................... 17 Проводники и плата прототипирования..................................... 18 Блоки питания........................................................... 20 Эксперимент 1. Светодиодный маячок на 4 светодиодах..................... 21 Эксперимент 2. Бегущий огонек на 8 светодиодах.......................... 25 Эксперимент 3. Бегущий огонек на 8 светодиодах - совершенствуем программу.. 29 Эксперимент 4. Десятисегментный линейный индикатор. Пульсирующая шкала..... 32 Эксперимент 5. Два светофора на перекрестке............................. 36 Эксперимент 6. Подключаем к Arduino кнопку.............................. 40 Эксперимент 7. Боремся с дребезгом контактов кнопки..................... 44 Эксперимент 8. Подключаем несколько кнопок, управляем светодиодами......... 48 Эксперимент 9. delay() и millis() - управляем скоростью и направлением «бегущего огня» с помощью кнопок........................................ 53 Эксперимент 10. Подключение 7-сегментного одноразрядного индикатора........ 58 Эксперимент 11. Матрица 4-разрядная из 7-сегментных индикаторов......... 62 Эксперимент 12. Секундомер на 4-разрядной матрице из 7-сегментных индикаторов............................................. 65 Эксперимент 13. Аналоговые входы Arduino. Подключение потенциометра........ 69 Эксперимент 14. Использование потенциометра в качестве регулятора показаний светодиодной шкалы............................................ 74 Эксперимент 15. Клавиатура по однопроводной аналоговой линии............ 77 Эксперимент 16. Широтно-импульсная модуляция. Балансир яркости двух светодиодов....................................... 82 Эксперимент 17. Радуга на RGB-светодиоде................................ 84 Эксперимент 18. До-ре-ми-фа-соль-ля-си. Воспроизводим звуки на Arduino..... 89 Эксперимент 19. Воспроизводим звуки разных октав. Двумерные массивы........ 93 Эксперимент 20. Музыкальный звонок...................................... 97 Эксперимент 21. Библиотеки Arduino. Создание собственной библиотеки.... 102 Эксперимент 22. Матричная клавиатура 4x4............................... 107 Эксперимент 23. Пианино на матричной клавиатуре........................ 112 Эксперимент 24. ЖК-дисплей на контроллере HD44780...................... 116 Эксперимент 25. Создаем калькулятор на матричной клавиатуре............ 120 Эксперимент 26. Управляем движущимся символом на экране дисплея........ 125 Эксперимент 27. 4-х разрядная светодиодная матрица..................... 130 Эксперимент 28. Вывод спрайтов и символов на 4-х разрядную светодиодную матрицу.................................. 133
Содержание Эксперимент 29. Бегущая строка на 4-х разрядной светодиодной матрице....137 Эксперимент 30. Русификация «бегущей строки» на 4-х разрядной светодиодной матрице...................................140 Эксперимент 31. Загрузка по последовательному порту текста для "бегущей строки" на 4-х разрядной светодиодной матрице..............144 Эксперимент 32. Подключаем двухкоординатный джойстик....................149 Эксперимент 33. Игра «Змейка». Управляем перемещением "змейки" на светодиодной матрице с помощью джойстика....................154 Эксперимент 34. Игра «Змейка». Добавляем корм для "змейки"...............161 Эксперимент 35. Игра «Змейка». Последние штрихи..........................167 Эксперимент 36. Индикатор влажности почвы на датчике FC-28..............174 Эксперимент 37. Звуковая сигнализация превышения уровня воды............177 Эксперимент 38. Индикатор шума на датчике звука.........................180 Эксперимент 39. Измерение влажности и температуры воздуха датчиком DHT11.182 Эксперимент 40. Индикатор освещенности на датчике GY30..................185 Эксперимент 41. Домашняя метеостанция на датчике BMP280 и DHT11.........191 Эксперимент 42. Часы реального времени DS3231 Установка (корректировка) времени.......................................196 Эксперимент 43. Часы на 4-х разрядной светодиодной матрице..............201 Эксперимент 44. Часы с бегущей строкой на 4-х разрядной светодиодной матрице...204 Эксперимент 45. Часы на ЖК-дисплее LCD Keypad shield....................210 Эксперимент 46. Добавляем часам на ЖК-дисплее LCD Keypad shield функционал будильника.................................213 Эксперимент 47. Память EEPROM. Запись в EEPROM данных для будильников....218 Эксперимент 48. Часы с будильниками на EEPROM...........................223 Эксперимент 49. Работа с SD-картой......................................225 Эксперимент 50. Сохранение данных метеостанции на SD-карте..............230 Эксперимент 51. Подключение исполнительных устройств....................234 Эксперимент 52. Подключение 4-фазного шагового двигателя................237 Эксперимент 53. Управление скоростью и направлением движения 4-фазного шагового двигателя с LCD Keypad shield...............241 Эксперимент 54. Беспроводная связь по инфракрасному каналу..............245 Эксперимент 55. Управление скоростью и направлением движения 248 4-фазного шагового двигателя по ИК каналу................................ Эксперимент 56. Ультразвуковой датчик расстояния HC-SR04............... 252 Эксперимент 57. Радар на шаговом двигателе и датчике HC-SR04........... 255 Эксперимент 58. Компас на шаговом двигателе и модуле GY273 HMC5883..... 258 Эксперимент 59. RFID-идентификация. Считыватель RFID RC522..............264 Эксперимент 60. Организация контроля доступа по RFID-меткам.............268 Эксперимент 61. Запись информации на RFID-метку.........................271 Эксперимент 62. Считывание данных с RFID-метки..........................277 Эксперимент 63. Подключение модуля TEA5767..............................280 Эксперимент 64. Радиоприемник на модуле TEA5767.........................283 Эксперимент 65. Загрузка скетчей на модуль ESP8266 платы Arduino+WiFi......................................................286
Содержание 5 Эксперимент 66. Обмен данными по последовательному порту между ESP8266 и Arduino Uno платы Arduino+WiFi.........................292 Эксперимент 67. Web-сервер с отображением данных метеостанции..........297 Эксперимент 68. Web-сервер на ESP8266 для управления светодиодами......304 Эксперимент 69. Web-сервер для управления реле через Arduino...........310 Эксперимент 70. Web-сервер управления текстом для бегущей строки на 4-х разрядной светодиодной матрице..................................314 Эксперимент 71. Домашняя метеостанция для сервиса Народный мониторинг..319 Эксперимент 72. Отправка данных датчиков домашней метеостанции на сайт Народного мониторинга..........................................326 Эксперимент 73. Прием на устройстве команд , отправленных с сайта Народного мониторинга..........................................331 Эксперимент 74. Обработка и исполнение команд, полученных с сайта Народный мониторинг............................................335 Эксперимент 75. Протокол MQTT. Отправка данных по протоколу MQTT.......340 Эксперимент 76. Получение данных по протоколу MQTT.....................347 Эксперимент 77. Отправляем с web-сервера в интернет-магазин Arduino-Kit отзывы и пожелания о книге и наборе........................352
Введение Эта книга создавалась одновременно с набором «Лаборатория электроники и программирования. 77 проектов для Arduino». С этой книгой Вы освоите в теории, а с набором на практике основы программирования, конструирования электронных устройств и робототехники на основе контроллеров - плат Arduino и WiFi модулей ESP8266. Arduino — это электронный контроллер и удобная платформа быстрой разработки электронных устройств для новичков и профессионалов. Платформа пользуется огромной популярностью во всем мире благодаря удобству и простоте языка программирования, а также открытой архитектуре и программному коду. Рис. 1. Плата Arduino+WiFi от компании RobotDyn ESP8266
Введение 7 Появившиеся не так давно платы на основе WiFi модуля ESP8266 и представляющие собой полноценный 32 битный микроконтроллер ESP-8266EX со своим набором GPIO, в том числе SPI, UART, I2C, составляют на данный момент конкуренцию платам Arduino, учитывая низкую цену и возможность программировать устройства ESP8266 в среде Arduino IDE. Основным элементом набора, является плата Arduino+WiFi (рис. 1), на которой интегрированы контроллер, совместимый с Arduino UNO R3 и WiFi-модуль ESP8266. Arduino UNO и ESP8266 могут работать вместе или каждый в отдельности, необходимый режим можно установить с помощью находящихся на плате переключателей. Процесс обучения программированию и конструированию будет проходить посредством создания проектов, начиная с простых, и заканчивая достаточно сложными, требующими достаточного уровня мастерства, которое будет повышаться от проекта к проекту. В книге описаны, а в набор включены различные датчики, модули, средства отображения информации, источники питания. Для удобства подключения устройств к плате Arduino+WiFi в наборе присутсвует большая плата прототипирования и множество проводов.
Установка Arduino IDE Установка программного обеспечения Разработка собственных приложений на базе плат, совместимых с архитектурой Arduino, осуществляется в официальной бесплатной среде программирования Arduino IDE. Среда предназначена для написания, компиляции и загрузки собственных программ в память микроконтроллера, установленного на плате Arduino-совместимого устройства. Основой среды разработки является язык Processing/Wiring — это фактически обычный C++, дополненный простыми и понятными функциями для управления вводом/выводом на контактах. Существуют версии среды для операционых систем Windows, Mac OS и Linux. При написании этой книги использовались версии Arduino IDE не ниже 1.6.5. Скачать Arduino IDE можно на официальном сайте www.arduino.cc. Установка ARDUINO IDE в WINDOWS Отправляемся на страницу https://www.arduino.cc/en/Main/OldSoftwareReleas-es#previous (рис. 02), выбираем версию для операционной системы Windows и скачиваем архивный файл. Он занимает чуть более 80 Мбайт и содержит все необходимое, в том числе и драйверы. По окончании загрузки распаковываем скачанный файл в удобное для себя место. Теперь необходимо установить драйверы. Подключаем Arduino к компьютеру. На контроллере должен загореться индикатор питания — зеленый светодиод. Windows начинает попытку установки драйвера, которая заканчивается сообщением Программное обеспечение драйвера не было установлено. Открываем Диспетчер устройств. В составе устройств находим значок Arduino UNO — устройство отмечено восклицательным знаком. Щелкаем правой кнопкой мыши на значке Arduino UNO и в открывшемся окне выбираем пункт Обновить драйверы и далее пункт Выполнить поиск драйверов на этом компьютере. Указываем путь к драйверу — ту папку на компьютере, куда распаковывали скачанный архив. Пусть это будет папка drivers каталога установки Arduino — например, C:\arduino-1.6.5\drivers. Игнорируем все предупреждения Windows и получаем в результате сообщение Обновление программного обеспечения
Установка Arduino IDE 9 Arduino 1.6.x₍ 1.5.x BETA These packages are no longer supported by the development team. Windows 1.8.5 mac os x Windows Installer Windows 1.8.4 MAC OS X Windows Installer Windows 1.83 MAC OS X Windows Installer Windows 1.82 MAC OS X Windows Installer Windows MAC OS X Windows Installer Windows MAC OS X Windows Installer Windows MAC OS X Windows Installer Windows 1.6.12 MAC OS X Windows Installer Windows 1.6.11 MAC OS X Windows Installer Windows 1.6.10 MAC OS X Windows Installer Linux 32 Bit Linux 64 Bit Linux ARM Linux 32 Bit Linux 64 Bit Linux ARM Linux 32 Bit Linux 64 Bit Linux ARM Linux 32 Bit Linux 64 Bit Linux ARM Linux 32 Bit Linux 64 Bit Linux ARM Linux 32 Bit Linux 64 Bit Linux ARM Linux 32 Bit Linux 64 Bit Linux ARM Linux 32 Bit Linux 64 Bit Linux ARM Linux 32 Bit Linux 64 Bit Linux ARM Linux 32 Bit Linux 64 Bit Source code on Github Source code on Github Source code on Github Source code on Github Source code on Github Source code on Github Source code on Github Source code on Github Source code on Github Source code on Github Рис. 02. Страница загрузки всех версий Arduino IDE официального сайта Arduino для данного устройства завершено успешно. В заголовке окна будет указан и COM-порт, на который установлено устройство. Осталось запустить среду разработки Arduino IDE (рис. 03). В списке доступных портов отображается название платы Arduino. Рис. 03. Arduino IDE — среда разработки
Установка Arduino IDE настройка среды ARDUINO IDE Среда разработки Arduino состоит (рис. 04) из: q редактора программного кода; q области сообщений; q окна вывода текста; q панели инструментов с кнопками часто используемых команд; q нескольких меню. Рис. 04. Окно Arduino IDE Программа, написанная в среде Arduino, носит название скетч. Скетч пишется в текстовом редакторе, который имеет цветовую подсветку создаваемого программного кода. Во время сохранения и экспорта проекта в области сообщений появляются пояснения и информация об ошибках. Окно вывода текста показывает сообщения Arduino, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины.