Робототехника Ардуино

Материал из Wiki Сетевые сообщества педагогов Удмуртской Республики
Перейти к: навигация, поиск


Робот.jpg
«Веб -квест "Робототехника Ардуино"»

О проекте

1.Общие положения

1.1. Настоящее положение определяет порядок участия и состав команд-участников web-квеста

1.2. Организатором web-квеста являются методические объединения учителей естественно-научных предметов, математики и информатики.

1.3. Конкурс проводится на сайте сетевого сообщества педагогов Удмуртии

2. Цель web-квеста

Повышение уровня ИКТ-компетентности учеников посредством обучения использованию современных сетевых технологий, повышение мотивации к изучению предметов математики, физики, информатики, популяризация робототехнических систем на платформе Arduino.

3. Задачи web-квеста

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

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

3.3. Способствовать развитию у учеников творческих, креативных и проектировочных способностей.

3.4. Развитие творческого потенциала и коммуникативной компетентности участников.

3.5. Создание условий для демонстрации и совершенствования участниками знаний и навыков в области IT–технологий.

4. Участники web-квеста

В web-квесте принимают участие команды школьников 7–11 классов в составе до 5 человек. В каждой команде должен быть капитан из своего класса и куратор (учащийся 9 – 11 классов). Принимаются также индивидуальные участники – учащиеся 7- 11 классов, имеющие навыки программирования.

5. Сроки проведения web-квеста

web-квест проводится с 5 января 2017 года по 20 февраля 2017 года.

6. Этапы проведения web-квеста

web-квест включает этапы:

1. Регистрация команд

2. Выполнение заданий по 4 этапам (смотри Календарь событий)

3. Создание web-страницы своей команды (смотри Календарь событий)

4. Представление домашнего задания

5. Подведение итогов

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

Программное обеспечение для выполнения заданий

- любой интернет-браузер;

_ любой графический редактор для простейшей обработки фотографий и картинок;

- пакет офисных приложений MS office 2010.

8. Организационный комитет web-квеста

В состав жюри входят: Боброва И.П., главный специалист УО Алнашского района Кардапольцев А.Ю. – учитель информатики МБОУ Старо-Утчанская СОШ, к.п.н; Васильев К.Ю., учитель физики Удмурт-Тоймобашской СОШ.

9. Порядок определения победителей

9.1. После окончания каждого этапа оргкомитет осуществляет подведение итогов путём подсчёта средних оценок заданий команд, выставленных членами жюри, и публикует итоги этапа на сайте web-квеста

9.2. Победителем игры считается одна команда, набравшая максимальное количество баллов по итогам всех этапов web-квеста

9.3. Имена участников команды-победителя и команд-лауреатов публикуются оргкомитетом на сайте web-квеста после подведения итогов игры.

10. Призы и награды

Победители получают грамоты. Всем участникам конкурса вручаются памятные электронные сертификаты.


Материалы квеста основаны на мастер - классе Калинкиной Марины Викторовны, старшего преподавателя кафедры ИКТ в образовании Самарского государственного социально-педагогического университета.


1 этап

Ардуино.jpg

Arduino - это небольшая плата, контроллер, мини-компьютер, к которому можно подключать различные компоненты и датчики, программировать их работу и строить из них всевозможные устройства. Строго говоря, Arduino - это не одна плата, а целое "семейство" [1] плат, среди которых одной из самых популярных является Arduino Uno. Именно с ней мы будем работать в рамках данного квеста.

Плата Arduino Uno имеет 14 цифровых входов/выходов, 6 аналоговых входов, кнопку перезагрузки, кварцевый генератор 16 МГц, силовой разъем и разъем USB. С помощью последнего плата легко подключается к компьютеру для программирования. Питание платы может осуществляться посредством USB или батареи.

Но, прежде чем создавать устройства на Arduino необходимо освежить основные знания из курса электричества, а также вспомнить основные компоненты и принцип их работы. В этом нам поможет сайт http://wiki.amperka.ru/.[2] В дальнейшем мы постоянно будет обращаться к материалам данного сайта, поскольку весь квест построен на них. Рекомендую их Вам для подготовки своих занятий по квесту. Итак, в рамках данного МК нам просто необходимо будет вспомнить что такое электричество и его основные законы;

разобраться с понятиями принципиальной и рисованной схемы.

А также изучить принцип работы некоторых компонентов, которые будут использованы нами в проектах:

резистор;

светодиод

делитель напряжения

пьезодинамик

1 задание

  • разместите ссылку на свою ментальную карту в таблице продвижения квеста в столбце "Задание 1".
  • Не забудьте открыть к своей карте доступ для просмотра

2 этап

Ардуино.jpg

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

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

Плата состоит из пластмассового корпуса, в котором есть набор токопроводящих контактных разъемов, в которые можно подключать выводы электронных компонентов. Подробнее об устройстве Breadbord вы можете узнать из этого видео. Однако, не любое образовательное учреждение может позволить себе закупить достаточное количество таких наборов для организации занятий. И здесь нам на помощь приходит бесплатная онлайн среда Autodesk Circuits, которая предоставляет возможность смоделировать работу с платой Arduino в полном объеме: от сборки устройства до его тестирования в режиме управления!

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

Практическая работа

А теперь, выполните, пожалуйста следующее задание:

зарегистрируйте аккаунт на сайте https://circuits.io/;

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

