Научная статья на тему 'Применение аrduino в учебном процессе'

Применение аrduino в учебном процессе Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
721
137
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МИКРОКОНТРОЛЛЕРЫ / ОБУЧЕНИЕ / АППАРАТНО-ПРОГРАММНЫЕ СРЕДСТВА / ПЛАТФОРМА ARDUINO / ЛАБОРАТОРНАЯ УСТАНОВКА / УПРАВЛЕНИЕ СВЕТОДИОДАМИ / ВРЕМЯ РАЗРАБОТКИ ПРИЛОЖЕНИЙ / MICROCONTROLLERS / TRAINING / HARDWARE AND SOFTWARE / ARDUINO PLATFORM / LABORATORY UNIT / LED CONTROL / APPLICATION DEVELOPMENT TIME

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лободинов В.С., Пан С.Р., Пугачев И.В., Трофименко В.Н., Тузко Я.Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USE OF ARDUINO IN EDUCATIONAL PROCESS

The authors describe the laboratory unit for studying of microcontrollers and applications development technology for microcontrollers based on the Arduino platform. The presented installation allows reducing time of project creation. The paper presents educational program for LED control.

Текст научной работы на тему «Применение аrduino в учебном процессе»



УДК 517. 977. 57 ПРИМЕНЕНИЕ АRDUINO В УЧЕБНОМ ПРОЦЕССЕ Лободинов В. С., Пан С. Р., Пугачев И. В., Трофименко В. Н., Тузко Я. Н.

Донской государственный технический университет, Ростов-на-Дону, Российская Федерация ^ойтуп@тай .ш

Описана предложенная авторами

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

Ключевые слова: микроконтроллеры, обучение, аппаратно-программные средства, платформа Arduino, лабораторная установка, управление светодиодами, время разработки приложений.

UDC 517. 977. 57

USE OF ARDUINO IN EDUCATIONAL PROCESS Lobodinov V.S., Pan S.R., Pugachev I. V, Trofimenko V.N., Tuzko Ya.N.

Don State Technical University, Rostov-on-Don, Russian Federation

trofimvn@mail.ru

The authors describe the laboratory unit for studying of microcontrollers and applications development technology for microcontrollers based on the Arduino platform. The presented installation allows reducing time of project creation. The paper presents educational program for LED control.

Keywords: microcontrollers, training, hardware and software, Arduino platform, laboratory unit, LED control, application development time.

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

В вопросах изучения использования микроконтроллеров для управления различными объектами возможны два подхода.

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

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

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

аппаратно-программных средств и пользователями этих средств на основе Arduino и AVR [1, 2]. Представлены соответствующие учебные пособия [3].

Особенности платформы Arduino. В настоящее время Arduino — одна из самых удобных платформ для разработки устройств управления на микроконтроллерах. Плата Arduino содержит: микроконтроллер ATmega фирмы Atmel, схемы сброса, кварцевый резонатор, встроенный стабилизатор напряжения питания, USB-адаптер, обеспечивающий связь с ПК, встроенный программатор, средства для внутрисхемного программирования [4]. Так называемый порог вхождения в аппаратно-программные средства на основе Arduino ниже, чем для платформы на основе AVR-Studio, где для разработок необходимы знания архитектуры микроконтроллеров и языков программирования С++ и/или Ассемблера. У Arduino язык программирования основан на C/C++, но имеет упрощённый синтаксис (правила грамматики в языках программирования) и относительно прост в освоении [5].

Платформа Arduino делает относительно простой разработку приложений на основе AVR-микроконтроллеров и имеет ряд преимуществ перед другими платформами с точки зрения обучения и освоения технологии разработки микроконтроллерных устройств:

- Низкая стоимость. Платы Arduino относительно дешевы по сравнению с другими платформами, готовые модули стоят несколько сотен рублей;

- Кросс-платформенность. Программное обеспечение Arduino работает под ОС Windows, Macintosh OSX и Linux;

- Простая и понятная среда программирования. Среда Arduino подходит как для начинающих пользователей, так и для опытных, С-подобный язык программирования Arduino может быть легко освоен студентами ВУЗов;

- Программное обеспечение с возможностью расширения и открытым исходным текстом выпускается как инструмент, который может быть дополнен опытными пользователями. Язык может дополняться библиотеками C++. Пользователи, желающие понять технические нюансы, имеют возможность перейти на язык С++ для программирования в среде AVR-Studio;

- Модули Arduino представляют собой аппаратные средства с возможностью расширения и открытыми принципиальными схемами. Схемы модулей выпускаются с лицензией Creative Commons [6], а значит, опытные инженеры имеют возможность создания собственных версий модулей, расширяя и дополняя их. Даже обычные пользователи могут разработать опытные образцы с целью экономии средств и понимания работы [4].

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

Необходимо указать еще одну отличительную особенность платформы Arduino с точки зрения использования в учебном процессе. Это относительная дешевизна по сравнению с промышленным «брендовым» лабораторным оборудованием. Так, например, лабораторная установка на основе NI MyRIO, выпускаемая National Instruments [7], опирается на программную среду Lab View. Стоимость NI MyRIO с программной средой Lab View, в зависимости от состава модулей, может достигать нескольких сотен тысяч рублей [7, 8]. Цена же одного лабораторного комплекта, включающего два Arduino Uno, макетную плату с соединительными проводниками, элементами индикации, управляющими переключателями, обойдется менее десяти тысяч рублей.

