Добрый день, подключил к ардуино модуль HM-10, написал код для управление сервоприводом, но двигался он рывками.
Решил отладить это дело через Serial. И он меняет значение слайдера рывками, то есть не последовательно. Как будто опрос данных с телефона медленный, в чем может быть дело? Нужно достичь плавного движения сервопривода.
/*
-- New project --
This source code of graphical user interface
has been generated automatically by RemoteXY editor.
To compile this code using RemoteXY library 2.4.3 or later version
download by link http://remotexy.com/en/library/
To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
- for ANDROID 4.5.1 or later version;
- for iOS 1.4.1 or later version;
This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
*/
//////////////////////////////////////////////
// RemoteXY include library //
//////////////////////////////////////////////
// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__SOFTSERIAL
#include <SoftwareSerial.h>
#include <RemoteXY.h>
// настройки соединения
#define REMOTEXY_SERIAL_RX 2
#define REMOTEXY_SERIAL_TX 4
#define REMOTEXY_SERIAL_SPEED 9600
// конфигурация интерфейса
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,1,0,0,0,11,0,10,13,1,
4,32,25,6,13,86,2,26 };
// структура определяет все переменные и события вашего интерфейса управления
struct {
// input variables
int8_t slider_1; // =-100..100 положение слайдера
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
int slider_1_s;
void setup()
{
RemoteXY_Init ();
Serial.begin(9600);
RemoteXY.slider_1 = -100;
// TODO you setup code
}
void loop()
{
RemoteXY_Handler ();
slider_1_s = (RemoteXY.slider_1+100)*10+500;
// slider_tiller_s = map(slider_tiller_s, -100, 100, 0, 180);
Serial.print(RemoteXY.slider_1);
Serial.print(" | ");
Serial.println(slider_1_s);
// TODO you loop code
// используйте структуру RemoteXY для передачи данных
// не используйте функцию delay()
}
вот что выдает Serial на передвижение слайдера
-100 | 500
-100 | 500
-100 | 500
-100 | 500
-100 | 500
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-88 | 620
-23 | 1270
-23 | 1270
-23 | 1270
-23 | 1270
-23 | 1270
-23 | 1270
-23 | 1270
-23 | 1270
-23 | 1270
-23 | 1270
-23 | 1270
-23 | 1270
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
65 | 2150
100 | 2500
100 | 2500
100 | 2500
100 | 2500
100 | 2500
100 | 2500
100 | 2500