1

Topic: Помогите перевернуть серву

Собрал машинку с управлением по блютуз, а серва поворачивает колеса наоборот - слайдер вправо, колеса влево. Как исправить программно? Вот код
//////////////////////////////////////////////
//        RemoteXY include library          //
//////////////////////////////////////////////

// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__HARDSERIAL

#include <RemoteXY.h>

// настройки соединения
#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 9600


// конфигурация интерфейса 
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 3,0,32,0,6,0,0,4,128,3
  ,50,58,8,5,1,0,77,27,12,12
  ,4,85,112,0,1,0,77,45,12,12
  ,3,68,111,119,110,0 };
 
// структура определяет все переменные вашего интерфейса управления
struct {

    // input variable
  unsigned char slider_1; /* =0..100 slider position */
  uint8_t button_1; // =1 если кнопка нажата, иначе =0
  uint8_t button_2; // =1 если кнопка нажата, иначе =0

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

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////
#include <Servo.h>   

Servo myservo;

#define PIN_BUTTON_1 5
#define PIN_BUTTON_2 6


void setup()
{
  RemoteXY_Init ();
 
  pinMode (PIN_BUTTON_1, OUTPUT);
  pinMode (PIN_BUTTON_2, OUTPUT);
 
  // TODO you setup code
  myservo.attach(9); 
  RemoteXY.slider_1 = 50;
   
}

void loop()
{
  RemoteXY_Handler ();
 
  digitalWrite(PIN_BUTTON_1, (RemoteXY.button_1==0)?LOW:HIGH);
  digitalWrite(PIN_BUTTON_2, (RemoteXY.button_2==0)?LOW:HIGH);
 
  // TODO you loop code
  // используйте структуру RemoteXY для передачи данных
  int ms = RemoteXY.slider_1*20+500; 
  myservo.writeMicroseconds(ms);

}

2

Re: Помогите перевернуть серву

mr_chih wrote:

int ms = RemoteXY.slider_1*20+500;

Пробуй так:

 int ms = 2500-(RemoteXY.slider_1*20); 

или так:

 int ms = map(RemoteXY.slider, 0, 100, 2500, 500); 

Про map читать тут