#1 Re: Програмування Arduino » Сделайте мне программу! » 2016-02-06 02:58:41

mat

Да всё я понял. Вы просто стесняетесь признаться что, надеетесь заработать, оказывая помощь. Моё мнение такое, если я специалист, я без проблем сделаю для человека такую работу, за которую на фирме с него попросят тысячи €. А я удовлетворюсь простой человеческой благодарностью - ich danke Ihnen. И я не буду его напрягать, освоением глубин познания. Я знаю, умею и этого достаточно. А вы, заставляете старика читать с экрана теорию и начинать программировать. А то что, сплошь и рядом, во всех этих уроках ошибки: как обычные грамматические, которые я в состоянии отловить и исправить, куча ошибок чисто специфических, которые не специалист не заметит. А потом, когда всё это проштудирую, выучу, усвою, напишу свой первый скетч, а он не работает. Или выдаёт какую- то ошибку. И что теперь я буду чувствовать ? Может быть, вы не столь высокого уровня, что вам трудно написать скетч ? Пусть даже, и корявый, и с ошибками ? Я не могу просто понять, если я программист и меня просят написать программу, которая обороты на выходе формирует с неким коэффициентом, к сигналу на входе. Я не буду скрупулёзно расспрашивать, знает ли человек что такое серво и как она работает ? Я просто напишу и дам, пробуйте ! У вас почему- то, так не получается. Даже, когда я вам расписал, набросал эскиз, вы меня троллем назвали.
Лучше бы вы назвали свою цену.

#2 Re: Програмування Arduino » Сделайте мне программу! » 2016-02-05 23:03:44

mat

Ребята, как я понял, всё началось с меня. Ну дайте и я скажу. Вы, тёплое и мягкое, не путайте ! Мне не нужно работать программистом, мне нужно только сейчас, одну безделушку сотворить. А вы хотите, за один раз и на всю оставшуюся жизнь заработать, не сильно надрываясь. Только вслух Вы этого никогда не признаете, а будете говорить что, Вам не нравятся такие читайте текст выше. Я тоже много чего могу но, если я сделал то, ошибок и исправлений уже не нужно будет, а в ваших работах сплошь и рядом, ошибки, исправления. Вы даже ещё ничего не сделали, а уже обговариваете, наладку у клиента... Не будьте трусами ! Честно скажите, в душе хотите заработать. Ну так, огласите свою цену. Если клиента устроит то, он вам заплатит. В моём случае, вы наверняка расчитываете на сумму не менее чем в три знака. А ответьте честно, вы наработаете на эту сумму ? Чтобы и я был тоже удовлетворён результатом ? Заранее скажу, нет !
Когда я был в активной фазе своей жизни, некоторые фирмы нанимали меня за 1200 германских марок в час. Некоторые, по- меньше, за 400 DM. Но я никогда, ни с кого из людей не брал мзду, за свои услуги. Потому что, одно дело фирма, а другое дело, человек. Фирма она бизнес делает, а человек старается свою проблему решить. И естественно, хочет чтобы плыйзнахаляву. Я тоже не чужд этому. И что ? Будете осуждать ? Только, сначала на себя оглянитесь...
P. S.
NoName, если до сих пор не читали почту то, уже не читайте. Приглашение утратило свою силу.

#3 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-05 17:31:49

mat

Ребята, вы разговариваете не с коллегой, а сапожником. Да, конечно, я могу поменять прошивку на валенках но, это совсем не то, о чём вы подумали. Конечно же, всё, что я здесь привёл, это я тупо надёргал в инете фрагменты, немного переписал, чтобы было похоже на мои нужды но, от этого, я не стал лучше понимать, что я делаю. Поэтому и попросил, напишите пожалуйста для меня скетч, пусть он не совсем идеальный но, я хоть буду знать что, он РАБОЧИЙ и когда я уверен что это работает, я уже смогу что- то понимать.
Нет, двигатель у меня не шаговый, а серво. И не та серва, что поворачивает вал на ограниченный угол, а которая может крутить его без ограничений в любую сторону и с любой скоростью, включая и удержание в одном положении. Вот, честно копал интернет, в поисках похожего, не нашёл. Попадался чем- то похожий на мои нужды но, там было такое накручено что я просто отказался. Правда, начало оттуда украл. Каюсь.
Напишите пожалуйста, хоть кусочек, чтобы, вращая энкодер, двигатель вращался со скоростью скажем, в два раза ниже. Или выше, как вам будет удобнее.

