СОЗДАНИЕ ТЕРМОМЕТРА НА СВЕТОДИОДАХ С ИСПОЛЬЗОВАНИЕМ ARDUINO. - Студенческий научный форум

X Международная студенческая научная конференция Студенческий научный форум - 2018

СОЗДАНИЕ ТЕРМОМЕТРА НА СВЕТОДИОДАХ С ИСПОЛЬЗОВАНИЕМ ARDUINO.

Кузнецов М.И. 1, Чернышов К.А. 1
1Институт технологий (филиал) федерального государственного бюджетного образовательного учреждения высшего образования «Донской государственный технический университет» в г. Волгодонске Ростовской области
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Рассмотрим термометр, показывающий значения до: 0; 5; 10; 15; 20; 25; 30; 35; 40; 45; 50 и более 50. Данный выбор отслеживаемых температур обусловлен тем, что средняя температура в Ростовской области составляет по результатам многолетних наблюдений приблизительно +10 градусов Цельсия. Будем использовать для его реализации 7 светодиодов от белого для мороза до красного, означающего весьма жаркую погоду. В качестве термодатчка применим DS18S20, популярный цифровой термодатчик фирмы DALLAS-MAXIM с однопроводным интерфейсом 1-Wire.

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

Arduino – это платформа, предназначенная для «physicalcomputing» с открытым программным кодом, с современной средой для написания программного обеспечения. Устройства, основанные на Arduino, могут работать самостоятельно или взаимодействовать с программным обеспечением на компьютере[2].

Несомненная выгода от использования Arduino в обучении выражается следующими факторами:

  • Экономическая доступность;

  • Простота освоения среды разработки;

  • Большой выбор датчиков, устройств индикации и исполнительных механизмов;

  • Использование в разработке программного обеспечения языка программирования на основе C++[1].

Методическое обеспечение, большой выбор литературы, существует активное сообщество пользователей и множество форумов с подробными руководствами. Широкая распространенность платформы: от использования систем автоматизации на платформе Arduino в быту до применения в научных исследованиях. Проект Arduino развивался изначально как образовательный, поэтому он отлично подходит для использования, как в аудиторной, так и внеаудиторной деятельности. Большое количество проектов говорит о популярности платформы. На настоящий момент данная платформа набирает популярность и постоянно совершенствуется.

Подключим термодатчик к Arduino Uno, контроллеру построенному на ATmega328.

Такая платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к батареи постоянного тока типа "Крона" на 9 Вольт.

Каждый из 14 цифровых выводов Uno может настроен как вход или выход, используя функции pinMode(), digitalWrite() и digitalRead() . Мы использовали это в своей работ. Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (по умолчанию отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:

Последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины ATmega8U2 USB-to-TTL.

Внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения.

ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite(), что нам не потребовалось, т.к. мы использовали цифровые входа/выхода Arduino, как следствие выбора цифрового датчика температур.

SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, для чего используется библиотека SPI.

LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.

На платформе Uno установлены 6 аналоговых входов (обозначенных как A0 .. A5), каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством вывода AREF и функции analogReference(). Некоторые выводы имеют дополнительные функции.

Стоит учитывать, что программная среда Arduino не позволяет использовать всю память программ микроконтроллера для размещения данных. Особенно это актуально для микроконтроллеров ATmega1280 и ATmega2560, где можно разместить соответственно 128 и 256Кбайт данных и кода [3].

Запрограммировали Arduino следующим образом: при повышении температуры будут гореть светодиоды до определенного уровня, кратного 10. Если при этом температура воздуха будет от Х0 до Х4, то последний светодиод будем мигать, указывая на это обстоятельство.

Нам потребуется библиотека OneWire.h, которая на данный момент поддерживается Полом Стоффрегеном. Это позволит полноценно использовать протокол, используемый для управления устройствами, которые производятся компанией Dallas Semiconductor (ныне Maxim).

Среди прочих устройств, работающих через протокол 1-Wire, особенно популярны температурные датчики – они недороги, просты в использовании и позволяют напрямую считывать откалиброванные цифровые температурные данные. Кроме того, они терпимы к длинным проводам, которыми часто приходится пользоваться при создании цепи с Arduino.

На верхнюю панель устройства выведен тумблер включения и кнопка перезагрузки устройства.

Рис.1. Термометр на испытаниях в сентябре 2017 года.

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

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

Литература

1. Максимов П. В. Применение ARDUINO в обучении прикладному программированию / П. В. Максимов, Ю. В. Корнилов // https://interactive-plus.ru/e-articles/193/Action193-15499.pdf

2. Сохатюк Ю. В. Из опыта использования Arduino в курсовом и дипломном проектировании // Молодой ученый. — 2016. — №17.1. — С. 50-53. — https://moluch.ru/archive/121/33518/

3. Мясищев А.А. Хмельницкий национальный университет, Украина Способ размещения данных в flash – памяти ATmega1280 используемых для работы Web-сервера http://www.rusnauka.com/15_NNM_2014/Informatica/1_171020.doc.htm

Просмотров работы: 222