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