#4 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-05 16:22:34

mat

#include <avr/pgmspace.h>

/////////////////////////////////////////////////////////
// ***** Параметры *****
#define Motor_X_Step_Per_Rev    500      // Кол-во шагов/об, мотор 1
#define Motor_Y_Step_Per_Rev    500      // Кол-во шагов/об, мотор 2
#define Enc_Line_per_Rev        500      // Кол-во линий энкодера


// ***** Motor *****
#define MotorPort                    PORTD
#define MotorInitialization()        DDRD=B11111111

#define Motor_X_SetPulse()           MotorPort &= ~(1<<0)
#define Motor_X_RemovePulse()        MotorPort |= (1<<0)
#define Motor_X_InvertPulse()        MotorPort ^= (1<<0)

#define Motor_Y_SetPulse()           MotorPort &= ~(1<<1)
#define Motor_Y_RemovePulse()        MotorPort |= (1<<1)
#define Motor_Y_InvertPulse()        MotorPort ^= (1<<1)

#define Motor_X_CW()                 MotorPort &= ~(1<<2)
#define Motor_X_CCW()                MotorPort |= (1<<2)
boolean Motor_X_CW_flag = true;

#define Motor_Y_CW()                 MotorPort |= (1<<3)
#define Motor_Y_CCW()                MotorPort &= ~(1<<3)
boolean Motor_Y_CW_flag = true;

#define Motor_X_Enable()             MotorPort |= (1<<4)
#define Motor_X_Disable()            MotorPort &= ~(1<<4)

#define Motor_Y_Enable()             MotorPort |= (1<<5)
#define Motor_Y_Disable()            MotorPort &= ~(1<<5)

boolean Step_On_flag = false;
boolean X_Feed_flag = false;
boolean Y_Feed_flag = false;


// ***** Encoder *****
#define Enc_Tick                      Enc_Line_per_Rev*2
#define EncoderPort                   PORTD
#define EncoderInitialization()       DDRD=B00000000;\
                                      PORTD = B00001111
                                     
#define Enc_Read                      (PIND & B00000010)
volatile int Enc_Pos = 0;
volatile byte Ks_Count = 0;
volatile int Km_Count = 0;
byte Ks_Divisor = 0;
int Km_Divisor = 0;
int Enc_Pos_tmp = 0;
long Spindle_Angle = 0;
#define Spindle_Direction_CW         0
#define Spindle_Direction_CCW        1
boolean Spindle_Direction = Spindle_Direction_CW;

//////////////////////////////////////////////
void setup()
{
  EncoderInitialization();
  MotorInitialization();
    }
   
   
//////////////////////////////////////////////
void loop()
{
  Enc_Pos_tmp = Enc_Pos;
}

Компиляция не ругалась, выдала, сколько там байт. И чО ? Я уже программист что ли ? Можно загружать и запускать ? Хотя, сам не верю в успех, этого безнадёжного дела... Что скажете, уважаемые гуру ?

#5 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-05 16:04:35

mat

Я чувствую себя настоящим профи от программирования !!! С большим интересом прочитал монологи зубров, о разных способах решения одной и той же задачи. Вот, только не понял, на фига ?
Пойду, попытаюсь ещё натаскать фрагментов кода, для setup и loop. Наверное, скоро вернусь.

#6 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-05 07:52:29

mat

Подскажите пожалуйста, где ошибка ? Набрал такой текст

#include <avr/pgmspace.h>

