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...

  • Сообщения

    • Калибратор И1-9. Без ЗИП. Под пломбами. Цена: 12500р  - ПРОДАН! В НАЛИЧИИ: Генератор Г3-112/1 с усилителем. Имеется соединительный шнур. Под пломбами. Цена: 11800р     Саратовская обл., г. Энгельс. Отправим: почтой, транспортной компанией, в Москву на Митино  - привезем сами. Наличный-безналичный расчет Контакты:  Ольга Моб. тел.:+7904-240-51-17. E-mail: olgalosewa86@mail.ru
    • Добрый день. На днях забрал посылочки, заказ с Аliexpress 12.08.2021г. Посылки от разных продавцов, но все их объединили в одну, что сэкономило мне деньжат на почтовые расходы, да сроки сократили доставки лотов. 1. Сетевая карта 100/1000 Мбит/с, PCI Express.  Запасная для материнки, так как часто у меня ее вышибает (высоковольтными разрядами), поэтому всегда держу в запасе парочку. Все же это удобней, чем менять чип на материнки. 2. Конденсаторы 16 В, 330 мкФ 10 шт., полимерные. Высота = 12,5 мм, Диаметр = 10 мм, Шаг = 5 мм. ESR = 0.07 Om, Vloss = 1.3%, Емкость = 361 uF. Хорошие. 3. Конденсаторы 16V 1000 uF 10 шт., полимерные. Высота = 12,5 мм, Диаметр = 10 мм, Шаг = 5 мм. ESR = 0.06 Om, Vloss = 0.5%, Емкость = 961 uF. Хорошие. 4. Резисторы SMD 1210 по 100 шт. на разное сопротивление. Каждый номинал в своем пакетике и подписан, отличные.  5. Конденсатор SMD 1210 1NF 2000V  X7R 50 шт. Хорошие, емкость 0,964 nF. 6. Синфазный дроссель ACM2520-301-2P SMD 10 шт. Взял для построение RS485, очень они маленькие, под любой рассматривать. Хорошие. 7. Светодиодная матрица WS2812B, 5V DC 1 шт. Взял побаловаться со световым индикатором уровня сигнала, брал 24LED Black Ring. Сделан не плохо. 8. Модуль защиты и зарядки 2S Li-Ion 18650 литиевая батарея 10 шт. Мне понравились. 9. Плата аудиоприемника с функцией Bluetooth 5,0, mp3 декодер 1 шт.  Взял побаловаться. 10. Зажим для  SOP8 SOP SOIC 8 1 шт.  11. Программатор PICKIT3.5 With ICD2. Выходят новые контроллеры, нужны новые программаторы. 12. PIC12F1822  SOP-8 2 шт. Хорошие. 13. Карта расширения  PCI-E PCI-SATA 3,0 2 порта SATA III, 6 Гбит/с. После установки в материнку М2, я лишился двух портов Sata, поэтому и купил данный модуль. 14. Кабель питания для Sata устройств на 5. Хороший. 15. Ручки для энкодера 10 шт. Алюминиевые, черные, D = 15 мм, Высота = 17 мм. Хорошие. 16. Вольтметр 0,36 дюйма, постоянный ток 0-100V, 4 разряда. Можно выбрать разные цвета индикатора. Питание от 3 до 5 В. Хороший. Точность можно подрегулировать переменным резистором, с завода настроен хорошо. 17. Никелевая полоса для соединения 18650 10 м. Можно выбрать ширину и толщину. На магнит липнет. 18. Термо-предохранители. Брал по 10 шт. на разную температуру, не раз спасали приборы. Каждая единица была в своем пакетике, можно было и по 10 штук в пакетик сунуть. 80 пакетиков пришлось сортировать. Где-то плачет Чип-Дип. Хорошие. Фото. Всем удачных покупок.
    • Пока  не предоставите  пилотный, хоть как то работающий   образец,  будете самым большим, самым громким и самым пустым бидоном!! С уважением, Сергей. (Сергейка, к Вам это пока не относится)
    • Надо... выкинуть его и купить нормальный проггер!  
    • Можно еще тут поискать, если еще не пробовали.
×
×
  • Create New...