Программа работы кружка на тему «Робототехника на базе платформы Arduino» (10 класс)

3
0
Материал опубликован 2 March

РАБОЧАЯ ПРОГРАММА КРУЖКА «РОБОТОТЕХНИКА НА БАЗЕ ПЛАТФОРМЫ ARDUINO» ДЛЯ СТУДЕНТОВ СПЕЦИАЛЬНОСТИ 09.02.07 ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ПРОГРАММИРОВАНИЕ

 

Молоствова Нина Михайловна, преподаватель ГАПОУ НСО «Новосибирский машиностроительный колледж»

 

Аннотация

Робототехника является областью науки, которая занимается разработкой автоматизированных технических систем, используя знания в области электроники, механики и программирования. Образовательные технологии в робототехнике способствуют эффективному усвоению учащимися универсальных учебных действий, объединяя различные методы решения задач. Кружок «Робототехника на базе платформы Arduino» создан для знакомства студентов с миром техники, принципами устройства конструкций и механизмов, их местом в окружающем мире, а также для развития навыков программирования. Проведение таких мероприятий способствует стимулированию интереса и любознательности, развитию умения решать проблемы, анализировать ресурсы, генерировать идеи, планировать и воплощать их, а также расширению технического и математического словаря ученика. Кроме того, это помогает развить коммуникативные навыки студентов через активное взаимодействие в ходе групповых проектов. Выбор платформы Arduino обусловлен множеством факторов:

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

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

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

Также важной характеристикой Arduino является кросс-платформенность. Программное обеспечение Arduino IDE работает под ОС Windows, Macintosh OSX и Linux, чтоособенно актуально в связи с происходящим переходом бюджентных организаций с ОС Windows на Linux.

Роботы, созданные на Arduino, выглядят менее представительно и более «настоящими», чем другие популярные конструкторы для занятий роботехникой, например - Lego. В процессе работы студенты видят настоящее устройство всего оборудования: компьютерные платы, провода, разъемы, следы пайки, т.е. все, как оно есть в жизни. Lego, в свою очередь, это скрывает под более игрушечным фасадом.

Arduino программируется на классическом С-подобном языка «Wiring», он осваивается сравнительно легко даже учащимися средних классов и имеет открытый ресурс и расширяемое программное обеспечение. Продвинутые программисты могут самостоятельно расширять ПО для своих потребностей.

Пояснительная записка

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

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

Настоящая программа предназначена для студентов специальности 09.02.07 Информационные системы и программирование, которые впервые будут знакомиться с Arduino. Занятия проводятся 1 раз в неделю, они рассчитанны на весь учебный год, 34 недели.

Цели и задачи кружка

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

Задачи:

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

Развитие интереса к технике, конструированию, программированию, высоким технологиям.

Развитие конструкторских, инженерных и вычислительных навыков.

Формирование умения достаточно самостоятельно решать технические задачи в процессе конструирования моделей.

Предполагаемые результаты реализации программы:

Личностные:

формирование навыка самостоятельно реализовывать собственные замыслы;

повышение образовательного уровня и уровня готовности к продолжению обучения с использованием ИКТ;

развитие навыков взаимо- и самооценки, навыков рефлексии.

Образовательные:

умение определять, различать и называть детали конструктора;

способность реализовывать модели средствами вычислительной техники;

умение конструировать по заданным условиям и самостоятельно;

владение основами разработки алгоритмов и составления программ управления роботом;

умение проводить настройку и отладку конструкции робота.

Метапредметными результатами изучения является формирование следующих универсальных учебных действий (УУД):

Познавательные:

ориентироваться в своей системе знаний: отличать новое от уже известного.

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

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

Регулятивные:

уметь работать по предложенным инструкциям.

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

определять и формулировать цель деятельности на занятии с помощью учителя;

Коммуникативные:

уметь работать в паре и в коллективе; уметь рассказывать о проекте.

уметь работать над проектом в команде, эффективно распределять обязанности.

Содержание курса

Знакомство с микроконтроллером Arduino. (2ч.)

Микроконтроллеры в нашей жизни (сообщения студентов), контролер Arduino (сообщение студентов), структура и состав Arduino. Среда программирования для Arduino (IDE Arduino) и язык программирования Wring.

Основы проектирования и моделирования электронного устройства на базе Arduino. (2ч.)

Управление электричеством. Законы электричества. Макетная доска. Чтение электрических схем. Управление светодиодом на макетной доске.

Широтно-импульсная модуляция. (2ч.)

Аналоговые и цифровые сигналы, понятие ШИМ, управление устройствами с помощью портов, поддерживающих ШИМ. Циклические конструкции, датчик случайных чисел, использование датчика в программировании для Arduino.

Программирование Arduino. Пользовательские функции. (2ч.)

