Форум программистов, компьютерный форум, киберфорум
Наши страницы
Arduino
Войти
Регистрация
Восстановить пароль
 
studentrm
-29 / 3 / 1
Регистрация: 13.12.2015
Сообщений: 348
1

Проблемы со скетчом

09.02.2019, 17:12. Просмотров 192. Ответов 7
Метки нет (Все метки)

Всем, привет. Хочу сделать так, чтобы вначале крутилось одно колеса (3 сек), потом второе (3сек). Убираю на low либо ни одно не крутится, либо только одно.
Параметр delay(4000) отвечает за паузу, можно ли изменяя его, снизить скорость вращения колес до минимального?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Тестировалось на Arduino IDE 1.0.5
int IN3 = 5; // Input3 подключен к выводу 5 
int IN4 = 4;
int IN1 = 7; 
int IN2 = 6;
 
void setup()
{
  pinMode (IN4, OUTPUT);
  pinMode (IN3, OUTPUT);
  pinMode (IN2, OUTPUT);
  pinMode (IN1, OUTPUT);
}
void loop()
{
  // На пару выводов "IN" поданы разноименные сигналы, мотор вращается   
  digitalWrite (IN4, HIGH);
  digitalWrite (IN3, LOW); 
  digitalWrite (IN2, HIGH);
  digitalWrite (IN1, LOW); 
  delay(4000);
  // На пару выводов "IN" поданы одноименные сигналы, мотор не вращается 
  digitalWrite (IN4, LOW); 
  digitalWrite (IN2, LOW);
  delay(500);
  // На пару выводов "IN" поданы разноименные (и уже противоположные относительно первого случая) сигналы, мотор вращается  
  // относительно первого случая) сигналы, мотор вращается в другую сторону
  digitalWrite (IN3, HIGH);
  digitalWrite (IN1, HIGH);
  delay(4000);
  // Снова на выводах "IN" появились одноименные сигналы, мотор не вращается 
  digitalWrite (IN3, LOW); 
  digitalWrite (IN1, LOW);
  delay(5000);
  }
0
Миниатюры
Проблемы со скетчом  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2019, 17:12
Ответы с готовыми решениями:

Проблемы с инетом, не отправляется почта, проблемы со связью с другой организацией
Здравствуйте. Есть проблемка. Такая ситуация - Организация. Компьютеры подключены по локалке....

Проблемы с Wi-Fi
ПОлучилась вот такая проблема,на компе стоит роутер DSL-260U с поддержкой wi-fi.На компьютере инет...

Проблемы с US.
#include <iostream> using namespace std; int main() { unsigned short post = 32US; // C...

Проблемы с Wi-Fi
ЗЩдравствуйте, я тут новенький, ну как новенький пару минут назад зарегистрировался :) И у меня...

Проблемы с IE 7
Установил Эксплорер 7. Сначало было всё нормально. Потом вдруг Эксплорер перестал открывать...

7
marat_miaki
182 / 163 / 95
Регистрация: 08.04.2013
Сообщений: 668
10.02.2019, 09:51 2
Управление скоростью происходит через ENA и ENB, у вас он на максимуме, надо джамперы снять и управлять через ардуино. analogWrite(ENA, SPEED);
analogWrite(ENB, SPEED);
SPEED значения от 0-255, средняя скорость 100-150, 50 это уже мало. Изучите даташит для модуля L298N

