1110motor pwm: различия между версиями

Материал из УМКИwiki
Перейти к навигации Перейти к поиску
(Новая страница: «<code> ////////////////////////////////////////////// // 2019.08.05 woronin, umkiedu@gmail.com // Управление платформой SmartCar.…»)
 
Нет описания правки
Строка 1: Строка 1:
<code>
<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() {
 
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()
 
{
void loop()
{
   digitalWrite (motorR1, HIGH);
   digitalWrite (motorR1, HIGH);
   // Команда digitalWrite устанавливает на контакте  высокий уровень
   // Команда digitalWrite устанавливает на контакте  высокий уровень
Строка 48: Строка 50:
   // Значение ШИМ 70. Скорость низкая
   // Значение ШИМ 70. Скорость низкая
   delay(1000); //время работы  1 сек.
   delay(1000); //время работы  1 сек.
}
}
</code>
 
</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 сек.
}