23.03.2015, 12:27 | #21 |
Member
Регистрация: 10.03.2015
Сообщений: 40
Вес репутации: 0 |
Re: Синхронизация вращения колес у робота
Мне досталась платформа "как есть", дисков не было.
А отдельно покупаются? |
01.08.2015, 22:56 | #22 | |
Member
Регистрация: 10.03.2015
Сообщений: 40
Вес репутации: 0 |
Re: Синхронизация вращения колес у робота
Цитата:
|
|
02.08.2015, 05:22 | #23 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Синхронизация вращения колес у робота
Функция find_similar ищет в массиве часто повторяющиеся показания датчика
|
02.08.2015, 23:56 | #24 |
Member
Регистрация: 10.03.2015
Сообщений: 40
Вес репутации: 0 |
Re: Синхронизация вращения колес у робота
А что значит часто повторяющиеся? Т.е. диапазон с наибольшим попаданием измерений в него? Какие границы диапазона?
|
03.08.2015, 08:38 | #25 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Синхронизация вращения колес у робота
Цитата:
58 - это 1 см |
|
26.09.2015, 18:18 | #26 |
Junior Member
Регистрация: 22.09.2015
Сообщений: 4
Вес репутации: 0 |
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 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Синхронизация вращения колес у робота
А что означает 2_INPUT; 11_INPUT; 2_High; 11_High?
|
27.09.2015, 08:01 | #28 |
Junior Member
Регистрация: 22.09.2015
Сообщений: 4
Вес репутации: 0 |
Re: Синхронизация вращения колес у робота
Это я поставил пин для ардуино уно у вас же там нано но не как не получается сделать без ошибок или объявил их не правильно,что не так я делаю поправьте меня пожалуйста
|
27.09.2015, 08:21 | #29 |
Junior Member
Регистрация: 22.09.2015
Сообщений: 4
Вес репутации: 0 |
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 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Синхронизация вращения колес у робота
В Си нет таких функций, а у Вас нет ни в коде и ни какой библиотеки в которой бы эти функции были бы прописаны
|
Здесь присутствуют: 11 (пользователей: 0 , гостей: 11) | |
|
|