создал библиотеку для контроля за дс мотором
- Войдите на сайт для отправки комментариев
Втр, 18/05/2021 - 22:32
Но она чтото не работает, думаю с иф намудрил, ктото может глянуть глазом?
#include "Motors.h" MotorClass::MotorClass (int pE, int pI1, int pI2) { pinE=pE; pinI1=pI1; pinI2=pI2; pinMode (pinE, OUTPUT); pinMode (pinI1, OUTPUT); pinMode (pinI2, OUTPUT); Power = 0; SpeedChanging = false; } void MotorClass::RunMotor (int motorpower) { if (motorpower>0) {digitalWrite(pinI1, LOW); digitalWrite(pinI2, HIGH);} if (motorpower<0) {digitalWrite(pinI1, HIGH); digitalWrite(pinI2, LOW);} if (motorpower=0) {digitalWrite(pinI1, LOW); digitalWrite(pinI2, LOW);} digitalWrite (pinE, abs(Power)); } void MotorClass::SetSpeed (int newspeed, int smooth) { ReqPower=(int)newspeed*2.55; if (ReqPower>=Power) StartPowerStep=1; else StartPowerStep=-1; StartTimeStep=smooth; StartTimer=millis(); SpeedChanging=true; } void MotorClass::UpdateSpeed() { if (SpeedChanging) if ((millis()-StartTimer)>= StartTimeStep){ if (Power!=ReqPower){ Power+=StartPowerStep; RunMotor (Power); StartTimer=millis(); } else SpeedChanging=false; } }
блин глаз замылился, наверное в runmotor надо AnalogWrite, а не digitalWrite. жаль только завтра проверю.
наверное ... надо
Да тут до хрена чего надо, начиная с того, что код надо выкладывать полностью - здесь даже типы данных непонятны и заканчивая тем, что строки №№ 21 и 22 абсолютно лишние, т.к. условие в строке №21 не может быть истинным ни при каких обстоятельствах.
а останавливать мотор как будем? или мы постоянно только ехать будем?
а останавливать мотор как будем? или мы постоянно только ехать будем?
Это вопрос ко мне по поводу строк №№ 21-22? Вы уж цитируйте о чём речь. Если о них, то, судя потому, что написано в коде, никак не будете останавливать.
Вы, возможно, невнимательно прочитали то, что я написал. Попробуйте ещё раз, я выделю ключевые слова:
а останавливать мотор как будем? или мы постоянно только ехать будем?
Это вопрос ко мне по поводу строк №№ 21-22? Вы уж цитируйте о чём речь. Если о них, то, судя потому, что написано в коде, никак не будете останавливать.
Вы, возможно, невнимательно прочитали то, что я написал. Попробуйте ещё раз, я выделю ключевые слова:
я понимаю, что вы скорее гуру, а не могли бы так сказать снизойти и холопам обьяснить, в частности мне или ткнуть носом где почитать?
Вам подсказали уже, в 21 строке = это присвоить значение, а не сравнить ( аналог в математике = это равно, а == это тождественно равно)
я понимаю, что вы скорее гуру, а не могли бы так сказать снизойти
Да ну какие ж из нас гуру? Гуру, оне "библиотеки" пишут, такие, как в первом посту.
а ведь можно было без пафоса сказать, что присваиваешь, а не сравниваешь, когда сидишь и думаешь как сделать, глаз то замыливается.
а ведь можно было без пафоса сказать, что присваиваешь, а не сравниваешь, когда сидишь и думаешь как сделать, глаз то замыливается.
Я почти никогда не говорю прямо. Считаю это неуважением к собеседнику. Я лишь слегка подталкиваю человека к решению и оставляю ему возможность найти ошибку самому, (а заодно заявить, что он всё нашёл сам, а я - мудак - нихрена не помог, что часто и слышу).
Вам может нравиться такая моя манера или не нравиться - это Ваше дело. Я считаю нужным поступать так. В конце концов, найти ошибку самому (пусть и небольшого пинка) - это гораздо приятнее, чем когда тебе её на блюдечке выложили (для меня, по крайней мере).
А пафоса я здесь никакого не вижу.
P.S. Опять неправильно помогаем :-(
а ведь можно было без пафоса сказать, что присваиваешь, а не сравниваешь, когда сидишь и думаешь как сделать, глаз то замыливается.
Я почти никогда не говорю прямо. Считаю это неуважением к собеседнику. Я лишь слегка подталкиваю человека к решению и оставляю ему возможность найти ошибку самому, (а заодно заявить, что он всё нашёл сам, а я - мудак - нихрена не помог, что часто и слышу).
Вам может нравиться такая моя манера или не нравиться - это Ваше дело. Я считаю нужным поступать так. В конце концов, найти ошибку самому (пусть и небольшого пинка) - это гораздо приятнее, чем когда тебе её на блюдечке выложили (для меня, по крайней мере).
А пафоса я здесь никакого не вижу.
P.S. Опять неправильно помогаем :-(
спасибо, что помогаем, остальное не важно, больше грубых косяков нету? Спасибо за помощь. ткните всетаки в какую литературу или примеры, сложных программ?!
а ведь можно было без пафоса сказать, что присваиваешь, а не сравниваешь, когда сидишь и думаешь как сделать, глаз то замыливается.
Так откуда ж знать, что именно Вам нужно? Вы об этом нигде не пишете (кстати, именно это - одна из основных целей написания комментариев - чтобы можно было сравнить, что хочет автор, и что получается в коде, но Вы этой возможностью пренебрегли).
Вы употребили синтаксически верную конструкцию. Зачем Вы ее употребили, никому кроме Вас неизвестно. Но производимые этой конструкцией действия вызывают некоторые сомнения. О чем Вам прямо сообщили. Чего ж Вам еще надо?