Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.07.2017, 22:06   #11
Влад54
Junior Member
 
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0
Влад54 is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
Что бы из числа с запятой получить простое число , нужно его умножить на 1000 или на 1000000, в зависимости от числа знаков после запятой
Если бы все было так просто. Заранее не известно сколько знаков после запятой окажется существенно, потом задержка это в любом случае обратная величина скорости.
Пока обойдусь заданием целого значения скорости вычисленным вручную.
Скетч скомпилировался, но в нем необходим безусловный переход.
Оператор "goto" не активен (не выделен цветом)? Как мне отправиться в нужную часть программы не переопределяя глобальные переменные, поскольку как минимум одна из них наращивается в "void loop"?
Влад54 вне форума   Ответить с цитированием
Старый 19.07.2017, 22:08   #12
Влад54
Junior Member
 
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0
Влад54 is an unknown quantity at this point
По умолчанию

В любом случае спасибо за ответ.
Влад54 вне форума   Ответить с цитированием
Старый 20.07.2017, 00:14   #13
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,380
Вес репутации: 9579
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Цитата:
Как мне отправиться в нужную часть программы не переопределяя глобальные переменные, поскольку как минимум одна из них наращивается в "void loop"?
Вызов функции
Admin вне форума   Ответить с цитированием
Старый 26.07.2017, 20:22   #14
Влад54
Junior Member
 
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0
Влад54 is an unknown quantity at this point
По умолчанию

Хотелось бы чтобы движок работал без использования библиотечной функции Stepper.
как это сделать? что требуется дополнительно указать в программе?
Влад54 вне форума   Ответить с цитированием
Старый 26.07.2017, 21:17   #15
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,380
Вес репутации: 9579
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Пример в шапке темы
Admin вне форума   Ответить с цитированием
Старый 27.07.2017, 09:26   #16
Влад54
Junior Member
 
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0
Влад54 is an unknown quantity at this point
По умолчанию

Там включен PHP код и кажется библиотечная функция той же среды (выделено красным). Может я чего то не понимаю, но задача программирования пока только в среде Ардуино.
Влад54 вне форума   Ответить с цитированием
Старый 27.07.2017, 13:25   #17
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,380
Вес репутации: 9579
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

PHP - это код вставки на форум
Всего лишь подсветка кода
Библиотека есть, но из нее используется всего лишь функция delay_ms, аналогичная есть в стандартном наборе Arduino IDE
Admin вне форума   Ответить с цитированием
Старый 27.07.2017, 18:08   #18
Влад54
Junior Member
 
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0
Влад54 is an unknown quantity at this point
По умолчанию

Цитата:
int spGD=140;//скорость ГД мкм/мсек
float spRG;
int i;
int Mot1P[4]={
**3,4,5,6};
int Mot2P[4]={
**8,9,10,11};
int MotorPins[4]={
};
unsigned long dist;
float X;
const int A=PI*5;
int CP=0;
int NP=1;
boolean MTP[4][4]={
**{
****1,1,0,0****}
**,{
****0,1,1,0****}
**,{
****0,0,1,1****}
**,{
****1,0,0,1****}
};
boolean start;
//void*chekLP(){
//**if*(CP>=4){
//****CP=0;
//**}
//};*
void setup(){
**pinMode(7,INPUT);for(i=0;i<4{pinMode(Mot1P[i],OUTPUT);pinMode(Mot2P[i],OUTPUT);};
**pinMode(2,OUTPUT);// установки режимов пинов процессора
**if(NP%2==0){
****MotorPins[4]=Mot1P[4];
**}*
**else {
****MotorPins[4]=Mot2P[4];
**};**//переключение четного/нечетного цикла станка
**do{
****start=digitalRead(7);
****digitalWrite(2,start);
**}*
**while(start==LOW);
**}//ожидание нажатия кн. старта
unsigned long time0=millis(); // определение момента времени начала работы установки
//**for(digitalRead(6)=0;*digitalRead(6)=9 {spGD=(digitalRead(6)++)*14458*time/1000};}//*разовое*вычисление*с орости*ГД*мм/мсек*(не*контролирует я)conversion*int
void loop(){
**dist=spGD*(millis()-time0);
**if(abs(CP)>=4){CP=0;};
**if(dist<3000000){
****for(i=0;i<4;i++){
******digitalWrite(MotorPins[i],(MTP[CP][i]==1)?HIGH:LOW);
****};
****delay(5);
****CP=CP+1;
**}*//РГ на линейной траектории входа
**if(dist>=3000000 && dist<=18708000){
****spRG=cos((dist-3000)/5000)*PI/38;
****X=1/spRG;
****for(i=0;i<4;i++){
******digitalWrite(MotorPins[i],(MTP[CP][i]==1)?HIGH:LOW);
****};
****delay(X);
****if(spRG<0){
******CP=CP+1;
****}
****else{
******CP=CP-1;
****}
**}
**if(dist>18708000){
****for(i=0;i<4;i++){
******digitalWrite(MotorPins[i],(MTP[CP][i]==1)?HIGH:LOW);
****};
****delay(2);
****CP=CP-1;
**};*//РГ на линейной траектории выхода
**if(dist>=21708000){
****digitalWrite(2,LOW);
****NP=NP+1;
**}// отключение ГД по условию достижения длины дистанции 21.7 м.
}*// konez



А что не так сэтим скетчем?
Влад54 вне форума   Ответить с цитированием
Старый 27.07.2017, 18:14   #19
Влад54
Junior Member
 
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0
Влад54 is an unknown quantity at this point
По умолчанию

Возможно как то не так вставил свой опус?, Сорри, вроде читабельно. Но движки не работают. С программкой загруженной из папки примеров все нормально, то есть подпаяны ULN 2003 правильно.
Влад54 вне форума   Ответить с цитированием
Старый 03.08.2017, 10:57   #20
Влад54
Junior Member
 
Регистрация: 11.07.2017
Сообщений: 13
Вес репутации: 0
Влад54 is an unknown quantity at this point
По умолчанию

Расставленные смайлики следует понимать как возможные ошибки? Разве единичное наращивание переменной в цикле не возможно в СИ++ по умолчанию?
Влад54 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 19:04. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика