• Преподавателю
  • Другое
  • Мастер-класс «Возможности проектной деятельности с использованием робототехники на базе ARDUINO»

Мастер-класс «Возможности проектной деятельности с использованием робототехники на базе ARDUINO»

Раздел Другое
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат docx
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Мастер-класс «Возможности проектной деятельности с использованием робототехники на базе ARDUINO»

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

Яркими и увлекательными становятся проекты по робототехнике, объединяющие различные предметные области. Одной из доступных и универсальных платформ является ARDUINO. На её базе можно создавать различные устройства: от игр до систем управления «умного дома».

Один из таких проектов представлен ниже. Называется он «Кнопочные ковбои» - игрушка на реакцию: кто быстрее нажмет кнопку по сигналу.

Список деталей для эксперимента

  • 1 плата Arduino Uno

  • 1 беспаечная макетная плата

  • 2 тактовых кнопки

  • 2 резистора номиналом 220 Ом

  • 2 светодиода

  • 1 пьезопищалка

  • 10 проводов «папа-папа»

Принципиальная схема

Мастер-класс «Возможности проектной деятельности с использованием робототехники на базе ARDUINO»

Схема на макетке

Мастер-класс «Возможности проектной деятельности с использованием робототехники на базе ARDUINO»

Скетч

p120_button_cowboys.ino

#define BUZZER_PIN 12 // пин с пищалкой

#define PLAYER_COUNT 2 // количество игроков-ковбоев

// вместо перечисления всех пинов по-одному, мы объявляем пару

// списков: один с номерами пинов с кнопками, другой - со

// светодиодами. Списки также называют массивами (англ. array)

int buttonPins[PLAYER_COUNT] = {3, 13};

int ledPins[PLAYER_COUNT] = {9, 11};

void setup()

{

pinMode(BUZZER_PIN, OUTPUT);

for (int player = 0; player < PLAYER_COUNT; ++player) {

// при помощи квадратных скобок получают значение в массиве

// под указанным в них номером. Нумерация начинается с нуля

pinMode(ledPins[player], OUTPUT);

pinMode(buttonPins[player], INPUT_PULLUP);

}

}

void loop()

{

// даём сигнал «пли!», выждав случайное время от 2 до 7 сек

delay(random(2000, 7000));

tone(BUZZER_PIN, 3000, 250); // 3 килогерца, 250 миллисекунд

for (int player = 0;player = (player+1) % PLAYER_COUNT) {

// если игрок номер «player» нажал кнопку...

if (!digitalRead(buttonPins[player])) {

// ...включаем его светодиод и сигнал победы на 1 сек

digitalWrite(ledPins[player], HIGH);

tone(BUZZER_PIN, 4000, 1000);

delay(1000);

digitalWrite(ledPins[player], LOW);

break; // Есть победитель! Выходим (англ. break) из цикла

}

}

}

Этот проект можно развивать дальше: добавить информационное табло о счёте игры; увеличить количество игроков и т.д. В данных проектах проявляется не только инженерная сторона, но и творческая натура обучающихся.

© 2010-2022