Jump to content
Серый Волк90

Помогите со скетчем

Recommended Posts

Приветствую всех!
Взял готовый скетч с официальной страницы Remote XY здесь https://remotexy.com/en/examples/car/

/////////////////////////////////////////////
// RemoteXY include library //
/////////////////////////////////////////////

/* RemoteXY select connection mode and include library */
#define REMOTEXY_MODE__SOFTWARESERIAL
#include <SoftwareSerial.h>
#include <RemoteXY.h>

/* RemoteXY connection settings */
#define REMOTEXY_SERIAL_RX 2
#define REMOTEXY_SERIAL_TX 3
#define REMOTEXY_SERIAL_SPEED 9600

/* RemoteXY configurate */
unsigned char RemoteXY_CONF[] =
{ 3,0,23,0,1,5,5,15,41,11
,43,43,1,2,0,6,5,27,11,5
,79,78,0,79,70,70,0 };

/* this structure defines all the variables of your control interface */
struct {

/* input variable */
signed char joystick_1_x; /* =-100..100 x-coordinate joystick position */
signed char joystick_1_y; /* =-100..100 y-coordinate joystick position */
unsigned char switch_1; /* =1 if switch ON and =0 if OFF */

/* other variable */
unsigned char connect_flag; /* =1 if wire connected, else =0 */

} RemoteXY;

/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
/* defined the right motor control pins */
#define PIN_MOTOR_RIGHT_UP 7
#define PIN_MOTOR_RIGHT_DN 6
#define PIN_MOTOR_RIGHT_SPEED 10

/* defined the left motor control pins */
#define PIN_MOTOR_LEFT_UP 5
#define PIN_MOTOR_LEFT_DN 4
#define PIN_MOTOR_LEFT_SPEED 9

/* defined the LED pin */
#define PIN_LED 13


/* defined two arrays with a list of pins for each motor */
unsigned char RightMotor[3] =
{PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED};
unsigned char LeftMotor[3] =
{PIN_MOTOR_LEFT_UP, PIN_MOTOR_LEFT_DN, PIN_MOTOR_LEFT_SPEED};

/*
speed control of the motor
motor - pointer to an array of pins
v - motor speed can be set from -100 to 100
*/
void Wheel (unsigned char * motor, int v)
{
if (v>100) v=100;
if (v<-100) v=-100;
if (v>0) {
digitalWrite(motor[0], HIGH);
digitalWrite(motor[1], LOW);
analogWrite(motor[2], v*2.55);
}
else if (v<0) {
digitalWrite(motor[0], LOW);
digitalWrite(motor[1], HIGH);
analogWrite(motor[2], (-v)*2.55);
}
else {
digitalWrite(motor[0], LOW);
digitalWrite(motor[1], LOW);
analogWrite(motor[2], 0);
}
}

void setup()
{
/* initialization pins */
pinMode (PIN_MOTOR_RIGHT_UP, OUTPUT);
pinMode (PIN_MOTOR_RIGHT_DN, OUTPUT);
pinMode (PIN_MOTOR_LEFT_UP, OUTPUT);
pinMode (PIN_MOTOR_LEFT_DN, OUTPUT);
pinMode (PIN_LED, OUTPUT);

/* initialization module RemoteXY */
RemoteXY_Init ();

}

void loop()
{
/* event handler module RemoteXY */
RemoteXY_Handler ();

/* manage LED pin */
digitalWrite (PIN_LED, (RemoteXY.switch_1==0)?LOW:HIGH);

/* manage the right motor */
Wheel (RightMotor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x);
/* manage the left motor */
Wheel (LeftMotor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x);
}


Заработал он сходу с Remote XY, но не так как мне нужно.

Нужно чтоб при движении джойстика (право-лево) один мотор вперёд и назад крутился(реверс), а при движении джойстика (вверх-вниз) это делал второй мотор .

Это можно сделать что то в этом скетче изменив, или нужно переписывать всё по новой.

Share this post


Link to post
Share on other sites
2 hours ago, Серый Волк90 said:

Заработал ... но не так как мне нужно.
Нужно чтоб...

Что нужно, написал, а что значит  "не так как мне нужно" - не написал. И что куда надо изменять?:)

А что такое Remote XY?

Дефайны надо, наверное, поменять...

Share this post


Link to post
Share on other sites

а просто моторы поменять местами нельзя? :lol2:

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Экономичные решения МЕAN WELL для надежных разработок» (30.09.2021)

Компания Компэл приглашает 30 сентября на вебинар посвященный экономичным решениям МЕAN WELL. На вебинаре мы рассмотрим, как решения MEAN WELL позволяют сэкономить при выборе недорогого источника питания. Будут представлены основные группы источников питания по конструктивным признакам и по областям применения в контексте их стоимости или их особенностей, позволяющих снизить затраты на электропитание конечного устройства.
Подробнее

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Гальванически омедненая сталь.
    • Тут есть нюанс!! Ультразвуковой - это совсем не значит что бесшумный! "Суслика не видно, а он есть!!" (с) Действующий свисток Гальтона мы не слышим, а от него даже загорается бумага. С уважением, Сергей
    • Обороты считаются в МИНУТУ, а герцы - в СЕКУНДУ! Так что 11000/60=183 Гц. Тоже немало, но не супер-много.
    • @Yuretskok  ну смотря какое короткое замыкание было,  либо сгорит бп либо какая ни будь микросхема. Да и проверка унч описана много раз и по всему инету.
    • В принципе сам факт отсутствия на рынке каких либо инструментов, основанных на данном принципе, уже говорит о больших проблемах с реализацией. Хотя, заманчиво было бы иметь, например, практически бесшумный ультразвуковой перфоратор.
    • Может я и не прав, но обычно ограничение холостого хода происходит за счёт пропуска импульсов без уменьшения ширины, нагрузки нет, датчик тока молчит, соответственно откуда взятся ограничению ширины? По крайней мере, сколько не ковырял такую технику, в основном либо пропуск импульсов, либо доп обмотка в дежурке и запуск шима по падению напряжения на выходе. А здесь на лицо "корявая" работа, как вариант можно посмотреть нет ли в обвязке шимки связки из полевика и пнп биполяра для сброса входа датчика тока в паузе, были случаи когда такая связка, вместо того чтобы нормально сдохнуть, начинала "течь"
    • Здравствуйте, есть проблема на 20К "не работает" в МС. Схема 170 1.ms14
×
×
  • Create New...