1

Topic: Первоначальные установки

Доброго всем времени суток. Собрал сыну лампу освещения на WS2812 и контроллере D1 mini. Все хорошо но есть несколько  проблем:
1. Нужно что бы при включении питания на выходе switch_1 было High и при подключении в приложении переключатель по умолчанию то же был бы в ON;
2. проблема, элемент RGB круг, по умолчанию при включении имеет 0 контраст иными словами светодиоды имеют яркость = 0(выкл) и еще одна проблема, через какое то время точка доступа пропадает, ресет решает проблему но это не удобно.
//////////////////////////////////////////////
//        RemoteXY include library          //
//////////////////////////////////////////////

// определение режима соединения и подключение библиотеки RemoteXY 
#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT
#include <ESP8266WiFi.h>
#include <RemoteXY.h>
// Подключим библиотеку для работы с WS2812
#include <Adafruit_NeoPixel.h>
const int dinPin = D3;    // Управляющий контакт с Led ленты на 10 пин Arduino
const int numOfLeds = 16; // Количество сид в ленте
#define BRIGHTNESS 80
Adafruit_NeoPixel pixels = Adafruit_NeoPixel (numOfLeds, dinPin, NEO_GRB + NEO_KHZ800);
// настройки соединения 
#define REMOTEXY_WIFI_SSID "111111"
#define REMOTEXY_WIFI_PASSWORD ""
#define REMOTEXY_SERVER_PORT 6377
// конфигурация интерфейса   
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,4,0,0,0,33,0,6,5,1,
  6,0,2,37,58,58,6,2,0,19,
  10,22,11,2,208,146,208,186,208,187,
  0,208,146,209,139,208,186,208,187,0 };
// структура определяет все переменные вашего интерфейса управления 
struct {
// input variable
  uint8_t rgb_1_r; // =0..255 значение Красного цвета
  uint8_t rgb_1_g; // =0..255 значение Зеленого цвета
  uint8_t rgb_1_b; // =0..255 значение Синего цвета
  uint8_t switch_1; // =1 если переключатель включен и =0 если отключен
// other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////
#define PIN_SWITCH_1 D1

void setup() 
{
  RemoteXY_Init (); 
  pinMode (PIN_SWITCH_1, OUTPUT);
//  PIN_SWITCH_1 == 0;
//  RemoteXY.switch_1 == LOW;
   
  pixels.begin();   // Инициализация библиотеки NeoPixel для WS2812
  pixels.setBrightness(BRIGHTNESS); // Значение яркости от 0 до 100%
  pinMode(dinPin, OUTPUT);
}

void loop() 

  RemoteXY_Handler ();
  digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);
  if (RemoteXY.switch_1 == LOW)
    {
// Для набора NeoPixels первый сид=0, второй=1, и т.д. до макс. знач
      for(int i=0; i<numOfLeds; i++)
          {
            RemoteXY_Handler ();
//            pixels.setPixelColor(i, pixels.Color(0,0,255));
            pixels.setPixelColor(i, pixels.Color(RemoteXY.rgb_1_r,RemoteXY.rgb_1_g,RemoteXY.rgb_1_b));
            pixels.show();  // Отправляем обновленное значение цвета пикселя
          }
     }
   else
      {
        for(int i=0; i<numOfLeds; i++)
          {
            pixels.setPixelColor(i, pixels.Color(0,0,0));
            pixels.show();  // Отправляем обновленное значение цвета пикселя
            RemoteXY_Handler ();
          }
      }
}

2

Re: Первоначальные установки

1. Вы можете установить любые первоначальные значения в функции Setup(). В том числе и для RGB круга.
2. Через какое время пропадает точка доступа? Попробуйте обновить библиотеку RemoteXY, возможно проблема уже решена.

3

Re: Первоначальные установки

Я так думаю в секции Setup() надо сделать так

PIN_SWITCH_1 == 1;
или
RemoteXY.switch_1 == HIGH;

но это ни к чему не приводит, поэтому и спрашиваю.
Связь пропадает по разному, пока периодичность не определил, приблизительно минут 10 15.

4

Re: Первоначальные установки

89166817493 wrote:

Я так думаю в секции Setup() надо сделать так

PIN_SWITCH_1 == 1;
или
RemoteXY.switch_1 == HIGH;

но это ни к чему не приводит, поэтому и спрашиваю.
Связь пропадает по разному, пока периодичность не определил, приблизительно минут 10 15.

Вы же сравниваете
Поместите в setup() эти строки
RemoteXY.switch_1=1;
RemoteXY.rgb_r=255;
и так далее...
И будет точто вам надо.

5

Re: Первоначальные установки

Спасибо за подсказку, как я это не заметил сам.
Вопрос с пропаданием точки доступа. Библиотеку я переустановил, результат тот же. Заметил, если после изменения параметров выйти из приложения с отключение от точки доступа, она (точка доступа) будет существовать мин 10 часов (больше не было времени, да и нет нужды). Если не выходить из приложения (просто оставить смартфон и он (смартфон) перейдет в режим сна), то точка доступа пропадет минут через 10-15.

6

Re: Первоначальные установки

По пропаданию точки доступа когда телефон уходит в сон - будем тестировать. Возможно это особенности конкретного телефона.

7

Re: Первоначальные установки

Здравствуйте. Нет эта проблема не с телефоном, пробовал с андроид 4 и андроид 6 одинаково (производитель один Samsung модели разные). На 6 работает стабильнее.

8

Re: Первоначальные установки

Здравствуйте. Я сегодня тоже заметила такую же проблему. Точка доступа пропадает через 3 минуты, если оставить приложение включенным и не совершать никаких действий. Причем в настройках телефона точка доступа еще определяется, а remotety ее уже не видит. Помогает перезагрузка модуля. Пробовала на трех разных устройствах, библиотека свежая, результат один и тот же.

9 (edited by sedov.v.a 2018-04-16 14:53:31)

Re: Первоначальные установки

Таже проблема на Honor 4X, а перепрограмирую на облако и все работает Ок.