Тестирование по робототехнике
Входное тестирования. Курс Робототехника. Модуль 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] Заполняется преподавателем в процессе проверки работы.