/////////////////////////////////////////////////////////
// ***** Параметры *****
#define Motor_X_Step_Per_Rev    500      // Кол-во шагов/об, мотор 1
#define Motor_Y_Step_Per_Rev    500      // Кол-во шагов/об, мотор 2
#define Enc_Line_per_Rev        500      // Кол-во линий энкодера


// ***** Motor *****
#define MotorPort                    PORTD
#define MotorInitialization()        DDRD=B11111111

#define Motor_X_SetPulse()           MotorPort &= ~(1<<0)
#define Motor_X_RemovePulse()        MotorPort |= (1<<0)
#define Motor_X_InvertPulse()        MotorPort ^= (1<<0)

#define Motor_Y_SetPulse()           MotorPort &= ~(1<<1)
#define Motor_Y_RemovePulse()        MotorPort |= (1<<1)
#define Motor_Y_InvertPulse()        MotorPort ^= (1<<1)

#define Motor_X_CW()                 MotorPort &= ~(1<<2)
#define Motor_X_CCW()                MotorPort |= (1<<2)
boolean Motor_X_CW_flag = true;

#define Motor_Y_CW()                 MotorPort |= (1<<3)
#define Motor_Y_CCW()                MotorPort &= ~(1<<3)
boolean Motor_Y_CW_flag = true;

#define Motor_X_Enable()             MotorPort |= (1<<4)
#define Motor_X_Disable()            MotorPort &= ~(1<<4)

#define Motor_Y_Enable()             MotorPort |= (1<<5)
#define Motor_Y_Disable()            MotorPort &= ~(1<<5)

boolean Step_On_flag = false;
boolean X_Feed_flag = false;
boolean Y_Feed_flag = false;


// ***** Encoder *****
#define Enc_Tick                      Enc_Line_per_Rev*2
#define EncoderPort                   PORTD
#define EncoderInitialization()       DDRD=B00000000;\
                                      PORTD = B00001111
                                     
#define Enc_Read                      (PIND & B00000010)
volatile int Enc_Pos = 0;
volatile byte Ks_Count = 0;
volatile int Km_Count = 0;
byte Ks_Divisor = 0;
int Km_Divisor = 0;
int Enc_Pos_tmp = 0;
long Spindle_Angle = 0;
#define Spindle_Direction_CW         0
#define Spindle_Direction_CCW        1
boolean Spindle_Direction = Spindle_Direction_CW;

и после компиляции получаю

