Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

77 проектов для Arduino

Покупка
Артикул: 802754.01.99
Доступ онлайн
590 ₽
В корзину
В книге представлено 77 экспериментов для Arduino — ценнейшего практического материала для обучения. Каждый эксперимент подразумевает поэтапное изучение электроники и программирования путем создания проектов на Ардуино. Процесс обучения от начала работы до готового устройства занимает не очень много времени. В рамках нашей программы обучения можно собрать полноценный проект. Например, игру « Змейка», домашнюю метеостанцию, WEB-опросник, бегущую строку, электронные часы с будильником, FM радио, электронный компас и многое другое! Для сборки проектов не требуется паяльник, а порог вхождения в электронику очень легкий, что соответствует нашему девизу: «Arduino — это очень просто!» Авторы книги использовали современные методики обучения. Книгу можно использовать, как методическое пособие. Она содержит подробные иллюстрации к каждому занятию. Теория полностью совмещена с практикой и излагается постепенно, от простого к сложному, не упуская всех деталей.
Петин, В. А. 77 проектов для Arduino / В. А. Петин. - Москва : ДМК Пресс, 2020. - 356 с. - ISBN 978-5-97060-697-1. - Текст : электронный. - URL: https://znanium.com/catalog/product/1998759 (дата обращения: 17.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Петин В. А.

            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, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины.

Установка Arduino IDE 11
Рис. 05. Arduino IDE — выбор платы
   Разрабатываемым скетчам дополнительная функциональность может быть добавлена с помощью библиотек, представляющих собой специальным образом оформленный программный код, реализующий некоторый функционал, который можно подключить к создаваемому проекту. Специализированных библиотек существует множество. Обычно библиотеки пишутся так, чтобы упростить решение той или иной задачи и скрыть от разработчика детали программно-аппаратной реализации. Среда Arduino IDE поставляется с набором стандартных библиотек: Serial, EEPROM, SPI, Wire и др. Они находятся в подкаталоге libraries каталога установки Arduino. Необходимые библиотеки могут быть также загружены с различных ресурсов. Папка библиотеки копируется в каталог стандартных библиотек (подкаталог libraries каталога установки Arduino). Внутри каталога с именем библиотеки находятся файлы *.cpp, *.h. Многие библиотеки снабжаются примерами, расположенными в папке examples. Если библиотека установлена правильно, то она появляется в меню Эскиз | Импорт библиотек. Выбор библиотеки в меню приведет к добавлению в исходный код строчки:
   #include <имя библиотекиЪ>
   Эта директива подключает заголовочный файл с описанием объектов, функций и констант библиотеки, которые теперь могут быть использованы в проекте. Среда Arduino будет компилировать создаваемый проект вместе с указанной библиотекой.
   Перед загрузкой скетча требуется задать необходимые параметры в меню Инструменты | Плата — как показано на рис. 05, и Инструменты | Последовательный порт— показано на рис. 3.

Установка Arduino IDE
Рис. 06. Arduino IDE — монитор последовательного порта
Рис. 07. v Загрузка скетча на плату Arduino

Установка Arduino IDE 13
   Современные платформы Arduino перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса загрузки будут мигать светодиоды RX и TX.
   При загрузке скетча используется загрузчик (bootloader) Arduino — небольшая программа, загружаемая в микроконтроллер на плате. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Работа загрузчика распознается по миганию светодиода на цифровом выводе D13.
   Монитор последовательного порта (Serial Monitor) отображает данные, посылаемые в платформу Arduino (плату USB или плату последовательной шины). Для отправки данных необходимо ввести в соответствующее поле текст и нажать кнопку Послать (Send) или клавишу <Enter> (рис. 06). Затем следует из выпадающего списка выбрать скорость передачи, соответствующую значению Serial.begin в скетче. На ОС Mac или Linux при подключении мониторинга последовательной шины платформа Arduino будет перезагружена (скетч начнется сначала).
   Текст программы (скетч) пишется в окне редактора программного кода. В программе обязательно должны быть две записи, void setup() и void loop() (см. рис. 07) - это так называемые функции, первая выполняется единоразово, при подаче питания на Arduino, а вторая выполняется циклически до тех пор, пока присутствует питание микроконтроллера. В функцию setup() записываются различные настройки микроконтроллера для дальнейшей работы — например, это может быть конфигурация портов ввода/вывода, либо инициализация подключенного вами дисплея или датчика. Главное, что нужно запомнить, с этой функции начинается работа микроконтроллера и все, что в ней написано, выполняется только один раз. Функция loop() выполняется сразу же после функции setup(), и после этого микроконтроллер постоянно работает в ней.
   Теперь загрузим на плату Arduino какой-нибудь скетч. Мы можем найти примеры скетчей в пункте меню Файл ^ Образцы, например Файл ^ Образцы ^ Basics -> Blink. Для загрузки скетча на плату Arduino нажимаем на значок загрузки в панели инструментов (рис. 1.20) и в случае успешной загрузки скетча на плату в окне сообщений появится надпись Вгрузили (рис. 07).
   Результат работы программы - мигание светодиода, подключенного к цифровому выводу 13.
Установка ARDUINO IDE для ESP8266
   Arduino IDE для ESP8266 позволяет писать скетчи и загружать их одним кликом в ESP8266 в знакомой среде Arduino IDE. Рассмотрим установку Arduino IDE для ESP8266.
   Сначала необходимо установить Arduino IDE с официального сайта версии не ниже 1.6.5. Запускаем Arduino IDE. Выбираем пункт Файл ^ Настройки и в поле

Доступ онлайн
590 ₽
В корзину