roboforum.ru

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


соединение 2х ардуин

Как собрать и запрограммировать робота на Arduino(Freeduino, Roboduino, Seeduino ...). Используем Wiring и Processing.

Re: соединение 2х ардуин

Сообщение Angel71 » 07 апр 2015, 19:18

:D только 5й кмукам дороже простенького ведроидного смартфона с блюпупом. за 75$ (как сейчас на адафруите) так и носом покрутить можно. а чуть позже всё чаще будут появляться недорогие смарты с ble, это будет ещё приятней. на смарте можно было бы и картинку с камеры обрабатывать и кучу всего ещё (экран для морды/интерфейса, мобильный тырнет, вифи, в некоторых gps есть, динамики, микрофон и т.д.).
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: соединение 2х ардуин

Сообщение Dmitry__ » 07 апр 2015, 19:46

Это да, базара нет. Этот мир погубит ведроид :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: соединение 2х ардуин

Сообщение slom » 07 апр 2015, 22:27

а смартфон можно использовать как мозги и камеру для робота? я чтото думал только как пульт :)
можно ссылочки на реальные проеты где тоже самое что с камерой.... сделано на смарте... ?
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: соединение 2х ардуин

Сообщение =DeaD= » 07 апр 2015, 23:24

slom писал(а):команды:

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

Как вариант - просто повесить ардуины в параллель на УАРТ, чтобы каждая отвечала только на свои команды. Однако сложные команды типа вашей последней, должны выполняться целиком на одной ардуине. Это очень тупое решение, но вполне может быть, что, как минимум на первое время, вам его хватит.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: соединение 2х ардуин

Сообщение Dmitry__ » 08 апр 2015, 00:01

slom писал(а):а смартфон можно использовать как мозги и камеру для робота? я чтото думал только как пульт
можно ссылочки на реальные проеты где тоже самое что с камерой.... сделано на смарте... ?

Пора тебе усложнять задания :)
Поисковый запрос: "arduino opencv android"
Йа нашел такое:
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: соединение 2х ардуин

Сообщение slom » 08 апр 2015, 10:53

а я вот че нашел, шасси как у меня..

Изображение
Изображение

http://letsmakerobots.com/node/38338

