Тел. (495) 972-27-12

Как писать программы с мотором?

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY

Как писать программы с мотором?

Сообщение Лёня Осетинский » 13 фев 2014, 11:30

Здравствуйте, меня зовут Лёня, я бы хотел узнать как на Ардуино писать программы с мотором - мне нужно написать программу чтобы работала такая система:
если кнопка не нажата, то всё остаётся по прежнему,
если кнопка нажата, то...
...то тогда мотор включается и крутится N-ное время в одну сторону, затем N-ное время в другую, и затем выключается (до тех пор, пока я снова не нажму кнопку).
Лёня Осетинский
 
Сообщения: 4
Зарегистрирован: 13 фев 2014, 11:14

Re: Как писать программы с мотором?

Сообщение Mr.Kubikus » 13 фев 2014, 12:16

Привет, Лёня!
Для начала, чтобы управлять мотором от ардуино потребуется дополнительная плата Motor Shiled, которая усиливает сигнал управления. Конечно можено спаять такой усилитель и самостоятельно.

Теперь насчет программы. Я приведу сразу исходный код с комментариями:
Code: [Выделить всё] [Expand/Collapse]
// Номера портов
int pinButton = 0; // Номер порта, к которому подключена кнопка
int pinMotorPwr = 1;  // Номер порта, к которому подключен сигнал включения мотора
int pinMotorDir = 2;  // Номер порта, к которому подключен сигнал направления вращения мотора

void setup() {
  // Настраиваем режимы работы портов
  pinMode(pinButton, INPUT);
  pinMode(pinMotorPwr, OUTPUT);
  pinMode(pinMotorDir, OUTPUT);
}

void loop() {
  // Обрабатываем нажатие на кнопку
  if (digitalRead(pinButton)){
    digitalWrite(pinMotorPwr, HIGH);
    digitalWrite(pinMotorDir, HIGH);   
    delay(3000);
    digitalWrite(pinMotorDir, LOW);   
    delay(3000);
    digitalWrite(pinMotorPwr, LOW);
    digitalWrite(pinMotorDir, LOW);   
  }
}

GeSHi © Codebox Plus
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 880
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: Как писать программы с мотором?

Сообщение Лёня Осетинский » 13 фев 2014, 12:29

Mr.Kubikus писал(а):Привет, Лёня!
Для начала, чтобы управлять мотором от ардуино потребуется дополнительная плата Motor Shiled, которая усиливает сигнал управления. Конечно можено спаять такой усилитель и самостоятельно.

Теперь насчет программы. Я приведу сразу исходный код с комментариями:
Code: [Выделить всё] [Expand/Collapse]
// Номера портов
int pinButton = 0; // Номер порта, к которому подключена кнопка
int pinMotor = 1;  // Номер порта, к которому подключен мотор

// Глобальные переменные
bool motorStateOn = false;  // Флаг состояния мотора:
                            // false - выключен
                            // true - включен

void setup() {
  // Настраиваем режимы работы портов
  pinMode(pinButton, INPUT);
  pinMode(pinMotor, OUTPUT);
}

void loop() {
  // Обрабатываем нажатие на кнопку
  if (digitalRead(pinButton)){
    if (motorStateOn == true) {
      motorStateOn = false;
    } else {
      motorStateOn = true;
    }
    delay(10);
  }

  // Управляем мотором в заисимости от состояния флага motorStateOn
  if (motorStateOn == true) {
    digitalWrite(pinMotor, HIGH);
  } else {
    digitalWrite(pinMotor, LOW);
  }
}
GeSHi © Codebox Plus



Спасибо, но... даже если я приобрету эту плату, то всё равно - как мне собирать с ней схему - я не умею (у меня набор SparkFun Inventor's Kit - V3.1)?
Лёня Осетинский
 
Сообщения: 4
Зарегистрирован: 13 фев 2014, 11:14

Re: Как писать программы с мотором?

Сообщение Mr.Kubikus » 13 фев 2014, 12:45

Для начала можно ознакомиться с темой на этом форуме - "Как подсоединять быстро два обычных мотора к Motor Shield R3".
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 880
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: Как писать программы с мотором?

Сообщение Mr.Kubikus » 13 фев 2014, 13:31

Нарисовал схему подключения для платы расширения Motor Shiled 2A. Управление мотором будет через порты: 5-включение мотора и 4-направление вращения. Поэтому надо изменить значения для переменных pinMotorPwr и pinMotorDir соответственно.

motor-connect-1.jpg
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 880
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: Как писать программы с мотором?

Сообщение Лёня Осетинский » 14 фев 2014, 15:18

Mr.Kubikus писал(а):Нарисовал схему подключения для платы расширения Motor Shiled 2A. Управление мотором будет через порты: 5-включение мотора и 4-направление вращения. Поэтому надо изменить значения для переменных pinMotorPwr и pinMotorDir соответственно.

motor-connect-1.jpg



Но у меня не жёлтый и зелёный, а красный и чёрный провода.
Лёня Осетинский
 
Сообщения: 4
Зарегистрирован: 13 фев 2014, 11:14

Re: Как писать программы с мотором?

Сообщение Mr.Kubikus » 17 фев 2014, 11:52

Я думаю цвет провода не сильно влияет на его проводимость электрического тока :roll:
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 880
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: Как писать программы с мотором?

Сообщение Лёня Осетинский » 19 фев 2014, 10:03

Mr.Kubikus писал(а):Я думаю цвет провода не сильно влияет на его проводимость электрического тока :roll:


Я подключил, правда убрал из программы всё связанное с кнопкой, но мотор не заработал.
Лёня Осетинский
 
Сообщения: 4
Зарегистрирован: 13 фев 2014, 11:14

Re: Как писать программы с мотором?

Сообщение Mr.Kubikus » 19 фев 2014, 10:44

То есть вы использовали мой пример кода без изменений и мотор не заработал?
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 880
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва

Re: Как писать программы с мотором?

Сообщение Mr.Kubikus » 19 фев 2014, 13:45

Обратите внимание, что для этой схемы для управления мотором используются следующие порты:
5-включение мотора
4-направление вращения

Вы поменяли в программе значения для переменных pinMotorPwr и pinMotorDir чтобы они соответствовали написанному выше? Покажите ваш код.
С уважением, Григорий
GitHub FB ВК TW
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
 
Сообщения: 880
Изображения: 49
Зарегистрирован: 22 окт 2010, 23:57
Откуда: Москва


Вернуться в Arduino и Ко. ♥♥♥



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron