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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.03.2015, 12:27   #21
cyberbot
Member
 
Регистрация: 10.03.2015
Сообщений: 40
Вес репутации: 0
cyberbot is an unknown quantity at this point
По умолчанию Re: Синхронизация вращения колес у робота

Мне досталась платформа "как есть", дисков не было.
А отдельно покупаются?
cyberbot вне форума   Ответить с цитированием
Старый 01.08.2015, 22:56   #22
cyberbot
Member
 
Регистрация: 10.03.2015
Сообщений: 40
Вес репутации: 0
cyberbot is an unknown quantity at this point
По умолчанию Re: Синхронизация вращения колес у робота

Цитата:
dist=(find_similar(sensor, size_buff, 58))/58; // //фильтруем показания датчика и переводим в см
А как производится фильтрация? Что делает функция find_similar?
cyberbot вне форума   Ответить с цитированием
Старый 02.08.2015, 05:22   #23
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию Re: Синхронизация вращения колес у робота

Функция find_similar ищет в массиве часто повторяющиеся показания датчика
Admin вне форума   Ответить с цитированием
Старый 02.08.2015, 23:56   #24
cyberbot
Member
 
Регистрация: 10.03.2015
Сообщений: 40
Вес репутации: 0
cyberbot is an unknown quantity at this point
По умолчанию Re: Синхронизация вращения колес у робота

А что значит часто повторяющиеся? Т.е. диапазон с наибольшим попаданием измерений в него? Какие границы диапазона?
cyberbot вне форума   Ответить с цитированием
Старый 03.08.2015, 08:38   #25
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию Re: Синхронизация вращения колес у робота

Цитата:
Какие границы диапазона?
Последний параметр , это и есть граница диапазона(58)
58 - это 1 см
Admin вне форума   Ответить с цитированием
Старый 26.09.2015, 18:18   #26
Юртрит
Junior Member
 
Регистрация: 22.09.2015
Сообщений: 4
Вес репутации: 0
Юртрит is an unknown quantity at this point
По умолчанию Re: Синхронизация вращения колес у робота

Всем привет прошу помощи как новичок хочу в свой код добавить encoders но что идет не так покажите что делаю не так или разъясните научите как сделать правильно. Ошибка в здесь:#define encoders_init 2_INPUT; 11_INPUT; 2_High; 11_High Сам код тут:
Код:
#include <Servo.h> 
#include <LMotorShield.h> 
LMotorShield lms; 
int gp2; 
int gp3; 
int gp4; 
int gp5;  
#define encoders_init 2_INPUT; 11_INPUT; 2_High; 11_High
volatile int8_t course=0;
void setup() { 

encoders_init;  //инициализация входов Энкодеров
IntOn();        //включить прерывания

Serial.begin(9600); 
lms.begin(LMS_SERVOS);  
pinMode(3,OUTPUT); // Motor A1 
pinMode(7,OUTPUT); // Motor A2 
pinMode(11,OUTPUT);// Motor B1 
pinMode(8,OUTPUT); // Motor B2 
} 
void Forward() { // Подпрограмма движения робота вперед 
digitalWrite(3,HIGH); 
digitalWrite(7,LOW); 
digitalWrite(11,HIGH); 
digitalWrite(8,LOW); 
} 
void Backward(){ // Подпрограмма движения робота назад 
digitalWrite(3,LOW); 
digitalWrite(7,HIGH); 
digitalWrite(11,LOW); 
digitalWrite(8,HIGH); 
} 
void motorStop(){ // Подпрограмма остановки мотора 

digitalWrite(3,LOW); 
digitalWrite(7,LOW); 
digitalWrite(11,LOW); 
digitalWrite(8,LOW); 
} 
 
void Spin_Left(){ // Вращение в лево 
digitalWrite(3,LOW); 
digitalWrite(7,HIGH); 
digitalWrite(11,HIGH); 
digitalWrite(8,LOW); 
} 
void Spin_Right(){ // Вращение в право 
digitalWrite(3,HIGH); 
digitalWrite(7,LOW); 
digitalWrite(11,LOW); 
digitalWrite(8,HIGH); 
}

//***************************************************
void Spin_Left()  // обработка внешнего прерывания левое колесо
{ 
  course--; 
  if(course > 0) { Spin_left; }else{ Spin_right;}
}  

void Spin_Right()  // обработка внешнего прерывания правое колесо
{
   course++; 
   if(course < 0){ Spin_right; }else{ Spin_left;}
} 
//*************************************************** 

void loop() 
{ 
gp2=analogRead(0); 
Serial.println(gp2); 

if (gp2>400){ 
motorStop(); 

lms.servoWrite(1,90); 
delay(500); 

lms.servoWrite(1,10); 
delay(500); 
gp4=analogRead(0); 
Serial.println(gp4); 

lms.servoWrite(1,175); 
delay(500);  
gp5=analogRead(0);  
Serial.println(gp5); 

lms.servoWrite(1,90); 
delay(500); 

if (gp4>380&&gp5>380){ 
Backward(); 
delay(1000); 
Spin_Left(); 
delay(1118); 
} 
else { 
if (gp4>380){ 
Backward (); 
delay(300); // 300
Spin_Left(); 
delay(569); 
} 
if (gp5>380){ 
Backward (); 
delay(300); 
Spin_Right(); 
delay(569); 
} 
if (gp4<380&&gp5<380){ 
Spin_Left(); 
delay(569); 
}}} 
else 
{ 
Forward(); // Двигаться вперед 
}}

void Rotation()
{  
                IntOff();
               
                delay (180);
                
                IntOn();  
}   

//*************************************************** 
void IntOn()
{
  digitalWrite(2,HIGH); // настроить срабатывание прерывания interrupt0 pin 2 по перерпапду с низкого (Low) на высокий(HIGH)
  digitalWrite(11,HIGH);  // настроить срабатывание прерывания interrupt1 pin 3 по перерпапду с низкого (Low) на высокий(HIGH) 
}

void IntOff()
{
  digitalWrite(2,HIGH);   // отключить срабатывание прерывания interrupt0
  digitalWrite(11,HIGH); // отключить срабатывание прерывания interrupt1
}
Юртрит вне форума   Ответить с цитированием
Старый 26.09.2015, 20:31   #27
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию Re: Синхронизация вращения колес у робота

А что означает 2_INPUT; 11_INPUT; 2_High; 11_High?
Admin вне форума   Ответить с цитированием
Старый 27.09.2015, 08:01   #28
Юртрит
Junior Member
 
Регистрация: 22.09.2015
Сообщений: 4
Вес репутации: 0
Юртрит is an unknown quantity at this point
По умолчанию Re: Синхронизация вращения колес у робота

Это я поставил пин для ардуино уно у вас же там нано но не как не получается сделать без ошибок или объявил их не правильно,что не так я делаю поправьте меня пожалуйста
Юртрит вне форума   Ответить с цитированием
Старый 27.09.2015, 08:21   #29
Юртрит
Junior Member
 
Регистрация: 22.09.2015
Сообщений: 4
Вес репутации: 0
Юртрит is an unknown quantity at this point
По умолчанию Re: Синхронизация вращения колес у робота

А ошибка вот какая
Код:
Ардуино: 1.6.5 (Для Windows 7), Плата"Ардуино Уно"

Изменена опция сборки, пересобираем все

ir_rob_v3:9: ошибка: неправильный суффикс "_In" на целочисленную константу

ir_rob_v3:9: ошибка: неправильный суффикс "_In" на целочисленную константу

ir_rob_v3:9: ошибка: неправильный суффикс "_High" на целочисленную константу

ir_rob_v3:9: ошибка: неправильный суффикс "_High" на целочисленную константу

ir_rob_v3:9: ошибка: 'нормально' не называет типа

ir_rob_v3:9: ошибка: ожидается безусловный-ID перед тем, как числовая константа

ir_rob_v3:9: ошибка: ожидается безусловный-ID перед тем, как числовая константа

ir_rob_v3:9: ошибка: ожидается безусловный-ID перед тем, как числовая константа

ir_rob_v3.Ино: в функции 'недействительными установки()':

ir_rob_v3:14: ошибка: 'encoders_init' не был объявлен в этой области видимости

ir_rob_v3.Ино: в функции 'пустота Spin_Left()':

ir_rob_v3:58: ошибка: переопределение 'пустота Spin_Left()'

ir_rob_v3:44: ошибка: 'пустота Spin_Left()' определено ранее здесь

ir_rob_v3:60: ошибка: 'конечно' не был объявлен в этой области видимости

ir_rob_v3:61: ошибка: 'Spin_left' не был объявлен в этой области видимости

ir_rob_v3:61: ошибка: 'Spin_right' не был объявлен в этой области видимости

ir_rob_v3.Ино: в функции 'пустота Spin_Right()':

ir_rob_v3:64: ошибка: переопределение 'пустота Spin_Right()'

ir_rob_v3:50: ошибка: 'пустота Spin_Right()' определено ранее здесь

ir_rob_v3:66: ошибка: 'конечно' не был объявлен в этой области видимости

ir_rob_v3:67: ошибка: 'Spin_right' не был объявлен в этой области видимости

ir_rob_v3:67: ошибка: 'Spin_left' не был объявлен в этой области видимости

недопустимый суффикс "_In" на целочисленную константу
Юртрит вне форума   Ответить с цитированием
Старый 27.09.2015, 10:45   #30
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию Re: Синхронизация вращения колес у робота

Цитата:
Сообщение от Юртрит Посмотреть сообщение
Это я поставил пин для ардуино уно у вас же там нано но не как не получается сделать без ошибок или объявил их не правильно,что не так я делаю поправьте меня пожалуйста
В Си нет таких функций, а у Вас нет ни в коде и ни какой библиотеки в которой бы эти функции были бы прописаны
Admin вне форума   Ответить с цитированием
Ответ


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

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

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

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

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


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


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