разместите свой проект на странице(нужен google аккаунт). В заголовке сообщения обязательно укажите школу и название команды. Страница открывается довольно долго - 1- 3 минуты, нужно потерпеть ;

отметьте свое продвижение в таблице Обсуждаем тему на форуме

3 этап

Ардуино.jpg

Программирование устройств на базе Arduino Информация для ознакомления... В рамках данного мастер-класса мы рассмотрим два языка программирования устройств на базе Arduino и один из них изучим более подробно. Итак, Вашему вниманию представляются среды Scratch for Arduino и Arduino. Принципиальное различие между ними заключается в методе программирования: Scratch_for_Arduino использует визуальный редактор и реализует блочное программирование, а Arduino - текстовое, процедурное программирование. В связи с чем появляется возможность дифференциации обучения схемотехнике и организации работы с обучающимися разного возраста, имеющими разные навыки программирования.

Scrath arduino.jpg

Scratch for Arduino представляет собой знакомый многим Scratch, адаптированный под работу с платой Arduino. Интерфейс среды аналогичен интерфейсу Scratch, а программы пишутся путем перетаскивания блоков.

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

Скачать данный программный продукт можно бесплатно на официальном сайте разработчика: [3] Язык программирования Arduino основан на C/C++. Для программирования устройств удобно пользоваться редактором "Arduino", который так же распространяется бесплатно на официальном сайте [4] Программы на языке Arduino называются скетчами. В библиотеке самого редактора есть большое количество скетчей. Кроме того, готовые скетчи к схемам можно скачать на большинстве сайтов, посвященных схемотехнике на Arduino, в том числе и на Autodesk Circuits. В среде Autodesk Circuits для программирования устройств так же используется язык Arduino, поэтому остановимся более подробно на его основах. Сначала посмотрите скринкаст с разбором программы на языке Arduino, А затем еще раз изучите код скетча представленный ниже , обращая внимание на все комментарии и пояснения. А затем выполните практическую работу.

Теория и инструктаж

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

void setup()
{
  // настраиваем пин №13 в режим выхода,
  // т.е. в режим источника напряжения
  pinMode(13, OUTPUT);
}
 

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

Процедура loop выполняется в бесконечном цикле. Обе процедуры обязательно должны присутствовать в скетче.

Рассмотрим подробнее, что происходит в цикле. Мигание, по сути, представляет собой последовательное включение и выключение лампочки, которое повторяется бесконечно. Для того чтобы заставить светодиод загореться мы используем функцию digitalWrite(pin, value), где: pin - номер порта, на который мы направляем сигнал; value - значение которое мы отправляем на порт. Так как наш светодиод подключен к 13 порту, и мы используем цифровой сигнал, который имеет лишь два значения (1 - HIGH и 0 - LOW), наша функция будет выглядеть следующим образом: digitalWrite(13, HIGH) Для того, чтобы выключить светодиод используем ту же функцию, инвертируя значение сигнала: digitalWrite(13, LOW) Ну, и, безусловно, для того чтобы заметить изменение в работе устройства необходимо поставить некую паузу между включением и выключением. Для этого используется команда delay(n), которая задерживает микроконтроллер в текущем состоянии на n миллисекунд. В нашем случае эта команда имеет следующий вид: delay (1000)// 1000мс = 1сек Таким образом, весь код программы выглядит следующим образом:

void setup()
{
  // настраиваем пин №13 в режим выхода,
  // т.е. в режим источника напряжения
  pinMode(13, OUTPUT);
}
 
void loop()
{
  // подаём на пин 13 «высокий сигнал» (англ. «high»), т.е.
  // выдаём 5 вольт. Через светодиод побежит ток.
  // Это заставит его светиться
  digitalWrite(13, HIGH);
 
  // задерживаем (англ. «delay») микроконтроллер в этом
  // состоянии на 1000 миллисекунд
  delay(1000);
 
  // подаём на пин 13 «низкий сигнал» (англ. «low»), т.е.
  // выдаём 0 вольт или, точнее, приравниваем пин 13 к земле.
  // В результате светодиод погаснет
  digitalWrite(13, LOW);
 
  // замираем в этом состоянии на 1000 миллисекунд
  delay(1000);
 
  // после «размораживания» loop сразу же начнёт исполняться
  // вновь, и со стороны это будет выглядеть так, будто
  // светодиод мигает 
}

Обратите внимание на скобки и знаки

•	каждой { должна соответствовать } - не теряйте скобки!
•	обратите внимание, что команды отделяются друг от друга ;
•	использованные в данном скетче константы OUTPUT, HIGH, LOW пишутся заглавными буквами
•	комментарии добавляются в каждой строке после двойного слэша //

Практическая работа

А теперь, выполните, пожалуйста следующее задание:

Выполните следующее задание, пользуясь видеоинструкцией, представленной в скринкасте:

  1. продублируйте проект из предыдущего задания и переименуйте его;

модифицируйте код проекта следующим образом:

  1. сделайте так, чтобы светодиод мигал раз в полсекунды;
  2. сделайте так, чтобы светодиод загорелся на 3 секунды, а затем начал мигать в обычном режиме;
  3. дополните схему еще несколькими светодиодами (2-3) и запрограммируйте их в произвольном режиме (можно попробовать изобразить светофор или новогоднюю гирлянду ;
  4. разместите последний вариант своего проекта на странице Задание 3 (при необходимости обратитесь к инструкции);
  5. отметьте свое продвижение в таблице

Обсуждаем тему на форуме