Читать книгу: «Лабораторные стенды в рамках исследований и экспериментов. Разработка на основе аппаратно-вычислительной платформы»

Шрифт:

© Сергей Александрович Евдокимов, 2023

ISBN 978-5-0059-8443-2

Создано в интеллектуальной издательской системе Ridero

Добро пожаловать в мир Arduino!

Изучаем низкоуровневое программирование с Arduino!

 
Учебная и научная литература
для инженеров и программистов
 
 
Это первое издание книги
 
© Сергей Евдокимов, 2023

ПРЕДИСЛОВИЕ

Плата микроконтроллера известна как небольшой компьютер, построенный на микросхеме полупроводника из оксида металла. Общим для всех типов микроконтроллеров является то, что они имеют одинаковые основные строительные части, как центральный процессор (CPU), вход/выход (I/O), память и периферийные устройства (программированные).

Микроконтроллеры приобрели большую популярность благодаря своей функциональности во всем мире, и сегодня они регулярно используются почти во всех автоматически управляемых продуктах и устройствах, таких как устройства управления, автомобильные двигатели, пульты дистанционного управления, приборы, электроинструменты, игрушки, имплантированные медицинские устройства и другие встроенные системы. Они привлекают внимание инженеров, энтузиастов и программистов и являются первым выбором для создания проектов своими руками и обучения.

Микропроцессор можно определить как тип миниатюрного электронного устройства, расположенного на материнской плате компьютера, содержащий арифметику, логику и схемы управления, необходимые для выполнения функций центрального процессора цифрового компьютера. Это важный электронный компонент компьютера, позволяющий компьютеру эффективно выполнять свои задачи. Далее его можно описать как центральный процессор, интегрированный в одну интегральную микросхему, содержащую миллионы мелких компонентов, таких как резисторы, транзисторы и диоды, работающие вместе. Для имплементации преобразования сигнала с датчика и передачи метрик в веб-приложение для обработки и визуализации данных будут рассматриваться микроконтроллерные платформы Arduino и Raspberry PI, как простейшие решения для реализации. Проект Arduino был начат в 2005 году. Цель заключалась в том, чтобы использовать его как инструмент для студентов Института проектирования взаимодействия Ивреа, Италия. Другим мотивом нужно взять простой и недорогой способ для начинающих и профессионалов создавать такие устройства, взаимодействующие с окружающею средой с помощью датчиков и приводов.

Arduino известен своим простым инструментом для создания прототипов электроники с аппаратным и программным обеспечением с открытым кодом. Arduino – это тип платы для разработки микроконтроллеров, который используется для многих целей, таких как прием входных данных от кнопок, мигание светодиодов, обработка данных из датчиков, управление двигателями и многие другие задачи, связанные с «микроконтроллером». «Arduino UNO» является одной из самых распространенных плат Arduino, доступных на рынке. Это плата микроконтроллера с открытым кодом, основанная на микроконтроллере ATmega328P и разработанная Arduino.cc. Здесь открытый исходный код означает, что файлы дизайна и исходный код для программного обеспечения и библиотек доступны, поэтому любой, кто интересуется программированием, может бесплатно использовать их как справочник для создания плат Arduino. Плата оснащена наборами контактов цифрового и аналогового входа/вывода (I/O), которые можно сочетать с разными платами расширения (щитами) и другими схемами.

Одной из областей применения компьютерных технологий есть лабораторные исследования, в которых персональный компьютер (ПК) используется для автоматизации проведения физического эксперимента и обработки полученных данных. Используя вычислительные мощности ПК можно в кратчайшие сроки, снимать и обрабатывать большие массивы получаемых данных с помощью различных датчиков.

Arduino – это платформа для создания устройств на основе микроконтроллеров, в интегрированной среде Arduino IDE на низкоуровневом языке программирования. Трудно даже перечислить все возможности платформы Arduino, потому что возможности ограничены всего лишь только воображением. Можно использовать Arduino для любой системы управления, добавив датчики, динамики, дополнительные модули (платы расширения), приводы, и прибавочные микросхемы. Используя Arduino, представляется возможность для реализации почти любых идей.

Основная цель работы – разработать экспериментальные стенды:

1. Разноцветный стенд на RGB: «Семь цветов радуги».

