1

Topic: Нужна помощь с аппаратурой управления

Строю радиоуправляемую машинку, апаратура управления самодельная на базе ESP12, управление с при помоши программы

В целом все сделал, на мой взгляд все сделал правильно. Схему спаял, скетч написал, модуль запрограмировал. Все в целом получилось хорошо. Телефон к модулю подключается без проблем, но вот только ничего не работает.

Как думаете, в чем может быть проблема?

Скетч для изучения прилагаю.

Слайдеры управляют двумя сервоприводами, светодиодами. Ничего из этого не работает.



#include <Servo.h>

//////////////////////////////////////////////
// RemoteXY включить библиотека //
//////////////////////////////////////////////

// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT
#include <ESP8266WiFi.h>

#include <RemoteXY.h>

// настройки соединения
#define REMOTEXY_WIFI_SSID "RemoteXY"
#define REMOTEXY_WIFI_PASSWORD ""
#define REMOTEXY_SERVER_PORT 6377


//  конфигурация интерфейса
#pragma pack (push, 1)
uint8_t RemoteXY_CONF [] =
  {255,5,0,0,0,70,0,13,13,0,
  4,48,1,4,19,57, 2,26,4,48,
  80,4,19,57,2,26,2,1,39,10,
  22,11,2,26,31,31,79,78,0,79,
  70, 70,0,2,1,39,27,22,11,2,
  26,31,31,79,78,0,79,70,70,0,
  2,1,39,44,22,11, 2,26,31,31,
  79,78,0,79,70,70,0};

// структура определяет все переменные и события вашего интерфейса управления
struct {

    // входные переменные
  int8_t slider_1; // = -100..100 положение слайдера
  int8_t slider_2; // = -100..100 положение слайдера
  uint8_t switch_1; // = 1 если переключатель включен и = 0 если отключен
  uint8_t switch_2; // = 1 если переключатель включен и = 0 если отключен
  uint8_t switch_3; // = 1 если переключатель включен и = 0 если отключен

    // другая переменная
  uint8_t connect_flag; // = 1 если провод подключен, else = 0

} RemoteXY;
#pragma pack (поп)

/////////////////////////////////////////////
// END RemoteXY include //
///////////////////////////////////////////////

#define PIN_SWITCH_1 16
#define PIN_SWITCH_2 14
#define PIN_SWITCH_3 12
#define PIN_SERVO_1 4
#define PIN_SERVO_2 5

Серво серво_1;
Серво servo_2;

int val_1 = 0;
int val_2 = 0;

недействительная настройка ()
{
  RemoteXY_Init ();

  pinMode (PIN_SWITCH_1, ВЫХОД);
  pinMode (PIN_SWITCH_2, ВЫХОД);
  pinMode (PIN_SWITCH_3, ВЫХОД);

  servo_1.attach (PIN_SERVO_1);
  servo_2.attach (PIN_SERVO_2);
}

недействительный цикл ()
{
  RemoteXY_Handler ();

  digitalWrite (PIN_SWITCH_1, (RemoteXY.switch_1 == 0)? LOW: HIGH);
  digitalWrite (PIN_SWITCH_2, (RemoteXY.switch_2 == 0)? LOW: HIGH);
  digitalWrite (PIN_SWITCH_3, (RemoteXY.switch_3 == 0)? LOW: HIGH);

  val_1 = RemoteXY.slider_1;
  val_1 = карта (val_1, -100,100,0,180);
  servo_1.write (val_1);

  val_2 = RemoteXY.slider_2;
  val_2 = карта (val_2, -100,100,180,0);
  servo_2.write (val_2);

}