Лабораторная установка на платформе Arduino. На рис. 1 представлена фотография возможного варианта лабораторной установки, содержащей модуль Arduino Uno, подключаемый к ПК (ноутбуку), макетную плату с соединительными проводниками, парой светодиодов и кнопок на плате.

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

Рис. 1. Плата лабораторной установки на основе Arduino

Программа 1. const int buttonPinl = 2; const int ledPin = 13; const int buttonPin2 = 4; int ledPin_G = 12; int buttonStatel = 0; int buttonState2 = 0; int ledPin_H = 8; void setup()

pinMode(buttonPin1, INPUT); pinMode(buttonPin2, INPUT); pinMode(ledPin_G,OUTPUT);

pinMode(ledPin_H,OUTPUT);

}

void loop()

//Объявление констант и/или переменных.

//К пинам 2, 4 подключаются кнопки, к пинам 12

//и 13 - светодиоды

//переменным button даём начальное состояние //"ноль ".

// второй светодиод

//режим пинов(тРиТ/ОиТРиТ)

//режимы работы мультивибратора

{

buttonState1 = digitalRead(buttonPin1); buttonState2 = digitalRead(buttonPin2); if (buttonState1 == HIGH &&

buttonState2 == HIGH);

{

delay(100);

digitalWrite(ledPin_H,HIGH); delay(100);

digitalWrite(ledPin_H,LOW); delay(100);

digitalWrite(ledPin_G,HIGH); delay(100);

digitalWrite(ledPin_G,LOW);

delay(100);

}

else if (buttonState2 == HIGH);

{

digitalWrite(ledPin_H,HIGH); delay(100);

digitalWrite(ledPin_H,LOW);

delay(100);

}

else if (buttonState1 == HIGH);

{

digitalWrite(ledPin_G,HIGH); delay(100);

digitalWrite(ledPin_G,LOW);

delay(100);

}

else

{

digitalWrite(ledPin_G,LOW);

digitalWrite(ledPin_H,LOW);

}

}

Программа 2. #define led 9 #define pot A0

void setup()

{

pinMode(pot, INPUT);

pinMode(led, OUTPUT);

}

void loop()

// считывание состояние на входе пина 2 // считывание состояние на входе пина 4 // если сигнал есть на обоих входах (нажаты обе кнопки)

// ждём 100 миллисекунд, включаем один диод, //ждём, выключаем, потом тоже действие // с другим светодиодом

/ если условие выше не выполнено (не нажали /одновременно две кнопки), но нажата кнопка /buttonState2, то выполним другой алгоритм

//если условия выше не выполнены (не нажали //одновременно две кнопки и не нажали //buttonState2), но нажата кнопка buttonState1, //то выполним другой алгоритм

//если ничего не нажимать, то... //...тушим светодиоды

// даём имена пинов со светодиодом и // потетциометром

' пин с потенциометром — вход ' пин со светодиодом — выход

{

int x;

x = analogRead(pot) / 4;

// объявляем переменную x // считываем напряжение с потенциометра: // полученное число от 0 до 1023; делим его на 4, //число в диапазоне 0-255 (дробная часть отбро-//шена), выдаём результат на светодиод

analogWrite(led, x); }

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

Библиографический список

1. Онлайн курс по Ардуино на базе простого стартового набора [Электронный ресурс] / Geektimes. — Режим доступа : https://geektimes.ru/post/279860/ (дата обращения : 14.03.2018).

2. Трофименко, В. Н. Программно-аппаратные средства разработчиков радиоэлектронной аппаратуры в формировании компетентностной структуры выпускника / В. Н. Трофименко [и др.] // Социально-экономические и технико-технологические проблемы развития сферы услуг. — Ростов-на-Дону: РТИСТ ЮРГУЭС. — 2013. — Вып. 12, ч. 2. — С. 17-22.

3. Трофименко, В. Н. Техника микропроцессорных систем в электросвязи: Исследования микроконтроллеров / В. Н. Трофименко, Е. Н. Трофименко, В. Н. Таран // Методические указания к лабораторным работам. — Ростов-на-Дону : РГУПС, 2008. — 100 с.

4. Плата Arduino Uno r3: схема, описание, подключение устройств [Электронный ресурс] / ArduinoMaster. — Режим доступа : arduinomaster.ru/platy-arduino/plata-arduino-uno/#_Arduino_Uno_R3 (дата обращения : 14.03.2018).

5. Программирование Ардуино [Электронный ресурс] / Arduino.ru. — Режим доступа : arduino.ru/Reference (дата обращения : 14.03.2018).

6. О лицензиях [Электронный ресурс] / Creative Commons. — Режим доступа : creativcommons.org/licenses/?lang=ru (дата обращения : 14.03.2018).

7. myRIO — учебное устройство для проектирования встраиваемых систем [Электронный ресурс] / National Instruments. — Режим доступа : http://www.ni.com/ru-ru/shop/select/myrio-student-embedded-device (дата обращения : 19.03.2018).

8. Платформа для решения практических инженерных задач [Электронный ресурс] / Roboticsshop. — Режим доступа: roboticsshop.ru/parts/parts-ni/ni-myrio (дата обращения: 14.03.2018).

i Надоели баннеры? Вы всегда можете отключить рекламу.