2. Универсальный стенд для ЦОС датчиков.

3. Учебный звуковой стенд: «В реальном времени».

4.Специализированный цифровой стенд для измерения температуры и влажности.

Объект исследования: лабораторные стенды на Arduino Uno

Предмет исследования – аппаратно-вычислительная платформа Arduino.

Исходя из цели исследования были выделены следующие цели и задачи работы:

– создать программу к проекту на сосновой Arduino IDE;

– подключить аппаратную часть стенда;

– проанализировать работу, поиск возможных усовершенствований;

– сформировать выводы и рекомендации.

ОПРЕДЕЛЕНИЕ, ОБОЗНАЧЕНИЕ И СОКРАЩЕНИЕ

ИТ – Информационные технологии;

МК – Микроконтроллер;

МП – Микропроцесор;

ОС – Операционная система;

OS – Operating System;

ПЗ – Программное обеспечение;

СНГ – Содружество независимых государств;

БД – База данных;

ПК – Персональный компьютер;

ПО – Программное обеспечение;

НП – Низкоуровневое программирование;

ПЗУ – Постоянное запоминающее устройство;

ЦОС – Цифровая обработка сигнала;

ПЦОС – Процессор цифровой обработки сигналов;

БИС— Большая Интегральной Схема;

ЦАП – Цифро-аналоговый преобразователь;

ФНЧ – Фильтры нижних частот;

RGB – Red Grey Blue;

DHT – Digital Temperature And Humidity Sensor

COM – COMmunication;

LDA – Latent Dirichlet Allocation;

VCC – Voltage of the CirCuit;

TV – TeleVision;

DVD – Digital Video Disc;

USB – Universal Serial Bus;

ШИМ – Широтно-импульсная модуляция;

I2C – Inter-Integrated Circuit, eye-squared-C;

SPI – Serial Peripheral Interface;

CAN – Controller Area Network;

UART – Universal asynchronous receiver-transmitter;

NC – Numerical control;

LPT – Line Print Terminal;

AVR – Alf and Vegard’s RISC processor;

DSP – Digital Signal Processor;

SSD – Seven segment displays;

SMS – Short Message Service;

Рис. – Рисунок;

ИК – Инфо-красный (а);

Табл. – Таблица;

др. – другие;

т. д. – так далее;

т.е. – то есть;

англ. – английский;

см. – смотреть;

В —Вольт;

Вт – Ватт;

стр. – страница;

ок. – октава;

шт. – штука (штук).

РАЗДЕЛ 1. Описание предметной области

1.1. Ведение в Arduino

Arduino – это платформа (физическая) с открытым функционалом и кодом, основывается на плате ввод-вывод и среде разработки, использующей низкоуровневый (машинный) язык. Arduino имеет много возможностей, его можно применять для создания самостоятельных объектов и разработок интерактивных субъектов или можно связать с программами на ПК (Например: Processing, Flash, VVVV). Такие платы можно собирать самостоятельно или покупать уже собранными. Среди главных причин чтобы использовать Arduino следующие:

– многоплатформенная среда, которая имеет возможность работать на ОС Windows, и на ОС Linux, и Macintosh;

– основывается на языке Arduino C++ (или Arduino Sketches);

– удобная и простая в использовании среда разработки применяется дизайнерами и художниками;

– программирование устройства осуществляется не с помощью последовательный порт, а через USB-интерфейс. Так как последовательный порт отсутствует в большинстве компьютеров современности, это можно считать как дополнительное удобство.

– Устройство можно назвать «открытым», так как, если есть нужда, чтобы скачать на сайте, или необходимую микросхему, получить все необходимые элементы, чтобы спаять самостоятельно, сами создатели Arduino ничего с этого не имеют;

– «Hardware», с которого содержится плата Arduino, дешево, так как полностью вся USB-плата по ценовой политике на 2023 год, около 10€, а для замены испорченого чипа пользователю придется отдать где-то около 2,5 евро. Поэтому есть такая возможность недорогой замены комплектующих и выгодной эксплуатации созданых устройств на Arduino;

– существует много официальных и неофициальных сообществ активных пользователей, поэтому хватает людей, что имею возможность оказывать соответствующую помощь;

– изначально проект Arduino создавался в среде университета, тому он очень хорошо подойдёт для новичков, что хотят быстро заставить функционировать задуманные устройства;

