roboforum.ru

Технический форум по робототехнике.

Могу помочь со сборкой робота

Могу помочь со сборкой робота

raven111 » 10 янв 2015, 02:32

Если нужна помощь в сборке программировании робота с радостью помогу, студент обучаюсьна роботтехника,наччал помогать людям в разных проектах, так сложилось что собрал уже 4 шагающих роботов, один из моих собственных проектов выложил на форуме под темой "Новая идея для шагающего робота". Я буду рад не только советовать здесь, так как здесь может программисты и покруче меня найдутся, но вот со сборкой, отладкой, советами по кмплектующими, а также можно встречаться где то и могу обяснять основы. Мне это интересно, я этому обуаюсь и есть большие ресурсы, я бы хотел ими делится

Re: Могу помочь со сборкой робота

MegaBIZON » 10 янв 2015, 18:09

город в профиле укажи хоть, добрый человек.. ))

Re: Могу помочь со сборкой робота

raven111 » 10 янв 2015, 23:36

как же я так)) простите) Москва

Re: Могу помочь со сборкой робота

slom » 22 янв 2015, 18:43

яб не отказался от помощи программиста
мой проект http://roboforum.ru/forum10/topic14711-120.html
Изображение

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

Re: Могу помочь со сборкой робота

newbe » 30 янв 2015, 22:18

raven111 писал(а):Если нужна помощь в сборке программировании робота с радостью помогу, студент обучаюсьна роботтехника,наччал помогать людям в разных проектах, так сложилось что собрал уже 4 шагающих роботов, один из моих собственных проектов выложил на форуме под темой "Новая идея для шагающего робота". Я буду рад не только советовать здесь, так как здесь может программисты и покруче меня найдутся, но вот со сборкой, отладкой, советами по кмплектующими, а также можно встречаться где то и могу обяснять основы. Мне это интересно, я этому обуаюсь и есть большие ресурсы, я бы хотел ими делится


Добрый человек, помогите с кодом к ардуино :)
в общем есть псевдо манипулятор, с двумя степенями свободы, движущийся только по горизонтали.
Не могу нормально стик (джостик) привязать к серво. В принципе отклик есть, но движении стика вниз по оси Х они оба начинают работать...
А задача такова, что бы при движении стика вниз\ верх по оси Х, двигалась первая серва от 0 до 180 в зависимости от наклона стика.
И по оси Y такая же история, но только для второго серво.
Вот мои пробы, неудачные:

#include <Wire.h>
#include <Multiservo.h>
int pos = 0;
Multiservo servo1;
Multiservo servo2;

void setup() {
Serial.begin(9600);
servo1.attach(17);
servo2.attach(15);

}


void loop() {
int xValue = map(analogRead(A1), 0, 1024, 0, 180);
int yValue = map(analogRead(A2), 0, 1024, 0, 180);


//1 отрезок
if(xValue<=41){

servo1.write(180-6*xValue);
servo2.write(0);
}
//2 отрезок
if (xValue>=42 && xValue<=83){
servo1.write(6*(xValue-42));
servo2.write(0);

}
}

Спасибо заранее

Еще могли бы вы добавить комментарий к строкам, особенно интересует "servo1.write(180-6*xValue);" принцип не могу понять работы. Раньше этот скетч менял цвет светодиодов с помощью джостика, я решил его переделать под сервы...
Последний раз редактировалось newbe 30 янв 2015, 23:00, всего редактировалось 1 раз.

Re: Могу помочь со сборкой робота

AndreiSk » 30 янв 2015, 22:46

человек подработку ищет, а вы тут забесплатно хотите :shock:

Re: Могу помочь со сборкой робота

Angel71 » 30 янв 2015, 22:54

разве за денюжку? похоже на тренировки с чужими задачами.

Re: Могу помочь со сборкой робота

newbe » 31 янв 2015, 00:01

Я думаю, если тут будут просить, описать сложный проект полностью с нуля, тогда это был бы другой разговор. А такие пустяковые задачи, для знающих и понимающих людей, это пару взмахов пальцами :D

Добавлено спустя 58 минут 55 секунд:
Немного переделал скетч



#include <Wire.h>
#include <Multiservo.h>
int pos = 90;
Multiservo servo1;
Multiservo servo2;

void setup() {
Serial.begin(9600);
servo1.attach(17);
servo2.attach(15);

}


void loop() {
int xValue = map(analogRead(A1), 0, 255, 0, 180);
int yValue = map(analogRead(A2), 0, 255, 0, 180);


//1 отрезок
if(xValue<=41){

servo1.write(xValue);

}
//2 отрезок
if (xValue>=45 && xValue<=251)
{
servo1.write(xValue);
}

delay(10);
}

Но опять же проблема. Что бы серва двигалась медленно, стик по оси Х опускать нужно просто по микрону, а после прохождения 90 градусов и это не помогает, серва улетает с максимальной скоростью, до максимального значения. После отпускания, опять таки, ооочень аккуратного, серва опять же пролетает эти 90 градусов, а дальше медленее. Подскажите пожалуйста, как можно уменьшить шаг стика, относительно сервы?

Re: Могу помочь со сборкой робота

newbe » 31 янв 2015, 13:40

Все, сделал как надо, практически. Все работает и по Х и по Y, но если ось Х на стике, это значения от 0 до 180, середина это 90, то серва делает свои 90 градусов из среднего положения, за 140-145 значений движения стика вверх, остальные 45-40 значений просто пустуют. Вниз точно так же. Где поправить, скажите пожалуйста



#include <Wire.h>
#include <Multiservo.h>
int pos = 0;
Multiservo servo1;
Multiservo servo2;

void setup() {
Serial.begin(9600);
servo1.attach(17);
servo2.attach(15);

}


void loop() {
int xValue = map(analogRead(A1), 0, 1023, 0, 180);
int yValue = map(analogRead(A2), 0, 1023, 0, 180);
Serial.println(yValue);



if(xValue){

servo1.write(xValue);
}

if(yValue){

servo2.write(yValue);
}


Rambler\'s Top100 Mail.ru counter