Сайт студентов физиков для студентов физиков!
Главная Контрольные по физике Тестирование по робототехнике

Тестирование по робототехнике

Входное тестирования. Курс Робототехника. Модуль 2.

Для полноценного освоения материала второго модуля курса робототехника (разработка 1С клуба программистов, Петрозаводск) необходимо иметь определенный набор знаний. Для проверки готовности к изучению второго модуля робототехники необходимо пройти настоящее входное тестирование. В случае уверенного прохождения (набрано 40 баллов и более) можно смело приступать к модулю 2. В случае обнаружения сложностей при формировании ответов на вопросы рекомендуется углубить свои знания и лучше подготовиться ко второму модулю. Это можно сделать на подготовительном модуле «1 и ¾» или повторив модуль 1.

Задание следует заполнять вручную.

Задание или вопрос

Ответ

Вес ответа[1]

Оценка[2]

1.   

Микроконтроллер – это …

1

2.   

Сколько параметров имеет команда PinMode?

1

3.   

Что будет сделано в результате выполнения следующей команды:

PinMode(7, INPUT_PULLUP);

1

4.   

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

PinMode(6, OUTPUT);

AnalogWrite(6, 127);

1

5.   

В чем разница между процедурами setup() и loop() ?

1

6.   

Опишите словами как работает следующая электрическая схема. Каким могло бы быть её практическое применение?

2

7.   

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

2

8.   

Имеется простое автоматическое устройство, собранное из конструктора ардуино и выполняющее простую функцию: устройство включает электромотор тогда, когда освещенность достигает некоторой пороговой величины. Устройство содержит следующие элементы: arduino uno, макетная плата, провода, фоторезистор, резистор на 10кОм, полевой транзистор MOSFET, электромотор, отдельный источник питания для электромотора на 12 вольт. Изобразите возможную принципиальную электрическую схему описанного устройства.

3

9.   

К третьему пину ардуино подключен светодиод по стандартной схеме (с токоограничивающим резистором на 220 Ом). В самом ардуино загружена программа приведенная ниже. Изобразите график зависимости напряжения на пин 3 от времен (осциллограмму).

void setup()

{

pinMode(3, OUTPUT);

}

void loop()

{

digitalWrite(3, LOW);

delay(100);

digitalWrite(3, HIGH);

delay(100);

}

3

10.   

Изобразите график зависимости напряжения на пин 3 от времен (осциллограмму), если известно, что в микроконтроллер загружена следующая программа.

#define LED_PIN 3

void setup()

{

pinMode(LED_PIN, OUTPUT);

}

void loop()

{

for(int i=1; i<255; ++i)

{

analogWrite(LED_PIN, i);

delay(50);

};

for(int i=255; i>0; —i)

{

analogWrite(LED_PIN, i);

delay(50);

};

}

5

11.   

Опишите словами что именно выполняет программа приведенная в предыдущем задании.

5

12.   

Что предписывает следующая директива компилятора?

#include <Servo. h>

1

13.   

Перечислите основные команды библиотеки серво.

1

14.   

Имеется фрагмент программы. Что будет находиться в переменной s после выполнения программы? Почему? Прокомментируйте выполнение программы «по шагам».

#define MAX_INDEX 10

int a[MAX_INDEX];

void setup()

{

………………..

}

void loop()

{

………………..

int s=0;

for(int i=0; i<=MAX_INDEX; ++i)

{

s = s + a[i];

};

s = s / MAX_INDEX;

………………..

}

5

15.   

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

5

16.   

Имеется фрагмент программы.

1)  Опишите словами что выполняет этот фрагмент программы (каков его логический смысл).

2)  Предположите в каком устройстве мог бы быть востребован этот фрагмент.

int temp = 0;

int limit = 100;

boolean limit_flag = false;

if (temp > limit) {

tone(10, 3500, 200);

limit_flag = true;

digitalWrite(LED_OK, LOW);

digitalWrite(LED_ALARM, HIGH);

}

else {

digitalWrite(LED_OK, HIGH);

digitalWrite(LED_ALARM, LOW);

limit_flag = false;

}

5

17.   

Имеется автоматическое устройство (на основе arduino uno) регулирующее уровень температуры в помещении. В устройстве использован терморезистор, подключенный к порту А0 (по стандартной схеме с делителем напряжения: терморезистор между землей и А0, подтягивающий резистор 10кОм между А0 и Vcc). Управление нагревателем реализовано через реле подключенное к порту 4. Запись логической единицы в порт 4 включает устройство, а запись логического нуля в порт 4 выключает устройство.

Напишите простую программу осуществляющую измерение температуры раз в секунду и в зависимости от измеренного значения включающее и отключающее подогрев помещения. Граничное значение при котором следует включать нагреватель задается как макроопределение директивой #define.

10

18.   

Имеется устройство с мотором. Мотор подключен через MOSFET-транзистор, подключенный к пину 9. Работа мотора управляется одной единственной кнопкой подключенной к пину 4 по схеме с подтягивающим резистором. Устройство работает следующим образом: при первом нажатии на кнопку мотор запускается на половину мощности, второе нажатие запускает мотор на полную мощность, третье нажатие выключает мотор. Далее управление повторяется: четвертое нажатие запускает на половину мощности и т. д.

Изобразите схему устройства и напишите программу которая осуществляла бы описанный алгоритм управления.

15

[1] Вес правильного ответа на вопрос. Оценен в баллах. Частично верный ответ равно как и задание решенное не до конца или с ошибками будет оценено в меньшую величину.

[2] Заполняется преподавателем в процессе проверки работы.