1110motor pwm: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «<code> ////////////////////////////////////////////// // 2019.08.05 woronin, umkiedu@gmail.com // Управление платформой SmartCar.…») |
Evgen (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
< | <syntaxhighlight lang="C++"> | ||
////////////////////////////////////////////// | ////////////////////////////////////////////// | ||
// 2019.08.05 woronin, umkiedu@gmail.com | // 2019.08.05 woronin, umkiedu@gmail.com | ||
Строка 9: | Строка 9: | ||
int mL_PWM = 3; // 3 управляет вращением левого мотора | int mL_PWM = 3; // 3 управляет вращением левого мотора | ||
int mR_PWM = 5; // 5 управляет вращением правого мотора | int mR_PWM = 5; // 5 управляет вращением правого мотора | ||
void setup() { | |||
pinMode(mL_PWM, OUTPUT); | pinMode(mL_PWM, OUTPUT); | ||
pinMode(mR_PWM, OUTPUT); | pinMode(mR_PWM, OUTPUT); | ||
Строка 15: | Строка 16: | ||
pinMode(motorL1, OUTPUT); | pinMode(motorL1, OUTPUT); | ||
//Определяем все контакты , как OUTPUT | //Определяем все контакты , как OUTPUT | ||
} | |||
void loop() | |||
{ | |||
digitalWrite (motorR1, HIGH); | digitalWrite (motorR1, HIGH); | ||
// Команда digitalWrite устанавливает на контакте высокий уровень | // Команда digitalWrite устанавливает на контакте высокий уровень | ||
Строка 48: | Строка 50: | ||
// Значение ШИМ 70. Скорость низкая | // Значение ШИМ 70. Скорость низкая | ||
delay(1000); //время работы 1 сек. | delay(1000); //время работы 1 сек. | ||
} | |||
</ | |||
</syntaxhighlight> | |||
[[Категория:Видео эпизоды УМКИ]] | [[Категория:Видео эпизоды УМКИ]] | ||
[[Категория:Примеры программирования Arduino]] |
Версия от 14:00, 15 ноября 2019
//////////////////////////////////////////////
// 2019.08.05 woronin, umkiedu@gmail.com
// Управление платформой SmartCar. Контроллер К-6
// движение платформы вперед c ускорением и замедлением
//////////////////////////////////////////////
int motorR1 = 2; // 2 контакт определяет направление вращения первого правого мотора
int motorL1 = 4; // 4 контакт определяет направление вращения первого левого мотора
int mL_PWM = 3; // 3 управляет вращением левого мотора
int mR_PWM = 5; // 5 управляет вращением правого мотора
void setup() {
pinMode(mL_PWM, OUTPUT);
pinMode(mR_PWM, OUTPUT);
pinMode(motorR1, OUTPUT);
pinMode(motorL1, OUTPUT);
//Определяем все контакты , как OUTPUT
}
void loop()
{
digitalWrite (motorR1, HIGH);
// Команда digitalWrite устанавливает на контакте высокий уровень
//Для драйвера моторов это означает то, что мотор будет вращаться назад
digitalWrite (motorL1, HIGH);
analogWrite (mR_PWM, 0);
analogWrite (mL_PWM, 0);
// Значение ШИМ равно нулю, двигатель не вращается
delay(1000); // действие происходит 1 сек
digitalWrite (motorR1, HIGH);
digitalWrite (motorL1, HIGH);
analogWrite (mR_PWM, 100);
analogWrite (mL_PWM, 100);
// Значение ШИМ 70. Скорость низкая
delay(1000); //время работы 1 сек.
analogWrite (mR_PWM, 170);
analogWrite (mL_PWM, 170);
// Значение ШИМ 70. Скорость средняя
delay(1000); //время работы 1 сек.
analogWrite (mR_PWM, 255);
analogWrite (mL_PWM, 255);
// Значение ШИМ 70. Скорость максимальная
delay(1000); //время работы 1 сек.
analogWrite (mR_PWM, 170);
analogWrite (mL_PWM, 170);
// Значение ШИМ 70. Скорость средняя
delay(1000); //время работы 1 сек.
analogWrite (mR_PWM, 70);
analogWrite (mL_PWM, 70);
// Значение ШИМ 70. Скорость низкая
delay(1000); //время работы 1 сек.
}