Iskra NEO, драйвер L298N и два моторчика

NickSummers
Offline
Зарегистрирован: 05.12.2019

Доброго времени суток! Как вы уже поняли, я практически ничего не смыслю в ардуино, его аналогах, кодах и прочем. Но, случилось так, что мне потребовалось создание прототипа именно на этой платформе. К сути:

У меня есть Iskra NEO, драйвер моторов L298N, два моторчика с передаточным числом 100 оборотов в в минуту и два отсека для двух батареек типа АА. Что нужно? Схема подключения и код формата:

-включение двух моторчиков на определенный промежуток времени

-остановка одного на определенное время

-снова оба работают

-выключение второго на время

-снова оба

-конец цикла(чтобы остановил оба мотора и больше не повторялся)

Буду крайне вам признателен, ведь сроки сдачи уже через пару дней! Вот моя версия кода(по которой он, почему-то, вращает моторы по очереди...


// Двигатель A
int enA = 9;
int in1 = 4;
int in2 = 5;
// Двигатель B
int enB = 4;
int in3 = 6;
int in4 = 7;
void setup()
{
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
 
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
}
void loop()
{
    // Установка двигателя A и B на максимальную скорость (0 ... 255)
  analogWrite(enA, 255);  
  analogWrite(enB, 255);
 
   delay(2000);


// Вращение двигателем A и B вперед
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
 
    delay(2000);

  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  delay(2000);

// Отключение мотора A и B
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
 
    delay(2000000);
   
   
}

 

NikShel
Offline
Зарегистрирован: 21.01.2018

Про Iskra NEO - ничего не знаю!

Моя машинка с Ардуиной уже больше года стоит на полке, никак не могу заняться вплотную.

При первом взгляде на Ваш код бросается в глаза: строки 03 и 06. Где-то ошибка!

Ну и схемку покажите!!

bwn
Offline
Зарегистрирован: 25.08.2014

Строка 52, этто пять, давайте зачетку.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

bwn пишет:

Строка 52, этто пять

Не, на пять надо было delay(100500);

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вот почему новореги никогда не читают форум, прежде чем писать?

Если бы Вы почитали, Вы бы никогда не написали

NickSummers пишет:
сроки сдачи уже через пару дней! 

ибо этой фразой Вы понизили вероятность получения желаемого почти до нуля.

А теперь ждите, что случится раньше: кто-нибудь сжалится и подаст убогому прогульщику занятий, или проснётся Ворота и тему снесут за срач.

ВН
Offline
Зарегистрирован: 25.02.2016

 

NickSummers, просто моторы через драйвер от батареек запускать пробовал?

NickSummers
Offline
Зарегистрирован: 05.12.2019

При всем уважении, это внеучебный проект )

NickSummers
Offline
Зарегистрирован: 05.12.2019

Пробовал просто моторы от батареек

NickSummers
Offline
Зарегистрирован: 05.12.2019

Без малейшего понятия как прикреплять фотографии к комментариям, попробую разобраться и кинуть

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

NickSummers пишет:
При всем уважении, это внеучебный проект )

А это уже никого не волнует

ЕвгенийП пишет:

этой фразой Вы понизили вероятность получения желаемого почти до нуля.

Почитали бы кучу срачей на эту тему, поняли бы, что лучше такого не писать, но мы ж, блин, не читатели :)

NickSummers
Offline
Зарегистрирован: 05.12.2019

Хах, ну, мир не без добрых людей) думаю, найдётся пара-тройка человек(хотя, уже пишут), которые будут готовы помочь при таких обстоятельствах)

bwn
Offline
Зарегистрирован: 25.08.2014

Давайте, чуть помогу, не нарушая принятой парадигмы: подключили свои моторчики, написали программку, которая будет крутить один двигатель вперед, дополнили, чтобы крутила назад. Также для второго. Когда поймете как ими управлять, сможете спокойно совместить, согласно заданного алгоритма. Фсё.

NickSummers
Offline
Зарегистрирован: 05.12.2019

Спасибо огромное, но, что делать, если при таком коде он вращает сначала один мотор ?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

NickSummers пишет:
Спасибо огромное, но, что делать, если при таком коде он вращает сначала один мотор ?

Писать другой, или искать ошибку в схеме.

bwn
Offline
Зарегистрирован: 25.08.2014

NickSummers пишет:
Спасибо огромное, но, что делать, если при таком коде он вращает сначала один мотор ?

"Когда поймете как ими управлять, сможете спокойно совместить, согласно заданного алгоритма."

У меня нет Искры, нет этого драйвера, а значит что? Читать, как управлять через этот драйвер двумя моторами и возможно ли это в принципе.

NickSummers
Offline
Зарегистрирован: 05.12.2019

И, последний вопрос, простите, что отнимают ваше время, как прекратить работу моторчиков без выставления огромной задержки ?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Сказать им: "Стой! Раз-два."

NickSummers
Offline
Зарегистрирован: 05.12.2019

Хах, если бы все было так просто )

bwn
Offline
Зарегистрирован: 25.08.2014

Оставить все в Setup, почитать про while(), вынести в отдельную функцию и вызвать один раз.......

NickSummers
Offline
Зарегистрирован: 05.12.2019

Спасибо огромное!

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

ЕвгенийП пишет:
проснётся Ворота и тему снесут за срач.

А чё, чуть что - сразу Ворота? Я ваще сёдня с бодуна, а потому добрый белый и пушистый.

NickSummers,

вот они тут на меня клевещут, а готов помочь тебе  написать готовый код (в отличие от некоторых тут умников!). Тока есть два момента:

1. Я смогу только в пятницу (завтра) примерно так к обеду будет готово
2. Я буду использовать вот эту библиотеку, без неё я не умею.

