хорошо выглядит, но я в свое время не стал заморачиваться и купил готовый китайский, он весь в металле, вполне прочен и надежен.
вот такой
кстати поидее, можно с пластиковой формы снять глиненую форму и залить например алюминием.
п.с. не думал сделать клешню побольше, по факту мелкая клешня - просто бутафория, практического применения ей нет, хват слабый, ничего большого не поднять и не удержать, а мелкое чтобы взять нужна точность, с чем тоже проблемы.
хм, ну это круто, если будет работать.... клешня получиться легкая, и мощьная если поставить мощьную серву. когда сервы на самой клешне она выходит тяжелой.
сервы вообще не будет. будут рычаги как на экскаваторе)))
вот что уже есть. только 3 плечо покороче (которое возле клешни). еще основание и рычаги надо сделать. хз когда. блок питания 3д принтера сгорел. попробую запустить от компьютерного блока питания
кстати трубки к пластику закрепляю актоматическим керном. получается быстро и удобно, правда неразборная конструкция отдельного плеча
Жека можешь помочь со скетчем? Есть ардуино нано+ драйвер L298n+ мотор-редуктор + серва sg90 + китайский джойстик от PS2 бес проводной и цель сделать переключение скоростей. Я у виталика смотрел видосы https://www.youtube.com/watch?v=ACtKMtq1-Zg&t=8s выкинул ненужное из скетча с этого видео , оставил мотор редуктор один и серву собрал всё работает. Но потом увидел вот это видео https://www.youtube.com/watch?v=wIpaHNpcjmI а здесь с переключением скоростей. Короче у обоих авторов по разному написаны скетчи у виталия написан по понятнее ,но я не знаю как прописать работу кнопок ,джойстик не видит кнопки только два стика а использовать из за двух стиков как то не целесообразно . Я только начинающий чел в этой среде а с джойстиком вот поторопился купил, надо было на NRFL24L01, но это я уже потом изучил .Вот оригинальный скетч с танка https://drive.google.com/file/d/0B8pAOi0jFtLIM3FGaTBlQndOams/view я с него брал только серву на поворот и мотор редуктор .А ардуино НАНО потому что машинка не большая , а схемы только в основном на UNO идут . За ранее спасибо.
NRFL24L01 подразумевает что ты либо пульт самодельный, либо определенный который работает с NRFL24L01
в коде вижу используются 2 кнопки которые на торце вроде
если тебе нужны остальные кнопки делай по правильному: открой пример к библиотеке там все пины использованы, узнай какая функция за какую кнопку отвечает и используй хоть все
я кстати тоже кое что делаю. и думаю подьем дула не стоит того чтобы увеличивать высоту танка
да там нечего вроде читать. не помню код выкладывал или нет, да даже есть да то только для примера он тебе. все равно корпус пульта нужен будет какой то. проще купить готовый и использовать где нужно. у меня один и тот же пульт для разных игрушек сделан
да там нечего вроде читать. не помню код выкладывал или нет, да даже есть да то только для примера он тебе. все равно корпус пульта нужен будет какой то. проще купить готовый и использовать где нужно. у меня один и тот же пульт для разных игрушек сделан
корпус я планировал распечатать, и сделать под два джостика и пару кнопок, ну или для серв еще потерциометр линейный прицепить, видел в инете корпус с дисплеем 0,96 олед, может такой повторю
ну тогда можно. хотя если планируешь не одну игрушку делать проще купить магазинный. и потратить время на изготовление игрушки. хотя если сам процесс создания пульта привлекает это другой момент
ну тогда можно. хотя если планируешь не одну игрушку делать проще купить магазинный. и потратить время на изготовление игрушки. хотя если сам процесс создания пульта привлекает это другой момент
готовые пульты достаточно дороги, либо очень примитивны
да ничем. экран по сути нужен только для отображения текущих настроек диапазона регулировок. это те что с процентами. для триммирования и то что передатчик включился. ну может проценты газа, но они особо не важны
да ничем. экран по сути нужен только для отображения текущих настроек диапазона регулировок. это те что с процентами. для триммирования и то что передатчик включился. ну может проценты газа, но они особо не важны
возле цены включи отображение в рублях
у меня на работе комп заблокированый нельзя выбрать там=))) перепутал немного=))) я на бангуде ниразу не заказывал, интересно на алике есть такой, надо посмотреть, спасибо за наводку
Жека проблема в том что я не программист код к библиотеке для PS2 я смотрел и честно ни чего не понял а потом как к этой библиотеке в с кетче привязать серву и завести управление на джойстик я не знаю
видел и сделал все это разные вещи. тебе нужно привыкнуть к языку. мк/ардуина не может сама принять решение или додумать за тебя. нужно прописывать четко каждое действие и т.д. но если ты не знаешь как с ней разговаривать то ты ничего не сможешь сделать
Ребят, помогите пожалуйста, делаю шасси для 6wd, шасси хорошее, для него есть даже платка, на подобие ардуинки, называеться T-Rex, хочу подключить к джойстику PS, но не могу понять, как это сделать. Поможете?
Ребят, помогите пожалуйста, делаю шасси для 6wd, шасси хорошее, для него есть даже платка, на подобие ардуинки, называеться T-Rex, хочу подключить к джойстику PS, но не могу понять, как это сделать. Поможете?
я такое делал, там все просто, ну почти :)
вот код прошивки, у меня там не только движение но и рука манипулятор. старт стоп реализованы плавно, чтобы неубивать редуктор.
скорей всего пины подключения в коде и на картинки отличаются, просто подключить и залить скетч может несработать, нужно проверить пины...
#include <PS2X_lib.h> //for v1.6
#include <Servo.h>
PS2X ps2x;
int PS2 = 0;
Servo LXservo;
Servo LYservo;
// задаем пины для левого мотора
#define Dir_L 2
#define Pwm_L 3
#define Brake_L 4
// задаем пины для правого мотора
#define Dir_R 10
#define Pwm_R 11
#define Brake_R 9
// Задаем скорости для движения
byte MaxSpeed = 200; // Максимальная скорость
byte MinSpeed = 90; // Минимальная скорость
int forw_back = 0;
int righ_left = 0;
byte step_fb = 50; // Шаг изменения скорости движения вперед - назад
byte step_stop = 50; // Шаг изменения скорости остановки
byte step_rl = 50; // Шаг изменения скорости движения вправо - влево
byte step_dir = 50; // Шаг изменения скорости выравнивания
byte xL;
byte yL;
byte xR;
byte yR;
float deltaAnglLR = 0.0002; // настройка - от времени лупа и сервы
float startAnglLR = 50.0;
float deltaAnglUD = 0.0002; // настройка - от времени лупа и сервы
float startAnglUD = 90.0;
Servo servoLR;
Servo servoUD;
enum States
{
WAITING,
READING,
RUNNING,
ERROR,
TIMEOUT
};
States state;
States onWait();
States onRead();
States onRun();
States onError();
States onTimeout();
int mass[4]; //здесь будем хранить значения для скоростей и направлений
//mass[0] лев.напр.
//mass[1] лев.скор.
//mass[2] прав.напр.
//mass[3] прав.скор.
void setup(){
// LXservo.attach(12);
// LYservo.attach(13);
servoLR.attach( 12 );
servoUD.attach( 13 );
PS2 = ps2x.config_gamepad(8,6,7,5, true, true); //Настройка выводов: (clock, command, attention, data, true, true)
//Моторы
pinMode (Pwm_L, OUTPUT);
pinMode (Dir_L, OUTPUT);
pinMode (Brake_L, OUTPUT);
pinMode (Pwm_R, OUTPUT);
pinMode (Dir_R, OUTPUT);
pinMode (Brake_R, OUTPUT);
digitalWrite (Pwm_L, LOW);
digitalWrite (Pwm_R, LOW);
digitalWrite (Brake_L, LOW);
digitalWrite (Brake_R, LOW);
}
void loop(){
int x;
int y;
// управление башней вправо-влево
xL = ps2x.Analog( PSS_RX ); Serial.println( xL, DEC );
if( xL < 127 )
{
x = xL - 127;
startAnglLR = startAnglLR - x * x * deltaAnglLR; Serial.println( startAnglLR );
if( startAnglLR < 0 ) startAnglLR = 0;
}
if( xL > 127 )
{
x = xL - 128;
startAnglLR = startAnglLR + x * x * deltaAnglLR; Serial.println( startAnglLR ); Serial.println( ' ' );
if( startAnglLR > 110 ) startAnglLR = 110;
if( startAnglLR < 55 ) startAnglLR = 55;
}
if( ps2x.Button( PSB_R3 ) ) // по кнопке джойстика - в исходное
{
startAnglLR = 50.0;
}
servoLR.write( startAnglLR );
// управление стволом пушки вверх-вниз
yL = ps2x.Analog( PSS_RY ); Serial.println( yL, DEC );
if( xL < 127 )
{
y = yL - 127;
startAnglUD = startAnglUD - y * y * deltaAnglUD; Serial.println( startAnglUD );
if( startAnglUD < 0 ) startAnglUD = 0;
}
if( yL > 127 )
{
y = yL - 128;
startAnglUD = startAnglUD + y * y * deltaAnglUD; Serial.println( startAnglUD ); Serial.println( ' ' );
if( startAnglUD > 170 ) startAnglUD = 170;
if( startAnglUD < 90 ) startAnglUD = 90;
}
if( ps2x.Button( PSB_R3 ) ) // по кнопке джойстика - в исходное
{
startAnglUD = 120.0;
}
servoUD.write( startAnglUD );
if( ps2x.Button( PSB_TRIANGLE ) ) // по кнопке джойстика - рука опустить
{
startAnglUD = 70.0;
}
if( ps2x.Button( PSB_CROSS ) ) // по кнопке джойстика - рука поднять
{
startAnglUD = 170.0;
}
if( ps2x.Button( PSB_SQUARE ) ) // по кнопке джойстика - клешня разжать
{
startAnglLR = 55;
}
if( ps2x.Button( PSB_CIRCLE ) ) // по кнопке джойстика - клешня сжать
{
startAnglLR = 110.0;
}
//этот код для меня темный лес, мне его дали для плавного старта и торможения моторов. если ехать вперед и резко нажать кнопку назад, машина продолжит ехать вперед, плавно остановиться и только потом поедет назад, это спасает редуктора от разрушения.
//если ктото знает что тут к чему, прокоментируйте пожалуйста, чтоб я тоже понимал :)
static unsigned long pre_millis = 0;
if(millis()-pre_millis > 50)
{
pre_millis = millis();
if(ps2x.Button(PSB_PAD_UP))
{
forw_back += step_fb;
if(forw_back > 0 && forw_back < MinSpeed) forw_back = MinSpeed;
}
else if(ps2x.Button(PSB_PAD_DOWN))
{
forw_back -= step_fb;
if(forw_back < 0 && forw_back > MinSpeed*-1) forw_back = MinSpeed*-1;
}
else
{
if(forw_back < 0) forw_back += step_stop;
else if(forw_back > 0) forw_back -= step_stop;
if(abs(forw_back) < MinSpeed) forw_back = 0;
}
forw_back = constrain(forw_back, MaxSpeed*-1, MaxSpeed);
if(ps2x.Button(PSB_PAD_RIGHT))
{
righ_left += step_rl;
if(righ_left > 0 && righ_left < MinSpeed) righ_left = MinSpeed;
}
else if(ps2x.Button(PSB_PAD_LEFT))
{
righ_left -= step_rl;
if(righ_left < 0 && righ_left > MinSpeed*-1) righ_left = MinSpeed*-1;
}
else
{
if(righ_left < 0) righ_left += step_dir;
else if(righ_left > 0) righ_left -= step_dir;
if(abs(righ_left) < MinSpeed) righ_left = 0;
}
righ_left = constrain(righ_left, MaxSpeed*-1, MaxSpeed);
int pwm_l = forw_back + righ_left;
int pwm_r = forw_back - righ_left;
pwm_l = constrain(pwm_l, MaxSpeed*-1, MaxSpeed);
pwm_r = constrain(pwm_r, MaxSpeed*-1, MaxSpeed);
digitalWrite(Dir_L, (pwm_l<0)?0:1);
digitalWrite(Dir_R, (pwm_r<0)?0:1);
analogWrite(Pwm_L, abs(pwm_l));
analogWrite(Pwm_R, abs(pwm_r));
}
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]);
}
схема подключения примерно такая, я брал статью в инете
на выходе у меня была 6 колесная машина управляемая 2мя пультами пс2
один пульт управлял движением и манипулятором, второй пульт управлял водометом (стрелял до 2го этажа) и пушкой с 6мм шариками, пробивала несколько листов бумаги...
Ну вот, у Вас два пульта, но вот второй мне не нужен, у меня будет просто машинка с манипулятором, у вас есть готовый скечт и схема? Просто нужно уложиться в сроки, а вот практики в таких работах мне не хватает...
п.с. дам совет будьте осторожны с серво приводами на клешне манипуляторе, я пока настраивал правильные углы, незаметил, что серва на сжатие была минуты 3 в постоянном напряге, она уперлась в крайнее положение и продолжала пытаться двигаться дальше, и сгорела...
Этот код рабочий, но нужно к нему ещё добавить возможность управления мотором с кнопок джойстика PS2. Пример того, как должен выглядеть такой код я нигде не нашёл.
Нужно что бы при однократном нажатии на кнопку с квадратом, мотор1 постоянно бы крутился влево ,а при однократном нажатии на кнопку с кругом мотор1 постоянно бы крутился вправо. И при однократном нажатии на кнопку с крестом мотор1 остонавливался бы.
Я пробовал написать код сам, но ничего не получается.
Собрал шасси на гусеницах с двумя движками. Электроника Arduino Mega, L298N и беспроводной геймпад PS2. Нашёл скетч, подредактировал под себя контакты. ЗАРАБОТАЛО. Кнопками вперёд назад влево вправо.
Нашёл скетч для джойстиков PS2. Одним одна гусеница вперёд-назад, другим другая. ЗАРАБОТАЛО. НО появилась проблема с этим скетчем: при вкл. и выкл. PS2 дёргается сам, чаще назад, реже вперёд.
ПОМОГИТЕ найти ошибку или дополнить!!!!
// include libraries
#include <PS2X_lib.h>
// These are used to set the direction of the bridge driver.
#define ENA 3 //ENA
#define MOTORA_1 8 //IN1
#define MOTORA_2 7 //IN2
#define MOTORB_1 4 //IN3
#define MOTORB_2 5 //IN4
#define ENB 6 //ENB
PS2X ps2x; // create PS2 Controller Class
int error = 0;
byte type = 0;
byte vibrate = 0;
void setup(){
// Configure output pins
pinMode(ENA, OUTPUT);
pinMode(MOTORA_1, OUTPUT);
pinMode(MOTORA_2, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(MOTORB_1, OUTPUT);
pinMode(MOTORB_2, OUTPUT);
// Disable both motors
digitalWrite(ENA,0);
digitalWrite(ENB,0);
// Start serial communication
Serial.begin(57600);
error = ps2x.config_gamepad(9,11,10,12, true, true); //setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error
// Check for error
if(error == 0){
Serial.println("Found Controller, configured successful");
}
else if(error == 1)
Serial.println("No controller found, check wiring or reset the Arduino");
else if(error == 2)
Serial.println("Controller found but not accepting commands");
else if(error == 3)
Serial.println("Controller refusing to enter Pressures mode, may not support it.");
// Check for the type of controller
type = ps2x.readType();
switch(type) {
case 0:
Serial.println("Unknown Controller type");
break;
case 1:
Serial.println("DualShock Controller Found");
break;
case 2:
Serial.println("GuitarHero Controller Found");
break;
}
}
// Main loop
void loop(){
if(error == 1) //skip loop if no controller found
return;
else { //DualShock Controller
ps2x.read_gamepad(false, false); // disable vibration of the controller
int nJoyL = ps2x.Analog(PSS_LY); // read left stick
int nJoyR = ps2x.Analog(PSS_RY); // read right stick
nJoyL = map(nJoyL, 0, 255, 1023, -1023);
nJoyR = map(nJoyR, 0, 255, 1023, -1023);
// Perform movements based on both analog sticks
if(nJoyL)>50) {
digitalWrite(MOTORA_2,HIGH);
digitalWrite(MOTORA_1,LOW);
analogWrite(ENA, 1023);
}
if(nJoyL)<-50) {
digitalWrite(MOTORA_2,LOW);
digitalWrite(MOTORA_1,HIGH);
analogWrite(ENA, 1023);
}
if (abs(nJoyL)<50) {
analogWrite(ENA, 0);
}
if(nJoyR>50) {
digitalWrite(MOTORB_2,HIGH);
digitalWrite(MOTORB_1,LOW);
analogWrite(ENB, 1023);
}
if(nJoyR<-50) {
digitalWrite(MOTORB_2,LOW);
digitalWrite(MOTORB_1,HIGH);
analogWrite(ENB, 1023);
}
if (abs(nJoyR)<50) {
analogWrite(ENB, 0);
}
delay(50);
}
}
Привет. Если только при включении выключении проблема в питании. Например от батареек/аккумуляторов питается драйвер, а на нем или отдельно сидит линейный стабилизатор, просадка напряжения и микроконтроллер перезагружается. Проще сделать так: повышающий преобразователь для питания микроконтроллера к батарейке/аккумулятору который сидит на минусе. И даже если питание сильно (в пределах разумного конечно) просядет, микроконтроллер не перезагрузится.
Приветствую! Есть вопрос - собираю шасси роботизированного гусеничного транспортёра, нашел подходящий для моих целей скейтч - поправил косячок. Но вот не пойму - как прописать торможение моторов? Дело в том, что шасси имеет приличную инерцию в движении после перевода стиков в 0. Проще говоря после перевода стиков из положения движенья в нейтральное положение - шасси движется по инерции ещё где то 20-30см.(именно по инерции).Не прописано в прошивке торможение! И как его добавить в поворотах? Противоположная гусеница при повороте не подтормаживается!
На борту ARDUINO MEGA 2560, беспроводной пульт L298n, Sony Playstation 2.
новый проект
чертеж сам делал? в какой программе?
да сам. solidworks. буду дорабатывать. увеличу толщину для жесткости, уберу отверстия
доработал модель
хорошо выглядит, но я в свое время не стал заморачиваться и купил готовый китайский, он весь в металле, вполне прочен и надежен.
вот такой
кстати поидее, можно с пластиковой формы снять глиненую форму и залить например алюминием.
п.с. не думал сделать клешню побольше, по факту мелкая клешня - просто бутафория, практического применения ей нет, хват слабый, ничего большого не поднять и не удержать, а мелкое чтобы взять нужна точность, с чем тоже проблемы.
да не такая уж маленькая. насчет хвата как соберу видео выложу
а вообще это игрушка. какое практическое применение? химикаты смешивать?))
[quote=jeka_tm] какое практическое применение? химикаты смешивать?))[/quote]
я бы стержни плутонивые в гараже передвигал бы :))))))
а где там крепление для сервы?
никаких серв))) только хардкод. ролики видишь? это для капроновой нитки
хм, ну это круто, если будет работать.... клешня получиться легкая, и мощьная если поставить мощьную серву. когда сервы на самой клешне она выходит тяжелой.
сервы вообще не будет. будут рычаги как на экскаваторе)))
вот что уже есть. только 3 плечо покороче (которое возле клешни). еще основание и рычаги надо сделать. хз когда. блок питания 3д принтера сгорел. попробую запустить от компьютерного блока питания
кстати трубки к пластику закрепляю актоматическим керном. получается быстро и удобно, правда неразборная конструкция отдельного плеча
а чем это все будет приводиться в движение?
не думал насчет гидравлики на шприцах, с трубками а обратные рычаги - шприцы на сервах.
руками)) можно и на моторах. но не хочу. не так интересно, да и ребенку может понравится
думал, уже планировал следующую версию сделать на шприцах, но без электроники
Жека можешь помочь со скетчем? Есть ардуино нано+ драйвер L298n+ мотор-редуктор + серва sg90 + китайский джойстик от PS2 бес проводной и цель сделать переключение скоростей. Я у виталика смотрел видосы https://www.youtube.com/watch?v=ACtKMtq1-Zg&t=8s выкинул ненужное из скетча с этого видео , оставил мотор редуктор один и серву собрал всё работает. Но потом увидел вот это видео https://www.youtube.com/watch?v=wIpaHNpcjmI а здесь с переключением скоростей. Короче у обоих авторов по разному написаны скетчи у виталия написан по понятнее ,но я не знаю как прописать работу кнопок ,джойстик не видит кнопки только два стика а использовать из за двух стиков как то не целесообразно . Я только начинающий чел в этой среде а с джойстиком вот поторопился купил, надо было на NRFL24L01, но это я уже потом изучил .Вот оригинальный скетч с танка https://drive.google.com/file/d/0B8pAOi0jFtLIM3FGaTBlQndOams/view я с него брал только серву на поворот и мотор редуктор .А ардуино НАНО потому что машинка не большая , а схемы только в основном на UNO идут . За ранее спасибо.
уно нано неважно. микроконтроллер один и тот же
NRFL24L01 подразумевает что ты либо пульт самодельный, либо определенный который работает с NRFL24L01
в коде вижу используются 2 кнопки которые на торце вроде
если тебе нужны остальные кнопки делай по правильному: открой пример к библиотеке там все пины использованы, узнай какая функция за какую кнопку отвечает и используй хоть все
я кстати тоже кое что делаю. и думаю подьем дула не стоит того чтобы увеличивать высоту танка
а башня такая странная потому что внутри уже стоит вот это и это шасси
тоже приобрел 3д принтер, тоже хочу сделать мини танчик, правда пульта нету от пс((( надо искать инфу о самодельном
было бы желание и время
было бы желание и время
спасибо почитаю
да там нечего вроде читать. не помню код выкладывал или нет, да даже есть да то только для примера он тебе. все равно корпус пульта нужен будет какой то. проще купить готовый и использовать где нужно. у меня один и тот же пульт для разных игрушек сделан
да там нечего вроде читать. не помню код выкладывал или нет, да даже есть да то только для примера он тебе. все равно корпус пульта нужен будет какой то. проще купить готовый и использовать где нужно. у меня один и тот же пульт для разных игрушек сделан
корпус я планировал распечатать, и сделать под два джостика и пару кнопок, ну или для серв еще потерциометр линейный прицепить, видел в инете корпус с дисплеем 0,96 олед, может такой повторю
ну тогда можно. хотя если планируешь не одну игрушку делать проще купить магазинный. и потратить время на изготовление игрушки. хотя если сам процесс создания пульта привлекает это другой момент
ну тогда можно. хотя если планируешь не одну игрушку делать проще купить магазинный. и потратить время на изготовление игрушки. хотя если сам процесс создания пульта привлекает это другой момент
готовые пульты достаточно дороги, либо очень примитивны
полторы тысячи тот которым я пользуюсь с nrf24l01 внутри. но покупал я его дешевле. а приемник делаешь из nrf24l01 и ардуины
полторы тысячи тот которым я пользуюсь с nrf24l01 внутри. но покупал я его дешевле. а приемник делаешь из nrf24l01 и ардуины
а то что там квадрик нарисован никак не мешает управлению машинкой?
да ничем. экран по сути нужен только для отображения текущих настроек диапазона регулировок. это те что с процентами. для триммирования и то что передатчик включился. ну может проценты газа, но они особо не важны
возле цены включи отображение в рублях
да ничем. экран по сути нужен только для отображения текущих настроек диапазона регулировок. это те что с процентами. для триммирования и то что передатчик включился. ну может проценты газа, но они особо не важны
возле цены включи отображение в рублях
у меня на работе комп заблокированый нельзя выбрать там=))) перепутал немного=))) я на бангуде ниразу не заказывал, интересно на алике есть такой, надо посмотреть, спасибо за наводку
Жека проблема в том что я не программист код к библиотеке для PS2 я смотрел и честно ни чего не понял а потом как к этой библиотеке в с кетче привязать серву и завести управление на джойстик я не знаю
берешь примеры джереми блюма и вперед учится. до 7 урока дойди. а так кто за тебя будет писать. да за кем то повторять один в один не скучно?
спасибо я видел эти уроки
видел и сделал все это разные вещи. тебе нужно привыкнуть к языку. мк/ардуина не может сама принять решение или додумать за тебя. нужно прописывать четко каждое действие и т.д. но если ты не знаешь как с ней разговаривать то ты ничего не сможешь сделать
Ребят, помогите пожалуйста, делаю шасси для 6wd, шасси хорошее, для него есть даже платка, на подобие ардуинки, называеться T-Rex, хочу подключить к джойстику PS, но не могу понять, как это сделать. Поможете?
Если нужны фото, ссылки, могу скинуть
Ребят, помогите пожалуйста, делаю шасси для 6wd, шасси хорошее, для него есть даже платка, на подобие ардуинки, называеться T-Rex, хочу подключить к джойстику PS, но не могу понять, как это сделать. Поможете?
я такое делал, там все просто, ну почти :)
вот код прошивки, у меня там не только движение но и рука манипулятор. старт стоп реализованы плавно, чтобы неубивать редуктор.
скорей всего пины подключения в коде и на картинки отличаются, просто подключить и залить скетч может несработать, нужно проверить пины...
схема подключения примерно такая, я брал статью в инете
http://robocontroller.ru/news/besprovodnoj_dzhojstik_ot_playstation_arduino/2013-10-19-32
п.с. для 6 колесной машины нужен мощьный акум!
вот моя версия:
https://www.youtube.com/watch?v=mBMEWrdachI
Да, да у меня тоже с манипулятором будет, на соревнования
И при чём на таком же шасси
С этим всё понятно, но будет ли T-Rex вести себя как ардуинка?
С этим всё понятно, но будет ли T-Rex вести себя как ардуинка?
это и есть ардуино... просто подругому распаяная на своей плате сразу с мотор драйвером и датчиками, которые по факту непригодились...
Почитайте тут описание проекта... поэтапное...
http://roboforum.ru/forum10/topic14711.html
на выходе у меня была 6 колесная машина управляемая 2мя пультами пс2
один пульт управлял движением и манипулятором, второй пульт управлял водометом (стрелял до 2го этажа) и пушкой с 6мм шариками, пробивала несколько листов бумаги...
Ну вот, у Вас два пульта, но вот второй мне не нужен, у меня будет просто машинка с манипулятором, у вас есть готовый скечт и схема? Просто нужно уложиться в сроки, а вот практики в таких работах мне не хватает...
у меня много версий скетю, один из них я скинул...
схемы у меня нет, не делал, но ее можно понять почитав скетч, там написано какие контакты на какие выводы тирекса подключать.
подключите моторы. батарею. посмотрев скетч подсоедените нужные выводы к приемникам СП2
вот две сервы манипулятора:
066
void
setup
(){
067
// LXservo.attach(12);
068
// LYservo.attach(13);
а вот подключение приемника от пульта:
073
PS2 = ps2x.config_gamepad(8,6,7,5,
true
,
true
);
//Настройка выводов: (clock, command, attention, data, true, true)
заливайте скетч и пробуйте....
п.с. дам совет будьте осторожны с серво приводами на клешне манипуляторе, я пока настраивал правильные углы, незаметил, что серва на сжатие была минуты 3 в постоянном напряге, она уперлась в крайнее положение и продолжала пытаться двигаться дальше, и сгорела...
Сожалею о спалённой серве, и спасибо за скечи, просто реально трудно было найти всё самому
спасибо за скечи, просто реально трудно было найти всё самому
на здоровье! я пол года потратил на все это дело.... :)
Помогите пожалуйста правильно написать.
пару постов в верх я выкладывал готовый скетч, там есть управление на кнопки с плавным старт - стопом.
конкрктно кусок кода выглядит так
Спасибо, попробую разобратся.
Всем привет! Нужна помощь.
Собрал шасси на гусеницах с двумя движками. Электроника Arduino Mega, L298N и беспроводной геймпад PS2. Нашёл скетч, подредактировал под себя контакты. ЗАРАБОТАЛО. Кнопками вперёд назад влево вправо.
Нашёл скетч для джойстиков PS2. Одним одна гусеница вперёд-назад, другим другая. ЗАРАБОТАЛО. НО появилась проблема с этим скетчем: при вкл. и выкл. PS2 дёргается сам, чаще назад, реже вперёд.
ПОМОГИТЕ найти ошибку или дополнить!!!!
Привет. Если только при включении выключении проблема в питании. Например от батареек/аккумуляторов питается драйвер, а на нем или отдельно сидит линейный стабилизатор, просадка напряжения и микроконтроллер перезагружается. Проще сделать так: повышающий преобразователь для питания микроконтроллера к батарейке/аккумулятору который сидит на минусе. И даже если питание сильно (в пределах разумного конечно) просядет, микроконтроллер не перезагрузится.
На борту ARDUINO MEGA 2560, беспроводной пульт L298n, Sony Playstation 2.
Скейтч :
Для торможения одной стороны (вторая аналогично):
Для торможения одной стороны (вторая аналогично):
Нет конечно, прописать условие когда нужно тормозить, и в условие добавить код торможения.