core.a(main.cpp.o): In function `main':
C:\Users\Андрей\Desktop\Arduino\arduino-1.0.2-windows\hardware\arduino\cores\arduino/main.cpp:11: undefined reference to `setup'
C:\Users\Андрей\Desktop\Arduino\arduino-1.0.2-windows\hardware\arduino\cores\arduino/main.cpp:14: undefined reference to `loop'

На сколько у меня ума хватает, я до этого ещё даже не дошёл... Или, нужно просто набирать текст программы полностью, с этими setup и loop ?

#8 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-03 23:44:09

mat

Я наверное не очень понятно написал... У меня на Arduino Mega 2560 для ввода сигналов Step и Dir были задействованы 20 и 21 выводы. Номера даю по плате Arduino. Похоже что, пока экспериментировал, один вход подпалил, кажется 20. Вот я и подумал, если порт это 8 бит т. е. 8 ножек, может быть можно перенести на другую ножку, чтобы через неё подать сигнал ? Сам пока не могу разобраться, там всё по- намешано... Не подскажите ? Или другую покупать ? Хотя, я уже заказал новую...

#9 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-03 12:40:35

mat

Спасибо большое, хоть что- то уже понятнее стало. А такой вопрос, если я правильно понял, для сигналов Enable, Step и Dir я могу использовать три ножки одного порта, то бишь три бита. А влияет ли как- то порядок этих битов или старшинство, или как там правильно называется очерёдность этих битов в байте ? Другими словами, как это отражается в записи программы ? И остальные 5 ножек - битов, я могу использовать для других целей скажем, резервировать ? Почему интересуюсь ? Я тут, пока осваивал эту премудрость, похоже, один выход спалил или подпалил на своей Arduino. Сейчас сигнал, как бы трёхуровневый, на осциллографе смотрю. Даже сигналы с энкодера, когда в воздухе, сигнал нормальный, два уровня 0 и 1, подключаю к выводам Arduino сигнал становится уже с тремя уровнями. Вот и подумал, на другую ножку можно его перевести ? И как ?

#11 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-03 10:27:17

mat

Доброе утро.
Я дочь миллионера не топчу, чтобы последовать Вашему совету, заказать. И сам не работаю, пока на пособие живу, жду пенсию. Да и, ваши коллеги, а они все сплошь и рядом из молодых, тех свойств, которыми обладаем мы, старики, не имеют. И если к ним обратиться, с заказом естественно, раздуют из этой безделицы такой шум, начиная с ТЗ, составления смет и графиков и заканчивая отладочно- доводочными  работами на объекте. Как говорится, всё знают но, ничего не умеют.
Если я правильно понял, от Вас не только помощи но и совета, я не дождусь ? И даже примерную стоимость такой программы Вы не скажете ?

#12 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 16:02:51

mat

Хорошо. Попытаюсь сейчас набросать эскиз.
Ой, прошу прощения, про видео только сейчас увидел. А вот это, на вряд ли, нет у меня камеры... А в чём тайный смысл, видео ?

#13 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 15:48:59

mat

Ну хорошо. Что я должен сделать, чтобы Вы смогли помочь ? Написать свой скетч ? Так в том то и дело, что я не умею его написать. Если бы я хоть что- нибудь смыслил в этом, я бы уже это сделал. Ну и как мне теперь воспользоваться Вашей помощью ? Линк этот я уже смотрел и даже скетч этот, пробовал загрузить в Arduino, только, не получилось ничего...
Может, Вы какой- нибудь шаблон дадите, а я попытаюсь по нему написать что- то, чтобы Вы уже по реальной писанине могли помогать ?

#14 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 14:55:52

mat

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

#15 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 14:54:29

mat

Ребята, а если я вам предложу для расходомера, градуировки 23, подобрать термопреобразователь ХК, подберёте ? Конечно нет ибо, понятия не иметет что это такое и с чем его едят. Так и я. Я даже понятия не имею, какие буквы нужно ввести, чтобы написать нечто, понятное Arduino. А уж про специальные символы и пробелы со скобками и говорить не нужно. Поэтому, если не специалист просит другого специалиста, сделать за него т.е. за меня, работу, которой занимается специалист в этой области, будет не разумно советовать мне, начать самому, а вы поможете. Ну что я могу начать ?
А вот, как работает сервопривод, как ни странно, я хорошо знаю. И даташиты мне  даже читать не нужно. А с либами вы абсолютно правы. Про них я ни сном ни духом. Поэтому и прошу вас.

#16 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 14:35:29

mat

Мне ещё такой момент не понятен. Arduino 8 разрядная, а как это выглядит физически ? Каждый бит имеет свою ножку ? Например, я подал импульс на вход, а на разрядность мне нужно как- то ориентироваться ? Импульс вроде один, а битов 8... Не понятно.

#17 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 14:26:57

mat

Ну вот, как стартовать, если понятия не имеешь ? Подключил я свои игрушки к Arduino, даже ножки правильно выбрал, а вот, как объяснить Ardino что, нужно сигнал Step, с ножки 21 обработать с коэффициентом и передать на вывод 49, а сигнал Dir, с ножки 20, на ножку 47, а на ножку 45 выдать сигнал Enable ? И всё это, должно быть синхронно.

#18 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 13:44:36

mat

Немного про двигатели. Я по специальности всю жизнь занимался приборами и автоматикой. Когда появились шаговые двигатели, они не имели тогда, ни микрошага, ни микроконтроллера. И были очень шумные. Зато давали многие возможности. А так как эти, многие возможности, приходилось мне настраивать, надоели они мне своим воплями, до конца дней моих. Поэтому, их я отбросил сразу и без сожаления.А сервопривод работает быстро и тихо. Его и выбрал. Честно скажу, есть у меня кое- какие успехи, в программировании Arduino но, они такие неуклюжие и глючные, что я их даже перестал показывать. Стыдно просто.
Это я к тому, что не так уж и трудно специалисту, написать такую программу. И не нужно меня убеждать что это такой трудный проект. Вы ещё не видели трудных проектов.

#19 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 12:45:23

mat

Я уже понял, вы сами ничего не можете сделать. Я даже могу дать вам рабочий скетч и вы всё равно будете твердить своё, без тех задания ничего не получится, специалисты за спасибо вам ничего не дадут. Это вы, за спасибо ничего не даёте ! А я и автомобиль отремонтирую, и телевизор. Зубы конечно, не вставлю, за спасибо ибо, материалы сам не имею, а они весьма дорогие. Это если нужны хорошие зубы. А если любые то, и это за спасибо сделаю,. Программировать вот, только не научился, не было в моё время такой темы, а теперь старый стал, к обучению малопригоден...
В общем, такая просьба, пожалуйста, мои сообщения не читайте. Для вас они не интересны.

#20 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 11:58:07

mat

Вот, вот ! Именно такое я и хочу сделать. Правда, есть ещё кой- какие идеи, чтобы внуков заинтересовать, научить думать, делать, а не тупо экран смартфона тереть...

#21 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 11:42:44

mat

Ребята, ну сами укажите градусы углов, шаг, как вам будет удобнее и проще. Можно даже заготовку, куда я смогу подставить свои цифры. По сути, вы можете сами фантазировать. Ну скажем, вам ближе по нынешним модным темам CNC- Mashine, 3D-printer и т.п. Давайте тогда перенесём это, на этакий CNC-Mill Есть два двигателя, которые крутят две оси и синхронизируются со скоростью вращения шпинделя. Думаю это вам ближе и ТЗ вы можете задать какое угодно, программа от этого мало зависима. Нам не нужны многоскоростные и сложногеометрические обработки с многошпиндельными - револьверными и прочими излишествами. Пусть будет две- три скорости на осях и некоторый диапазон оборотов на шпинделе.
Теперь немного о географии. Я живу в Германии и дать второй комплект мне просто не реально по нескольким причинам: почта обойдётся в 19 € и все детали сделаны из подручных материалов, с обработкой на коленке. Вы думаете что эта игрушка стОит таких расходов ? Я не считаю расходы на покупку Arduino, светодиодов и прочей мелочи. Неужели для специалиста, так трудно написать простенькую программу без ТЗ и составления смет ? Пусть это будет лабораторной работой. Задавайте любые параметры, называйте как хотите, выдавайте любые экономические выгоды, извлекайте любые доходы, только напишите пожалуйста, программу.

#22 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 09:53:37

mat

Если я правильно понял, Вы хотите за такую программу денег ? Много денег. Хорошо, огласите Вашу суму.

#24 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 01:07:14

mat

Да я и слов не знаю таких... Техзадание. Ну, вроде написал. Обороты двигателей, я не знаю точно, может быть 150-200 оборотов в минуту. Срок. На Пасху должны приехать. Бюджет. Да вроде всё купил, приспособил. Осталось вот, запрограммировать...

#25 Re: Програмування Arduino » Нужно написать программу. За меня. » 2016-02-02 00:43:47

mat

Если не трудно, можете  указать,что здесь требует бюджета ? И я вроде честно сказал, написать нужно за меня. Я слово помощь не употреблял. А если Вы считаете что это коммерческий проект, ради Бога, можете его с чистой совестью использовать по своему усмотрению, я не буду протестовать. Мне бы только программку, внуков хочу порадовать...

Підвал форуму