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);
}