loading

Logout succeed

Logout succeed. See you again!

ebook img

Практическая энциклопедия Arduino PDF

pages151 Pages
release year2017
file size14.597 MB
languageRussian

Preview Практическая энциклопедия Arduino

УДК 681.4:004.9Arduino ББК 32.816с515+32.965с515 П29 Пenrn В. А.,Б иняковский А.А . П29 Практическая энциклопедия Arduino. М.: ДМК Пресс, - 2017. - 152 с. ISBN 978-5-97060-344-4 В книгоеб общаютдсаян ныпео о сновныкмо мпоненктоанмс трук­ цийн а основпел атформAыr duinкoо,т орупюр едставлсяаемта я массовнааяс егодняшндиейн ьв ерсиAяr duinoUNиOл иа налогич­ ныее йм ногочислекнлноынеы К.н игпар едставслоябеотнй а боирз 33 глав-эксперимВе кнатжодво.эм к сперимернатсес мотрреанбао ­ тап латыA гduinсo о пределенэнлыемк троннкыомм понентиолми модуленма,ч инася с амыхп ростыих з аканчисвлаояж нымпир,е д­ ставляющисмоиб осйа мостоятелсьпнеыцеи ализировуаснтнрыоей ­ стваВ .к аждогйл авпер едставслпеинс одке таленйе,о бходимдылхя практичеспкроогвое деэнкисяп еримеДнлтяак .а ждогэок сперимента приведевниаз уальснхаеям сао единеднеитяа лве фйо рматиен тегри­ рованнсорйе дрыа зрабоFтrкiиt ziОnнgа.д аента гляднио тео чное представл-екнаикде о лжнваы глядестоьб раннсахяе мДаа.л едеа ют­ сят еоретичессвкеидее ноибяи спользуекмооммп онеинлтием одуле. Каждагял авсао держкиотдс кет(чпар ограмнмаыв )с троенянзоымк е Aгduiсnк oо мментариВя кмоин.ц кеа ждогйл авсыо держастссыял ки дляс качивансикяе тчсе йс айтhаt tp://arduinдoо-пkоiлtн.иrтuе,л ь­ ныхп рограмам т,а кжнеа в идеоурдоакн ноэгкос перимента. УДК 681.4:004.9Arduino ББК 32.816с515+32.965с515 Всеп равзаа щищеныЛ.ю баяч астэьт ойк нигин ем ожетб ытьв оспроиз­ веденва к акобйы тон иб ылоф ормеи какимбиы тон иб ылос редствабмеиз письменноргаоз решенвиляа дельцаеввт орскпирха .в Материали,з ложеннывй д аннойк нигем,н огократпнроо вереНно., п о­ скольквуе роятнотсетхьн ическоишхи бокв сер авнос уществуиезтд,а тельство нем ожетг арантироваабтсьо люутюн точностиь п равильносптрьи водимых сведениВй с.в язсиэ тими здательснтевн ое сеотт ветственнзоасв тоиз можыне ошибкис,в язаннсыи ес пользованкинеимг и. ©ООО ЭМБИТЕХГ рупп2,01 7 ISBN 978-5-97060-344-4 © Оформлнеие,и зданиДеМ,К Пресс20,17 СОДЕРЖАНИЕ Что такое Arduino .. " .. """ ..." "".". ." .. " .." .. ""." .. " .." ."""". ...... ". ...." ..... ". .. ".5 ."." Установка Arduino IDE ......." .... " ......." "" .." .. ". ...... " ....." " ........... " ....." .. ".". .." .8 1 Светодиод. Мигаем светодиодом .""."". ..." .........." .". ...." ........" ."" .. ".12 2 Кнопка. Обрабатываем нажатие кнопки на примере зажигания светодиода. Боремся с дребезгом ....." .." .." " ..." """" ..." "15 3 Потенциометр. Показываем закон Ома на примере яркости светодиода ... " .." ."." ... "." .." .. " .." ..." .". ...." " ... " ......" .""". ........ " .. " .. "" ....." .20 4 Светодиодная шкала 1 О сегментов. Крутим потенциометр, меняем количество светящихся светодиодов ..." .." . ." ." .. " ...." ..... ". .2 3 5 RGВ-светодиод. Широтно-импульсная модуляция. Переливаемся цветами радуги ........... "." ....." ..... " ............. ".". ." .". . " .. ".28 6 Семисегментный индикатор одноразрядный. Выводим цифры".". ." .""" .." " ... " .. " .................." .. "." ............ " ..... " ............." .. """.""".33 7 Матрица 4-разрядная из 7-сегментных индикаторов. Делаем динамическую индикацию".". .." .". ." " .." ."". .." ". ." ........." ....... "36 8 Микросхема сдвигового регистра 7 4НС595. Управляем матрицей из 4 разрядов, экономим выводы Ардуино." ... " ..........." 43 9 Матрица светодиодная 8х8 ".".". ............ ". ." ......" .".""."."." .." ...." ......" 47 1 О Пьезоизлучатель. Управляем пьезоизлучателем: меняем тон, длительность, играем Имперский марш" ....." ." .. "." .... """ .." .." 50 11 Транзистор MOSFET. Показываем усилительные качества транзистора. На примере электродвигателя изменяем обороты 55 ........................................................................................................... 12 Реле. Управляем реле через транзистор .." ......" ." .." .." "".". .." """.".58 13 Фоторезистор. Обрабатываем освещённость, зажигая или гася светодиоды" .......................... "".".". ." . ..... ".". ......" ." .. " .." "." .. ".62 14 Датчик температуры аналоговый LM335. Принцип работы, пример работы .." .""""" ... " ....." ." ... " .. "." .. "."."". ... " .............. "" .." . . "." .. ".66 15 Индикатор LCD1602. Принцип подключения, вывод информации на него .. " ........." .. " .." . ........ ". ..." ... ".""" .." ....." . ....." "".""".69 16 Графический индикатор на примере Nokia 5110 " ...." .." ...." .". ...." .73 17 Сервопривод. Крутим потенциометр, меняем положение .""".". 77 4 СОДЕРЖАНИЕ 18 Джойстик. Обрабатываем данные от джойстика. Управление Pan/Tilt Bracket с помощью джойстика ......." . ........... 81 19 Шаговый двигатель 4-фазный, с управлением на ULN2003 (L293) ".". ..........." ........ " .. " ....... """ .. "."" ....." .".".". .... " .. "."85 20 Датчик температуры DS 18В20 ......." ". .." "" .." ..." " ..." .." .." """.""".". .. 89 21 Датчик влажности и температуры DHT11"" ..." """ ......" .." .." ..." "".93 22 Датчики газов. Принцип работы, пример работы""""". ." .." ....." ".97 23 Ультразвуковой датчик расстояния HC-SR04. Принцип работы, подключение, пример."".".""" ..... ". .." .". .. " .... " ......... " ..." . .... 100 24 3-осевой гироскоп + акселерометр на примере GY-521." .. " .. "". 104 25 ИК-фотоприемник и ИК-пульт. Обрабатываем команды от пульта ..... " ....." .".""" ...... ". .......... ". ...." ". ......" "". . ".". .." .." ...." "". . " ...." 107 26 Часы реального времени. Принцип работы, подключение, примеры " .. ". ......" ". ............. """" ........" ... ". .." ..." .. " ...... " .. """. .. " .. " ..." "". 111 27 SD-карта. Чтение и запись данных."" ...." "". ." .." """.""". .." .." ". . ". 117 28 Считыватель RFID на примере RC522. Принцип работы, подключение, примеры . 120 ..... " .............. " ... " ................................................ 29 Работа с Интернетом на примере Arduino Ethernet shield W5100.". .. ". .............." .""". ..." . ............................." .." .".". ......" ." .." .". ....... 126 30 Беспроводная связь. Модуль Wi-Fi ESP8266"" ..." ...." " ..." .." .." ." 131 31 Беспроводная связь. Модуль Вluetooth НС-05 ..." ......." . ." .. ".". ." 137 32 Беспроводная связь. Модуль GSM/GPRS SIM900 ......" ". ........" 142 33 Модуль GPS. Принцип работы, подключение, примеры.""."". 147 Что такое Arduino Arduino - это электронный конструктор и удобная платформа быст­ рой разработки электронных устройств для новичков и профессио­ налов. Платформа пользуется огромной популярностью во всем ми­ ре благодаря удобству и простоте языка программирования, а также открытой архитектуре и программному коду. Плата Arduino состо­ ит из микроконтроллера Atmel AVR и элементов обвязки для про­ граммирования и интеграции с другими схемами. На многих платах присутствует линейный стабилизатор напряжения +5 В или +3,3 В. Тактирование осуществляется на частоте 16 или 8 МГц кварцевым резонатором (в некоторых версиях - керамическим резонатором). В микроконтроллер предварительно прошивается загрузчик Boot­ Loader, поэтому внешний программатор не нужен. Устройство про­ граммируется через USB без использования программаторов. Существует несколько версий платформ Arduino. Версия Leonar­ do базируется на микроконтроллере ATmega32u4. Uno, Nano, Duemi­ lanove построены на микроконтроллере Atmel ATmega328. Старые версии платформы Diecimila и первая рабочая Duemilanoves были разработаны на основе Atmel ATmega168. Arduino Mega2560, в свою очередь, построена на микроконтроллере ATmega2560. А самые по­ следние версии Arduino Due - на базе микропроцессора Cortex. Версия UNO (рис. 1) является одной из самых популярных и широко используемой для небольших проектов. РD1>1!м ICSP Сrа6ип1ааТор НanplDllll!ltМI 3,3 в Рис. 1. Плата Arduino UNO 6 Практическая энциклопедия Arduino Характеристики платы Arduino UNO показаны в табл. 1.1. Таб11ица 1.1 Микроконтроллер ATmeqa328 Рабоченеа пряжение SB Напряженпииет ан(иряе комендуемое7)- 12в Напряженпииет ан(ипяр едельное) 6-20в Цифровывех оды/выходы 14( инзи х6 могуитс пользоваться вк ачестШвИеМ -выходов) Аналоговвыхео ды 6 Максимальнтыойко дногвоы вода 40мА Максимальнвыыйх однтоойкв ывод3а. 3В SОмА Flаsh-память 32К Б (ATmega32и8зк) о,т орых 0,5КБ используюзтасгяр узчиком SRAМ 2 КБ (ATmega328) EEPROM 1 КБ (АmТe ga328) Тактовчааяст ота 16МГц Каждый из 14 цифровых выводов может работать в качестве входа или выхода. Уровень напряжения на выводах ограничен 5 В. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) но­ миналом 20-50 кОм. Помимо этого, некоторые выводы Ардуино могут выполнять дополнительные функции: последовательный интерфейс: выводы О (RX) и 1 (ТХ); • внешние прерывания: выводы 2 и 3; • ШИМ: выводы 3, 5, 6, 9, 10 и 11 могут выводить 8-битные • аналоговые значения в виде ШИМ-сигнала; интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 • (SCK); светодиод: 13. Встроенный светодиод, подсоединенный к вы­ • воду 13. В Arduino Uno есть 6 аналоговых входов (АО-А5), каждый из которых может представить аналоговое напряжение в виде 10-бит­ ного числа (1024 различных значения). По умолчанию измерение напряжения осуществляется относительно диапазона от О до 5 В. Тем не менее верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference(). Некоторые из аналоговых входов имеют дополнительные функции: Что такое Arduino 7 ТWI: вывод А4 или SDA и вывод AS или SCL. • В Arduino Uno есть восстанавливаемые предохранители, защища­ ющие USВ-порт компьютера от коротких замыканий и перегрузок. Несмотря на то что большинство компьютеров имеют собственную защиту, такие предохранители обеспечивают дополнительный уро­ вень защиты. Если от USВ-порта потребляется ток более 500 мА, предохранитель автоматически разорвет соединение до устранения причин короткого замыкания или перегрузки. Установка Arduino IDE Разработка собственных приложений на базе плат, совместимых с архитектурой Arduino, осуществляется в официальной бесплатной среде программирования Arduino IDE. Среда предназначена для на­ писания, компиляции и загрузки собственных программ в память микроконтроллера, установленного на плате Аrduinо-совместимого устройства. Основой среды разработки является язык Processing/ Wiring - это фактически обычный С++, дополненный простыми и понятными функциями для управления вводом/выводом на контак­ тах. Существуют версии среды для операционных систем Windows, Мае OS и Linux. Последнюю версию среды Arduino можно скачать со страницы загрузки официального сайта http://arduino.cc/en/Main/Software. Рассмотрим установку Arduino IDE на компьютере с операци­ онной системой Windows. Отправляемся на страницу http://arduino. cc/en/Main/Software, выбираем версию для операционной системы Windows и скачиваем архивный файл. Он содержит все необходи - мое, в том числе и драйверы. По окончании загрузки распаковываем скачанный файл в удобное для себя место. Теперь необходимо установить драйверы. Подключаем Arduino к компьютеру. На контроллере должен загореться индикатор пи­ тания - зеленый светодиод. Windows начинает попытку установки драйвера, которая заканчивается сообщением �Программное обе­ спечение драйвера не было установлено». Открываем Диспетчер устройств. В составе устройств находим значок Arduino Uno - устройство отмечено восклицательным знаком. Щелкаем правой кнопкой мыши на значке Arduino Uno и в открывшемся окне вы­ бираем пункт Обновить драйверы и далее пункт Вьшолнитъ поиск драйверов на этом компьютере. Указываем путь к драйверу - ту папку на компьютере, куда распаковывали скачанный архив. Пусть это будет папка drivers каталога установки Arduino - например, C:\arduino-1.0\drivers. Игнорируем все предупреждения Windows и получаем в результате сообщение Обновление программного обе­ спечения для данного устройства завершено успешно. В заголовке окна будет указан и СОМ-порт, на который установлено устройство. Теперь можно запускать Arduino IDE. Среда разработки Arduino (см. рис. 2) состоит из: редактора проrраммного кода; • области сообщений; • Установка Arduino IDE 9 ,:,j h L-, Рис. 2. Среда Arduino IDE окна вывода текста; • панели инструментов с кнопками часто используемых команд; • нескольких меню. • Программа, написанная в среде Arduino, носит название скетч. Скетч пишется в текстовом редакторе, который имеет цветовую подсветку создаваемого программного кода. Во время сохранения и экспорта проекта в области сообщений появляются пояснения и информация об ошибках. Окно вывода текста показывает сообще­ ния Arduino, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины. 10 Практическая энциклопедия Arduino Разрабатываемым скетчам дополнительная функциональность может быть добавлена с помощью библиотек, представляющих со­ бой специальным образом оформленный программный код, реа­ лизующий некоторый функционал, который можно подключить к создаваемому проекту. Специализированных библиотек существует множество. Обычно библиотеки пишутся так, чтобы упростить ре­ шение той или иной задачи и скрыть от разработчика детали про­ граммно-аппаратной реализации. Среда Arduino IDE поставляется с набором стандартных библиотек. Они находятся в подкаталоге libraries каталога установки Arduino. Необходимые библиотеки мо­ гут быть также загружены с различных ресурсов. Если библиотека установлена правильно, то она появляется в меню Эскиз 1 Импорт библиотек. Выбор библиотеки в меню приведет к добавлению в ис­ ходный код строчки #include <имя библиотеки.h> Эта директива подключает заголовочный файл с описанием объ­ ектов, функций и констант библиотеки, которые теперь могут быть использованы в проекте. Среда Arduino будет компилировать соз­ даваемый проект вместе с указанной библиотекой. Перед загрузкой скетча требуется задать необходимые параметры 1 в меню Инструменты 1 Плата (Tools Board) (рис. 3) и Инструмен­ ты 1 Последовательный порт (рис. 4). Современные платформы Arduino перезагружаются автомати­ чески перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса за­ грузки будут мигать светодиоды RX и ТХ. При загрузке скетча используется загрузчик (bootloader) Ardui­ no - небольшая программа, загружаемая в микроконтроллер на пла­ те. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Работа загрузчика распозна­ ется по миганию светодиода на цифровом выводе D13. Монитор последовательного порта (Serial Monitor) отображает данные, посылаемые в платформу Arduino (плату USB или плату последовательной шины). Теперь, когда мы немного узнали об Arduino и среде программи­ рования Arduino IDE, перейдем к практическим занятиям - экс­ периментам.

See more

The list of books you might like