Arduino состоит из двух основных компонентов: млат, с которой работает пользователь при создании собственных прототипов, и интегрированной (роды разработки (IDE) – программного обеспечения, установленного на компьютере. Интегрированная среда разработки используется для создания программных модулей. То есть мы будем регулировать функцию каждого необходимого параметра и получать нужный цвет на выходе, как будто это палитра художника или словно вы настраиваете частоты на своем плеере. Для этого можно использовать сменные резисторы. В результате чего, схема оказывается довольно-таки сложной. Но такая платфорама как Arduino даёт возможность использовать разные функции и свойства. Если задействовать на плате необходимые нам контакты, можно регулировать напряжение, подаваемое на Arduino. Именно программный модуль говорит о плате, что нужно делать.

В первую очередь, Arduino Integrated Development Environment – это интегрированная среда разработк (кроссплатформеное программное обеспечение для пользователей ОС Windows, Linux и macOS, созданое в функциях C и C++. Он используется для записи и записи программ с совместимыми с Arduino досками, но также с помощью посторонних мостов, других комитетов по развитию.

На Arduino IDE исходный код выпущен на публичной лицензии типа GNU Arduino IDE поддерживает языки C и C++ с помощью специальных правил кодировки. Идентификатор Ardeino IDE обеспечивает библиотеку данных от проекта Wire предлагает широкий спектр практических и производственных методов. Код, назначенный только для пользователя, и требуется две основные функции чтобы запустить изображения и цикла основной программы, состоящие совместно с цепочкой инструментов GNU, а также другой, входящей в дистрибутиве IDE. Также, используется программное обеспечение avrdude для преобразования кода действия, который может быть преобразован в текстовый файл в шестнадцатеричный код, вставленный в плату Arduino в программе загрузки компании. При прикосновении avrdude используется как инструмент фильтра для генерации пользовательского кода для планшетов на досках Arduino. С ростом популярности Arduino как компьютерного устройства другие

производители начинают внедрять компактные компьютеры с открытым кодом и сердечники, которые могут создавать и устанавливать другие не поддерживающие MCU прямой доступ. В октябре 2019 года ассоциация Arduino вскоре выпустила новую версию под названием: «Arduino Pro», также – другие расширенные функции.

1.2. Цифровая обработка сигналов автоматизированных систем

Цифровое преобразование сигнала – это процесс выполнения разнообразных операций с одномерными и многомерными сигналами. В широком смысле, к одномерными сигналами считаются радиосигналы и телефоны, а многомерными – исследовательские изображения, рентгенограммы (медицинские), а также: данные томографии, сигналы TV, изображения молекул (электронно-микроскопические), радио-звуколокационые карты, и т. д.

В технических кругах значение такого понятия как «Сигнал» (с англ. Signal, а от лат. Signum) подразумевает техническое средство (или физический носитель), который можно использовать как для использования данных (Например: магнитный, электрический, оптический сигнал), так и в широком спектре возможностей для обращения и передачи, что являет собой физические процессы информационных сообщений – изменение определенного свойства носителей данных (частоты, мощности, интенсивности светового потока во времени, и т.д.) в пространстве и времени, учитывая изменение значений других параметров.

Термин «сигнал» очень часто сравнивают с понятием «данные» или «информация», так как между собою они взаимосвязаны и не могут существовать одно без другого, но всё-таки к разным категориям предопределены. Так как данные об измерениях имеют информацию об основных свойствах объекта исследования, так и о разных сопутствующих факторах воздействия, тогда в узком понимании этот сигнал – отражение всеобщей измерительной информации. Учитывая, что материальная форма носителя сигнала, равно как и форма их отражения в любом физическом процессе, значения не имеет.

Так как, сигнал представляет собой информационную функцию, несущую информацию про физические свойства, поведение или состояние любой физического объекта системы, или среды, а целями преобразования сигналов в самом общем содержании можно считать получение определенных информационных сведений, и последующего использования.

Цифровую обработку сигнала используют современные звуковые устройства, например «MP3-плеер» или «Смартфон» для коррекции, управления необходимой мощности низкой и высокой частоты при воспроизведении музыкального (звукового) произведения. Но сё же, не нужно выводить изменённые версии входных сигналов, если цифровая обработка ещё необходима, лишь только с целью избавиться от нежелательных помех сигнала и чтобы таким образом получить более точное значение от датчика.

Цифровое преобразование (обработка) сигнала в направлении развития техники и науки берёт своё начало с 1950-х годов. Первоначально представляла собой достаточно отрасль радиоэлектроники, а практическая ценность являлась вовсе не очевидной. Однако за прошедшие больше семьдесят пяти лет системы цифровой обработки сигналов успехи в микроэлектронике не только вписались в реальность, но и является в нашей повседневной жизни, например: модемов, DVD-проигрывателей, современных телефонов и TV, а также многого другого. В достаточной степени всё это пришло в аудиотехнику, интенсивно перешло в процесс телевизионного вещания на цифровую основу.

Цифровая обработка сигнала в 1965 г. было открытием для развития ускорено эффективных алгоритмов в преобразований и вычислений Фурье. Этот алгоритм стал очень известен под названием «быстрое преобразование Фурье» (с англ. Fast Fourier transform). Этот алгоритм быстрого обработки Фурье дал возможность уменьшить время вычислений преобразования Фурье на несколько порядка, что позволяет создавать сложнейшие алгоритмы в обработке сигнала (в настоящем времени). Кроме того, с учетом возможностей действительной реализации алгоритмов «Быстрого преобразования Фурье» в специализированном цифровом устройстве, многие ранее непрактичные алгоритмы преобразования сигналов начали находить воплощение на специализированных устройствах.

Аналоговые входы на плате Arduino используются чтобы зарегистрировать сигналы, что в широкой сфере называю оцифровкой, так как в ходе его исполнения сигнал (аналоговый) преобразовывается в цифровую форму. Чтобы получилась достаточно точная копия исходного сигнала, нужно исполнять достаточно быстро замеры.

Сущность цифровой обработки сигнала состоит в том, что необходимо оцифровать его используя АЦП (аналого-цифровой преобразователь), выполняя несколько манипуляций, а затем сгенерировать выходной сигнал (аналоговый), используя ЦАП (цифровой аналоговый преобразователь). Поэтому ЦОС – это динамично развивающаяся область вычислительной техники, охватывающая как технические, так и программные средства. Родственными областями для ЦОС являются теория информации, в частности теория оптимального приема сигналов и теория распознавания образов. При этом в первом случае основной задачей является на фоне помех и шума выделить сигнал разной физической природы, а во втором – автоматическое распознавание, то есть классификация и идентификация сигнала.

При цифровой обработке используется подача сигналов посредством последовательностей чисел или символов. Цель такой обработки может заключаться в оценке характерных параметров сигнала или в преобразовании сигнала в форму, которая в некотором смысле более удобна. Формулы классического численного анализа, такие как формулы для интерполяции, интегрирования и дифференцировки, безусловно являются алгоритмами цифровой обработки.

Цифровая обработка сигналов является альтернативой традиционной аналоговой. К ее важнейшим качественным преимуществам относят: возможность реализации любых сколь угодно сложных (оптимальных) алгоритмов обработки с гарантированной и независимой от дестабилизирующих факторов точностью, запрограммиированностью и функциональная гибкость, возможность адаптации к обрабатываемым сигналам, технологичность.

Всё более широкое распространение методов цифровой обработки сигналов и построения цифровых измерительных приборов на базе микропроцессоров не приводит к снижению уровня производства и значимости аналоговых измерительных устройств и преобразователей, особенно в интегральном исполнении. Напротив, их производство быстро растет, поскольку они широко используются для предварительного аналогового измерительного преобразования в АЦП с микропроцессорами, незаменимы в тех случаях, когда цифровая обработка принципиально непригодна, например, при высоких частотах, а также когда применение микропроцессоров нецелесообразно по техническим или экономическим причинам., например в несложных измерительных устройствах.

Бесплатный фрагмент закончился.

Возрастное ограничение:
12+
Дата выхода на Литрес:
06 апреля 2023
Объем:
157 стр. 112 иллюстраций
ISBN:
9785005984432
Правообладатель:
Издательские решения
Формат скачивания:
epub, fb2, fb3, ios.epub, mobi, pdf, txt, zip

С этой книгой читают

Новинка
Черновик
4,9
163