Пример кода для одного мотора
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int IN3 = 5; // Input3 подключен к выводу 5 
int IN4 = 4;
int ENB = 3;
void setup()
{
 pinMode (ENB, OUTPUT); 
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}
void loop()
{
  // На пару выводов "IN" поданы разноименные сигналы, мотор готов к вращению
  digitalWrite (IN3, HIGH);
  digitalWrite (IN4, LOW);
  // подаем на вывод ENB управляюший ШИМ сигнал 
  analogWrite(ENB,55);
  delay(2000);
  analogWrite(ENB,105);
  delay(2000);
  analogWrite(ENB,255);
  delay(2000);
  // Останавливаем мотор подаем на вывод ENB сигнал низкого уровня. 
  // Состояние выводов "IN" роли не играет.
  analogWrite(ENB,0);
  delay(5000);
}
Добавлено через 10 минут
В коде выше нет ошибок, должны крутиться оба одновременно в одном направлении ( не обязвтельно) зависит от полюсовки, если крутится только один, значит соединения хлипкие, нет контактов, проверяйте по отдельности
0
studentrm
-29 / 3 / 1
Регистрация: 13.12.2015
Сообщений: 348
10.02.2019, 18:08  [ТС] 3
marat_miaki, джамперы снять на пошаговом модуля?
снимаю и ничего не двигается
0
marat_miaki
182 / 163 / 95
Регистрация: 08.04.2013
Сообщений: 668
10.02.2019, 19:42 4
Не только снимать надо, но программировать. Не ужели на скетче выше этого не видно?
0
studentrm
-29 / 3 / 1
Регистрация: 13.12.2015
Сообщений: 348
10.02.2019, 19:44  [ТС] 5
marat_miaki, залил скетч ниже + снял джамперы (два) с пошагового модуля.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int IN3 = 5; // Input3 подключен к выводу 5 
int IN4 = 4;
int ENB = 3;
void setup()
{
 pinMode (ENB, OUTPUT); 
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}
void loop()
{
  // На пару выводов "IN" поданы разноименные сигналы, мотор готов к вращению
  digitalWrite (IN3, HIGH);
  digitalWrite (IN4, LOW);
  // подаем на вывод ENB управляюший ШИМ сигнал 
  analogWrite(ENB,55);
  delay(2000);
  analogWrite(ENB,105);
  delay(2000);
  analogWrite(ENB,255);
  delay(2000);
  // Останавливаем мотор подаем на вывод ENB сигнал низкого уровня. 
  // Состояние выводов "IN" роли не играет.
  analogWrite(ENB,0);
  delay(5000);
}
0
marat_miaki
182 / 163 / 95
Регистрация: 08.04.2013
Сообщений: 668
10.02.2019, 19:53 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int IN3 = 5; // Input3 подключен к выводу 5 
int IN4 = 4;
int ENB = 3;        // для задания скорости
void setup()
{
 pinMode (ENB, OUTPUT);    // объявляем  для скорости
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}
void loop()
{
  // На пару выводов "IN" поданы разноименные сигналы, мотор готов к вращению
  digitalWrite (IN3, HIGH);      // подаем напряжение
  digitalWrite (IN4, LOW);      //  будет масса 
  // подаем на вывод ENB управляюший ШИМ сигнал 
  analogWrite(ENB,55);   // начинаем крутить с маленькой скоростью
  delay(2000);
  analogWrite(ENB,105);  // добовляем еще скорости
  delay(2000);
  analogWrite(ENB,255);  // скорость  на максимум
  delay(2000);
  // Останавливаем мотор подаем на вывод ENB сигнал низкого уровня. 
  // Состояние выводов "IN" роли не играет.
  analogWrite(ENB,0);  // скорость 0
  delay(5000);
}
0
studentrm
-29 / 3 / 1
Регистрация: 13.12.2015
Сообщений: 348
10.02.2019, 19:55  [ТС] 7
marat_miaki, а чем они отличаются?
0
marat_miaki
182 / 163 / 95
Регистрация: 08.04.2013
Сообщений: 668
10.02.2019, 19:58 8
этот скетч только для одного мотора, если он у вас не работал так и не заработает.
вот для пробы, надеюсь знаете что куда соединить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
int EN1 = 3;
int IN1 = 4; // Input1 подключен к выводу 4 
int IN2 = 5;
int IN3 = 6;
int IN4 = 7;
int EN2 = 9;
 
int i;
void setup()
{
  pinMode (EN1, OUTPUT);
  pinMode (IN1, OUTPUT);
  pinMode (IN2, OUTPUT);
  pinMode (EN2, OUTPUT);
  pinMode (IN4, OUTPUT);
  pinMode (IN3, OUTPUT);
}
void loop()
{
  digitalWrite (IN1, HIGH);
  digitalWrite (IN2, LOW); 
  digitalWrite (IN4, HIGH);
  digitalWrite (IN3, LOW); 
  for (i = 50; i <= 180; ++i)
  {
      analogWrite(EN1, i);
      analogWrite(EN2, i);
      delay(30);
  }
  analogWrite (EN1, 0);
  analogWrite (EN2, 0);
  delay(500);
  digitalWrite (IN1, LOW);
  digitalWrite (IN2, HIGH); 
  digitalWrite (IN3, HIGH);
  digitalWrite (IN4, LOW);
  for (i = 50; i <= 180; ++i)
  {
      analogWrite(EN1, i);
      analogWrite(EN2, i);
      delay(30);
  }
  analogWrite (EN1, 0);
  analogWrite (EN2, 0);
  delay(8000);
}
0
10.02.2019, 19:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2019, 19:58

Проблемы с “LIKE”
Существует страница на ASP с полем ввода поиска. ….. &lt;form name='form' method='post'...

Проблемы с FF
:help:Народ! Помогите! ) У меня FF 3.5.2 и через неё не могу зайти:cry::cry::cry: на...

Проблемы с СЧ
Тематика не конкурентная. Статья была по необходимым запросам в Яндексе на 3-5 местах. После...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru