Similar presentations:
ИT-марафон 2023-2024. Трек: «Робототехника». Отборочный этап №2 «Управление сервомоторами. Работа с датчиком дистанции»
1.
ИT-марафон 2023-2024Трек: «Робототехника»
Отборочный этап № 2
«Управление сервомоторами.
Работа с датчиком дистанции»
2.
Цель этапа: формирование умений по сборке роборуки и работе с датчикомдистанции и сервоприводом.
1. Уметь подключать сервопривод к
управляющей плате.
2. Уметь писать и редактировать
программный код для работы с
сервоприводом.
3. Уметь подключать датчик дистанции к
управляющей плате.
4. Уметь писать и редактировать
программный код для движения с
использованием датчика дистанции.
5. Уметь производить отладку работы
роборуки.
3.
СТРУКТУРА ЭТАПА1.
Демонстрация
виртуальной
лаборатории
МЭШ
«Технология.
Моделирование роботов» (основные приёмы работы).
2. Тренировочное задание по работе с сервоприводами роборуки.
3. Тренировочное задание по работе с датчиком дистанции.
4. Самостоятельное выполнение участниками задания этапа.
4.
Пример подключения сервоприводов роборуки ипример программного кода для работы с ними
#include <Servo.h> //подключаем библиотеку для работы с
сервоприводами
Servo s1, s2, s3, s4, s5, s6; // создаём объекты c именами s1…s6,
с помощью которых будем управлять сервоприводами
void setup()
{
s6.attach(4);
s5.attach(5);
s4.attach(6);
s3.attach(7);
s2.attach(8);
s1.attach(9);
}
void loop()
{
for (int i=0; i<=90; i ++)
{
s1.write(i);
delay(50/16);
}
for (int i=90; i>=0; i --)
{
s1.write(i);
delay(50/16);
}
}
5.
Пример подключения датчика дистанции ипример программного кода для работы с ним
int dist()
{
int duration, distance;
// для большей точности установим значение LOW на пине Trig
digitalWrite(trigPin, 0);
delayMicroseconds(2);
// включим излучатель ультразвука на короткое время
digitalWrite(trigPin, 1);
delayMicroseconds(10);
// выключаем излучатель
digitalWrite(trigPin, 0);
// узнаем длительность высокого сигнала на пине Echo
duration = pulseIn(echoPin, 1, 10000);
// рассчитаем расстояние
distance = duration/58;
return distance;
}