1. Название работы
Двигатель постоянного тока, L293D и Ультразвуковые дальномеры
2. Цель работы
Целью работы является приобретение практических навыков
3. Задачи работы
4. Состав лабораторного комплекта
!!! Внимание !!!
При использовании аналога Arduino Wavgat предварительно следует установить на компьютер соответствующий драйвер.
Ссылка 1. Ссылка 2
и драйвер USB порта для CH341
Ссылка
Схема подключения
L293D | HC-SR04 (1) | HC-SR04(2) | ||
1 -> Arduino D9 2 -> Arduino D3 3 -> DC-мотор 1 4 -> GND 5 -> GND 6 -> DC-мотор 2 7 -> Arduino D2 8 -> +5v | 16 -> +5v 15 -> 14 -> 13 -> 12 -> 11 -> 10 -> 9 -> | VCC -> +5v Trig -> Arduino D6 Echo -> Arduino D10 GND ->GND | VCC -> +5v Trig -> Arduino D5 Echo -> Arduino D11 GND ->GND |
5. Исходные данные и материалы
Статья, посвященная работе с ультразвуковым датчиком HC-SR04
Ссылка 1, Статья 2, посвященная работе с L293D
Пример кода работы с L293D
// Motor A connections
int enA = 9;
int in1 = 3;
int in2 = 2;
void setup() {
// Set all the motor control pins to outputs
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
// Turn off motors - Initial state
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}
void loop() {
directionControl();
delay(1000);
speedControl();
delay(1000);
}
// This function lets you control spinning direction of motors
void directionControl() {
// Set motors to maximum speed
// For PWM maximum possible values are 0 to 255
analogWrite(enA, 255);
// Turn on motor
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
delay(2000);
// Now change motor directions
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
delay(2000);
// Turn off motors
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}
// This function lets you control speed of the motors
void speedControl() {
// Turn on motors
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
// Accelerate from zero to maximum speed
for (int i = 0; i < 256; i++) {
analogWrite(enA, i);
delay(20);
}
// Decelerate from maximum speed to zero
for (int i = 255; i >= 0; --i) {
analogWrite(enA, i);
delay(20);
}
// Now turn off motors
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}
6. Задания к лабораторным работам
- После запуска робот стоит неподвижно.
- При получении сигнала от датчика HC-SR04 – движется 0,5 метра в направлении противоположном датчику.
- По окончании движения стоит.
- Если при движении от препятствия робот обнаруживает другое препятствие, то он должен разместить себя на одинаковых расстояниях от обоих препятствий.
- * Если через минуту ничего не происходит – движется обратно.
7. Полученные результаты
Результатом выполнения каждого задания является:
- Блок-схема алгоритма работы программы в графическом редакторе (yEd).
- Код программы и результаты ее тестирования на лабораторном комплекте в среде разработки Arduino IDE.
- Отчет по лабораторной работе.
8. Форма и условия сдачи/приема работы.
Каждый этап принимается отдельно.
Задания выполняются последовательно, к выполнению следующего задания ученики приступают только после сдачи предыдущего.
Для сдачи каждого задания создается отчет по лабораторной работе в виде HTML-документа, сверстанный с помощью HTML и CSS по следующему макету:
Каждое задание оформляется отдельным документом. Все HTML-отчеты с графическими файлами объединяются в архив и передаются преподавателю указанным способом.