Подпрограммы: назначение, описание и вызов, параметры, локальные и глобальные переменные.

Сенсоры. Датчики Arduino. (2ч.)

Роль сенсоров в управляемых системах. Переменные резисторы. Делитель напряжения. Потенциометр. Аналоговые сигналы на входе Arduino. Использование монитора последовательного порта для наблюдений за параметрами системы.

Кнопка – датчик нажатия. (4ч.)

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

Цифровые индикаторы. Семисегментный индикатор. (2ч.)

Назначение, устройство, принципы действия семисегментного индикатора. Управление семисегментным индикатором. Программирование: массивы данных.

Микросхемы. Сдвиговый регистр. (2ч.)

Назначение микросхем. Устройство сдвигового регистра, чтение datasheet. Программирование с использованием сдвигового регистра.

Творческий конкурс проектов по пройденному материалу. (2ч.)

Библиотеки, класс, объект. (2ч.)

Что такое библиотеки, использование библиотек в программе. Библиотека math.h, использование математических функций в программе

Жидкокристаллический экран. (2ч.)

Назначение и устройство жидкокристаллических экранов. Библиотека LiquidCrystal. Вывод сообщений на экран

Транзистор – управляющий элемент схемы. (1ч.)

Назначение, виды и устройство транзисторов. Использование транзистора в моделях, управляемых Arduino.

Управление двигателями. (3ч.)

Разновидности двигателей: постоянные, шаговые, серводвигатели. Управление коллекторным двигателем. Управление скоростью коллекторного двигателя. Управление серводвигателем: библиотека Servo.h

Управление Arduino через USB (2ч.)

Использование Serial Monitor для передачи текстовых сообщений на Arduino. Преобразование текстовых сообщений в команды для Arduino. Программирование: объекты, объект String, цикл while, оператор выбора case

Работа над творческим проектом. (2ч.)

Заключительная конференция. (2ч.)

Учебно-тематическое планирование

Тема. Содержание темы

Кол-во часов