Если эти два условия тебя устраивают, напиши, и я завтра всё сделаю.

NickSummers
Offline
Зарегистрирован: 05.12.2019

Буду очень признателен! Спасибо вам огромное!! Выручили )

bwn
Offline
Зарегистрирован: 25.08.2014

:)))))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Мда. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Понедельник нач... тьфу! Пятница начинается в четверг :)

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Держи, родной!

Сделано для Uno/Nano. Версия IDE у меня 1.8.10. Алгоритм - как у тебя в первом посте. Паузы примерно 5 секунд. Впрочем, алгоритм в самой программе подробно написан. Всё работает как надо, я проверял. Запусти сам и убедись. Двигатели я кручу в разные стороны. Ты не писал как надо, но я подумал, что если их устанавливать на одну ось тележки (как обычно делается) то их надо крутить в разные стороны, чтобы тележка нормально ехала (они ж зеркально стоят).

Как я тебе говорил, нужно установить библиотеку. Там на гитхабе есть её текст и ссылка на описание и обсуждение. По той же ссылке написано как устанавливать, если вдруг не знаешь.

Удачной сдачи! С тебя подробное описание этого процесса, не забудь!

Вот код:

#include <BrainFuck.h>
//
//	Назначение пинов:
//
// Мотор А        Мотор В
//   pinENA = 2;     pinENB = 5;
//   pinIN1 = 3;     pinIN3 = 6;
//   pinIN2 = 4;     pinIN4 = 7;
// 	
void setup(void) {
	DDRD |= 252;
	BrainFuck((char *)
		"<+.<<+. 1) Включить оба мотора <+.<+.>>>>>++"
		"++++++[ 2) пауза >++++++++[>++++++++[>++++++"
		"++[>+++ 3) Выключить мотор А +++++[>++++++++"
		"+[-]<-] 4) пауза <-]<-]<-]<-]<-.>++++++++[>+"
		"+++++++ 5) Включить мотор А [>++++++++[>++++"
		"++++[>+ 6) пауза +++++++[>+++++++++[-]<-]<-]"
		"<-]<-]< 7) Выключить мотор В -]<+.>++++++++["
		">++++++ 8) пауза ++[>++++++++[>++++++++[>+++"
		"+++++[> 9) Включить мотор В +++++++++[-]<-]<"
		"-]<-]<- 10) пауза ]<-]<<<<-.>>>>++++++++[>++"
		"++++++[ 11) Выключить всё >++++++++[>+++++++"
		"+[>++++++++[>+++++++++[-]<-]<-]<-]<-]<-]<<<<"
		"+.>>>> Дальше будет только тишина ++++++++[>"
		"++++++++[>++++++ Вильям Шекспир ++[>++++++++"
		"[>++++++++[>+++++++++[-]<-]<-]<-]<-]"
		"<-]<-.<<-.<-.<-."
	);
}
void loop(void) {}
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ворота пишет:
Удачной сдачи! С тебя подробное описание этого процесса, не забудь!
Жаль, что билет нельзя купить.

NickSummers
Offline
Зарегистрирован: 05.12.2019

Спасибо огромное!!! Буквально спасли меня !

NickSummers
Offline
Зарегистрирован: 05.12.2019

Пройду этот этап - будет можно )

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

bwn пишет:

NickSummers пишет:
Спасибо огромное, но, что делать, если при таком коде он вращает сначала один мотор ?

"Когда поймете как ими управлять, сможете спокойно совместить, согласно заданного алгоритма."

У меня нет Искры, нет этого драйвера, а значит что? Читать, как управлять через этот драйвер двумя моторами и возможно ли это в принципе.

я управляю четырьмя, правда по два попарно, левый и правый борт, скетчи в теме радиоуправляемая тележка на ардуино, если ТС это поможет )))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

Ворота пишет:
Удачной сдачи! С тебя подробное описание этого процесса, не забудь!
Жаль, что билет нельзя купить.

я бы тоже сей цирк посмотрел )))
Вот а вы на меня за бочку наезжали, ведь там совсем безобидный вопрос был, а тут двигатеЛя )))

bwn
Offline
Зарегистрирован: 25.08.2014

Так, Ворота, уже помог. Что еще нужно для щасья?))))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

bwn пишет:

Так, Ворота, уже помог. Что еще нужно для щасья?))))

ну да, всё как на блюдечке с золотой каёмочкой выложил

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Так, запускал? Работает, нормально?

NickSummers
Offline
Зарегистрирован: 05.12.2019

Да, отлично ) буквально 5 минут назад запустил, правда, там он не с первого раза заработал ... спасибо вам еще раз !!

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Ну, тогда удачно тебе сдать. Ждём отчёта!

NickSummers
Offline
Зарегистрирован: 05.12.2019

Добрый вечер! Прошу прощения, что отвлекаю. Мне опять приходиться прибегнуть к вашей помощи ... вопрос такого формата: можно ли подключить все это на пульт управления по средствам двух блютуз модулей ? Буду очень признателен за ответ ! (И да, надеюсь, это последняя проблема, которая у меня возникает с данным проектом ))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

NickSummers пишет:
! (И да, надеюсь, это последняя проблема, которая у меня возникает с данным проектом ))

вот это ты себе льстишь...

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

NickSummers пишет:
можно ли подключить все это на пульт управления по средствам двух блютуз модулей ?

Не знаю, что "это", на какой пульт и что вся эта байда должна делать, но ответ всё равно - "можно". Надеюсь, ты получил ответ на свой вопрос, и тебе это помогло.

NickSummers пишет:
Буду очень признателен за ответ !
Не за что.

 

NickSummers
Offline
Зарегистрирован: 05.12.2019

Спасибо! Пошел подключать !))