Добавлено спустя 21 минуту 43 секунды:
порылся в инете, что то инфы совсем мало, а так чтобы кто то выложил свой проект с подробной схемой, скетчами и программами так нет совсем... :(
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: соединение 2х ардуин

Сообщение Dmitry__ » 08 апр 2015, 15:13

Вот тут что-то интересное, картинки радуют:
http://www.socsci.uci.edu/~jkrichma/ABR/
Плата IOIO-OTG
https://www.sparkfun.com/products/12633
https://github.com/ytai/ioio/wiki
Все открыто...

Изображение
Изображение
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: соединение 2х ардуин

Сообщение slom » 15 апр 2015, 09:12

получил посылку с геймпадом.
проверил, работает...
у него свой блютус модуль, не требующий уарт, поэтому уарт на обеих ардуинах освобожден. насколько я понимаю через него можно проще наладить связь.
может у кого то есть пример кода когда с одной ардуины принимают команды с пульта или джойстика, а потом передают их на другую дуню где уже срабатывают моторы и сервы.
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: соединение 2х ардуин

Сообщение Angel71 » 15 апр 2015, 17:30

формулировка особенного первого вопроса отвратительная.
описание работы с уартом на офсайте http://arduino.cc/en/Reference/Serial
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: соединение 2х ардуин

Сообщение slom » 15 апр 2015, 17:58

есть код:
Код: Выделить всёРазвернуть
#include <PS2X_lib.h>  //for v1.6
#include <Servo.h>
PS2X ps2x;
int PS2 = 0;
Servo LXservo;
Servo LYservo;
#define L_dir 2   //пины для драйвера мотора
#define L_pwm 3
#define R_dir 4
#define R_pwm 5

int mass[4];      //здесь будем хранить значения для скоростей и направлений
                  //mass[0]   лев.напр.
                  //mass[1]   лев.скор.
                  //mass[2]   прав.напр.
                  //mass[3]   прав.скор.
                 
void setup(){
  LXservo.attach(8);
  LYservo.attach(6);
 
  PS2 = ps2x.config_gamepad(13,11,10,12, true, true);   //Настройка выводов: (clock, command, attention, data, true, true)
  pinMode(L_dir, OUTPUT);
  pinMode(L_pwm, OUTPUT);
  pinMode(R_dir, OUTPUT);
  pinMode(R_pwm, OUTPUT);
}

void loop(){
  LXservo.write(map(ps2x.Analog(PSS_LX), 255, 0, 0, 180)); ;
delay(50);
  ps2x.read_gamepad(false, 0);
 
  LYservo.write(map(ps2x.Analog(PSS_LY), 0, 255, 0, 90)); ;
delay(50);
  ps2x.read_gamepad(false, 0);
 
 
    dir_pwm(ps2x.Analog(PSS_RY),2);   //обрабатываем правый джойстик
  digitalWrite(R_dir, mass[2]);
  analogWrite(R_pwm, mass[3]);
}   

void dir_pwm(int Y, int n){         //Подпрограмма для обработки значений джойстика
  if (Y == 128){
    mass[n+1] = 0;
  }
  if (Y >128){
    mass[n+1] = Y*2-255;
    mass[n] = 1;
  }
  if (Y <128){
    mass[n+1] = 255-Y*2;
    mass[n] = 0;
  }
}


в нем джойстик от плейстейшин подключен к ардуине и управляет 2мя сервами и моторами.
Изображение

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

Добавлено спустя 2 минуты 4 секунды:
тоесть геймпад подключаем к 1й ардуине. 1ю ардуину подключаем ко 2й ардуине, к ней же подключаем сервы и моторы.

жмем кнопки на пульте, сигнал идет в1ю, там пересылается на 2ю и та уже управляет сервами и моторами... в теории все вроде просто, но как такой код должен выглядеть на практике? :(
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: соединение 2х ардуин

Сообщение Angel71 » 15 апр 2015, 18:30

получили данные с геймпада и отправляете в уарт. что значит как? для кого ссылку на офсайт давали? есть print, есть printf, есть write, можно напрямую с файловым потоком работать. берёте и отправляете. для получения данных там в классе куча ф-ий, берёте понравившиеся и получаете данные. или вам нужно на уровне кормления детей смесями? считываем данные с джойстика, смотрим, что изменилось. изменившиеся отсылаем в уарт. первый байт это идентификатор команды, следующий один или два это данные. или ещё кучей других вариантов, вангуя хотелки? :crazy:
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: соединение 2х ардуин

Сообщение slom » 15 апр 2015, 22:27

мне еще рано смеси для кормления... мне бы сисю разжевать :)
конкретный пример хотца...
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: соединение 2х ардуин

Сообщение Angel71 » 15 апр 2015, 23:09

удачи. это единственное, на что можете расчитывать с такой позицией.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: соединение 2х ардуин

Сообщение slom » 15 апр 2015, 23:18

что за вредные и злобные люди в Донецке...
менталитет у вас такой нехороший... недаром большинство беженцев что к нам переехало либо вообще не уживаюится и уезжают, либо делают это с большим трудом...
Аватара пользователя
slom
 
Сообщения: 645
Зарегистрирован: 07 сен 2014, 19:29
Откуда: Севастополь
Skype: slom_3d
прог. языки: 3d max :)

Re: соединение 2х ардуин

Сообщение Angel71 » 16 апр 2015, 00:20

следуя вашей логике крымчане или не способны на элементарные умственные действия или настолько ленивы и разбалованы, что будут до посинения ждать по каждой мелочи разжёвываний. :ROFL: не дождётесь, я нормально к крымчанам отношусь и к вам в том числе. хохму "не уживаются" нужно будет знакомым рассказать, может пореже будут в гости вытягивать или выбраться погулять, просить электронику всякую настроить/починить, прекратят свои нелепые потуги за помошь деньги совать. :pardon: если вы не поняли смысл нежелания возни с примерами, могу ещё раз повторить - зачастую единственный вариант более-менее нормально научиться это изучать азы (в данном случае как минимум языка) и самостоятельное решение простеньких задач. когда человек с наскоку не осилил, то это уже единственный вариант, который может уберечь от постоянного спотыкания на каждой простенькой задачке. для начала просто брать самоучители/задачники и сотнями решать предлагаемые там задачки. с каждой решенной задачкой понемногу будет вырабатываться способность создавать алгоритмы. от того, что всё время будете только копипастить кусочки кода будете только развивать навык копипаста. или вы эти элементарные вещи не поняли ещё со школы, когда пачками решали задачи по математике, физике, химии,...?
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Пред.След.

Вернуться в Arduino и другие Xduino

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13