(теория + практика

Практика

Контроль

Учебный материал для студента

1

Знакомство с микроконтроллером Arduino

Микроконтроллеры в нашей жизни (сообщения студентов), контролер Arduino (сообщение студентов), структура и состав Arduino. Среда программирования для Arduino (IDE Arduino) и язык программирования Wring

1 + 1 = 2

Простейшая программа (мигающий светодиод)

Результат практикума

Учебное пособие («Основы программирования микроконтроллеров» Учебник для образовательного набора «Амперка», Москва 2013)

§1.1-§1.3

 

2

Основы проектирования и моделирования электронного устройства на базе Arduino Управление электричеством. Законы

электричества. Как быстро строить схемы: макетная доска. Чтение

электрических схем. Управление светодиодом на макетной доске.

1 + 1 = 2

Маячок

Cветофор (3 секции)

Тест № 1

Результат практикума

Учебное пособие

§2.1-§2.2, §3.1-§3.2

http://wiki.amperka.ru/

Приложение 1

3

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

Аналоговые и цифровые сигналы, понятие ШИМ, управление устройствами с помощью портов, поддерживающих ШИМ. Циклические конструкции, датчик случайных

чисел, использование датчика в программировании для Arduino.

1 + 1 = 2

Маячок с нарастающей или убывающей яркостью.

Управление RGB-светодиодом

Тест № 2

Результат практикума

Учебное пособие

§6.1-§6.2

http://wiki.amperka.ru/

Приложение 1

4

Программирование Arduino. Пользовательские функции

Подпрограммы: назначение, описание и вызов, параметры, локальные и глобальные переменные

1 + 1 = 2

Передаём сообщение азбукой Морзе

«Микрокон-троллер». Перелив цветов RGB светодиода.

Тест № 3

Результат практикума

Учебное пособие

§4.2, §6.3-§6.4

http://wiki.amperka.ru/

Приложение 1

5

Сенсоры. Датчики Arduino

Роль сенсоров в управляемых системах. Сенсоры и переменные резисторы. Делитель напряжения. Потенциометр. Аналоговые сигналы на входе Arduino. Использование монитора

последовательного порта для наблюдений за параметрами системы

1 + 1 = 2

Светильник с управляемой яркостью

Автоматичес-кое освещение

Измерение температуры термометр

Тест № 4

Результат практикума

Учебное пособие

§7.1-§7.2, §9.1-§9.4,

http://wiki.amperka.ru/

Приложение 2

6

Кнопка – датчик нажатия

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

1+3 = 4

Светофор с секцией для пешеходов и кнопкой управления.

Светильники с кнопочным управлением.

Кнопочные ковбои

Тест № 5

Результат практикума

Учебное пособие

§8.1-§8.4

http://wiki.amperka.ru/

Приложение 3

7

Цифровые индикаторы. Семисегментный индикатор

Назначение, устройство, принципы действия семисегментного индикатора. Управление семисегментным индикатором.

Программирование: массивы данных.

1+1= 2

Счёт до 10, обратный счёт, секундомер

Тест № 6

Результат практикума

Учебное пособие

§10.1-§10.3

http://wiki.amperka.ru/

Приложение 4

8

Микросхемы. Сдвиговый регистр Назначение микросхем. Назначение сдвигового регистра. Устройство сдвигового регистра, чтение datasheet.

Программирование с использованием

сдвигового регистра

1+1= 2

Гирлянды из светодиодов

Тест № 7

Результат практикума

Учебное пособие

§11.1

9

Творческий конкурс проектов по

пройденному материалу

0+2=2

 

Обсуждение проектов

 

10

Библиотеки, класс, объект

Что такое библиотеки, использование

библиотек в программе. Библиотека math.h, использование математических функций в программе

1+1= 2

Комнатный термометр с индикацией температуры

Тест № 8

Результат практикума

Приложение 2, 4

11

Жидкокристаллический экран

Назначение и устройство жидкокристаллических экранов. Библиотека LiquidCrystal. Вывод сообщений на экран

1+1= 2

Вывод сообщений на экран дисплея

Тест № 9

Результат практикума

Учебное пособие

§12.1—§12.3

http://wiki.amperka.ru/

Приложение 5

12

Транзистор – управляющий элемент схемы

Назначение, виды и устройство

транзисторов. Использование транзистора в моделях, управляемых Arduino.

0,5+0,5=

1

Светодиодные сборки. Пульсар

Тест № 10

Результат практикума

http://wiki.amperka.ru/

13

Управление двигателями

Разновидности двигателей: постоянные, шаговые, серводвигатели. Управление коллекторным двигателем. Управление скоростью коллекторного двигателя.

Управление серводвигателем: библиотека Servo.h

1+2= 3

Миксер

Пантограф

Тест № 11

Результат практикума

Учебное пособие

§14.1—§14.2

http://wiki.amperka.ru/

Приложение 6

14

Управление Arduino через USB Использование Serial Monitor для передачи текстовых сообщений на Arduino.

Преобразование текстовых сообщений в команды для Arduino. Программирование: объекты, объект String, цикл while, оператор выбора case

1+1= 2

Передача текстовых сообщений азбукой Морзе

Управление светильником текстовыми командами

Тест № 12

Результат практикума

Учебное пособие

§13.1—§13.4

http://wiki.amperka.ru/

 

15

Работа над творческим проектом

0+2=2

Создание проектов

 

Пример в приложении 7

16

Заключительная конференция

0+2=2

 

Обсуждение проектов

 

 

Всего часов:

34

 

 

 

Приложение 1.

t1709345219aa.png

t1709345219ab.png

 

 

Приложение 2.

t1709345219ac.png

t1709345219ad.png

t1709345219ae.png

Приложение 3.

t1709345219af.png

t1709345219ag.png

Приложение 4.

t1709345219ah.png

 

 

 

Приложение 5.

t1709345219ai.png

Приложение 6.

t1709345219aj.png

t1709345219ak.png


 

Приложение 7.

Проект «Умный дом. Начало».

1. Метеостанция (температура)

Создайте метеостанцию для измерения температуры на улице. Это пригодится для быстрого и мобильного измерения основных параметров погоды. Выводить показания необходимо на экран.

Описание работы:

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

Считываем показания температуры и выводим на экран: показания в градусах Цельсия, единицы измерения, отличительный знак температуры, показания в градусах Фаренгейта, единицы измерения, отличительный знак температуры. Ждем три секунды и очищаем экран.

Нам понадобится:

Arduino Uno;

датчик температуры (TMP36);

ЖК-экран (16 х 2);

резистор (220 Ω);

макетная плата Mini;

соединительные провода.

Для реализации проекта нам необходимо установить следующие библиотеки:

библиотека LiquidCrystal для работы с текстовыми жидкокристаллическими экранами.

Схема сборки:

t1709345219al.png

Код программы:

#include

#define TMP_SENSOR A0

// (RS, E, DB4, DB5, DB6, DB7)

LiquidCrystal lcd(6, 7, 8, 9, 10, 11);

char degree = 176;

void setup()

{

lcd.begin(16, 2);

lcd.setCursor(0, 0);

lcd.print("Temperature:");

}

void loop()

{

// вычисление напряжения в милливольтах

int value = analogRead(TMP_SENSOR);

float mVolt = value * 5000.0 / 1024;

// температура в градусах Цельсия, 10 мВ на градус, смещение 500 мВ (TMP36)

float tmpC = (mVolt - 500) / 10 ;

// температура в градусах Фаренгейта

float tmpF = tmpC*9/5+32;

lcd.setCursor(0, 1); lcd.print(" ");

lcd.setCursor(0, 1); lcd.print(round(tmpC));

lcd.setCursor(3, 1); lcd.print("C");

lcd.setCursor(4, 1); lcd.print(degree);

lcd.setCursor(5, 1); lcd.print("/");

lcd.setCursor(6, 1); lcd.print(round(tmpF));

lcd.setCursor(9, 1); lcd.print("F");

lcd.setCursor(10, 1); lcd.print(degree);

delay(3000);

}

Пример результата работы:

t1709345219am.png

2. Детектор газа

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

Описание работы:

Для начала работы поместите устройство в комнату, в которой предварительно могут появиться нежелательные газы. Зеленый светодиод постоянно горит, сигнализируя о том, что в комнате нет дыма. Как только датчик оказывается в зоне поражения дымом, зеленый светодиод гаснет, а красный светодиод и пьезодинамик подают сигнал (можно также вместо обычного мигания настроить сигнал SOS).

Нам понадобится:

Arduino Uno;

датчик газа;

два резистора (220 Ω);

резистор (4,7 kΩ);

макетная плата Mini;

светодиоды (красный, зеленый);

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

соединительные провода.

Схема сборки:

t1709345219an.png

Код программы:

#define analogInPin A1 // контакт подключения датчика газа

#define ledPinR 8 // контакт подключения красного светодиода

#define ledPinG 7 // контакт подключения зеленого светодиода

#define pin_piezo 9 // контакт подключения пьезодинамика

int sensorValue = 0; // переменная для хранения значения датчика

void setup()

{

pinMode(ledPinR, OUTPUT);

pinMode(ledPinG, OUTPUT);

}

void loop()

{

sensorValue = analogRead(analogInPin); // получить значение

if (sensorValue >= 500) // превышение уровня

{

digitalWrite(ledPinG, LOW); // потушить зеленый светодиод

digitalWrite(ledPinR, HIGH);// зажечь светодиод превышения

tone(pin_piezo, 300, 500);// подавать сигнал на пьезодинамике

delay(300);

digitalWrite(ledPinR, LOW);// потушить светодиод превышения

delay(100);

}

else

{

digitalWrite(ledPinG, HIGH);// зажечь зеленый светодиод

digitalWrite(ledPinR, LOW); // потушить светодиод превышения

}

delay(1000);

}

t1709345219ao.pngПt1709345219ap.png ример результата работы:


 

3. Автоматическое управление светом

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

Вариант 1

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

Описание работы:

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

Нам понадобится:

Arduino Uno;

пироэлектрический ИК-датчик;

фоторезистор;

резистор (220 Ω);

резистор (10 kΩ);

светодиод;

макетная плата Mini;

соединительные провода.

Схема сборки:

t1709345219aq.png

Код программы:

#define PIN_DETECTOR 11

#define LED_PIN 12

#define PIN_PHOTO_SENSOR A0

void setup()

{

pinMode(LED_PIN,OUTPUT);

}

void loop()

{

int value1 = digitalRead(PIN_DETECTOR);//получили значение датчика движения

int value2 = analogRead(PIN_PHOTO_SENSOR);//получили значение фоторезистора

if (value1>0 && value2>100)//если датчик движения сработал и низкая освещенность

{

digitalWrite(LED_PIN, HIGH);//включаем светодиод

delay (5000);

}

else digitalWrite(LED_PIN, LOW);//выключаем светодиод

}

Пример результата работы:

t1709345219ar.png

Вариант 2

Во втором варианте мы будем управлять количеством горящих светодиодов. А именно чем темнее помещение, тем больше будет загораться светодиодов. Постепенный переход из дневного времени суток в ночной благоприятно влияет на организм, и вы не заметите как наступит ночь.

Описание работы:

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


 

Нам понадобится:

Arduino Uno;

фоторезистор;

6 резисторов (220 Ω);

резистор (10 kΩ);

6 светодиодов;

макетная плата Mini;

соединительные провода.

Схема сборки:

t1709345219as.png

Код программы:

#define PIN_PHOTO_SENSOR A0

void setup()

{

pinMode(A0, INPUT);

for (int i=8; i<14; i++) pinMode(i, OUTPUT);

}

void loop()

{

int n=(analogRead(A0)); n=map(n, 0, 1023, 0, 7);

for(int i=0; i

for (int i=8; i<(9+n); i++) digitalWrite(i, LOW);

}

Пример результата работы:

t1709345219at.png

Список литературы:

База знаний Амперки [Электронный ресурс]. URL: http://wiki.amperka.ru/, дата обращения: 04.07.2023.

«Основы программирования микроконтроллеров». Учебник для образовательного набора «Амперка», Москва 2013.

 

в формате Microsoft Word (.doc / .docx)
Комментарии
Комментарии на этой странице отключены автором.

Похожие публикации