Перейти к содержанию

Интернет вещей с RemoteXY: элементы управления


Рекомендуемые сообщения

Очередная статья по сервису RemoteXY. В статье рассмотрены элементы управления кнопка, выключатель, переключатель и слайдер. Работа с каждым элементом рассмотрена на практическом примере простых для повторения новичками устройств.

Ссылка на статью: http://cxem.net/arduino/arduino216.php

Автор статьи: http://cxem.net/profile/9762/

Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...

Просветите меня с полем ввода пожалуйста. Как в нем обновлять данные, если они изменились внутри программы? В блоке Setup начальное значение записывается в поле ввода и выводиться на экран вполне успешно. В примере, нажатие кнопки изменяет переменную "val" на еденичку. Как заставить новое значение отразиться в поле ввода? Плата NodeMcu V3.

//////////////////////////////////////////////
//        RemoteXY include library          //
//////////////////////////////////////////////

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

#include <RemoteXY.h>

// настройки соединения 
#define REMOTEXY_WIFI_SSID "....."
#define REMOTEXY_WIFI_PASSWORD "....."
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "....."


// конфигурация интерфейса  
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,3,0,0,0,22,0,8,13,1,
  7,21,17,24,30,15,2,26,2,1,
  0,26,51,12,12,2,31,88,0 };
  
// структура определяет все переменные вашего интерфейса управления 
struct {

    // input variable
  int16_t edit_1;  // −32767.. +32767 
  uint8_t button_1; // =1 если кнопка нажата, иначе =0 

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 

} RemoteXY;
#pragma pack(pop)

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

byte val=10;
bool fbt;

void setup() 
{
  RemoteXY_Init (); 
  RemoteXY.edit_1=val; // Это работает
  
  // TODO you setup code
Serial.begin(115200);  
}

void loop() 
{
  RemoteXY_Handler ();
if (RemoteXY.button_1 && !fbt) {
  fbt=1;
  val++;
  RemoteXY.edit_1=val; //А вот это не работает

}
if (!RemoteXY.button_1 && fbt) {
  fbt=0;
}
  
  if (val!= RemoteXY.edit_1){
  val = RemoteXY.edit_1;
  Serial.print ("val=");
  Serial.println (val);
  }

  
  // TODO you loop code
  // используйте структуру RemoteXY для передачи данных


}

Спойлер не нашел.... Ткните носом.

Изменено пользователем Progic
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • На контроллере таймер сделан?
    • У отсутствующих транзисторов и роль отсутствующая. По-моему, это совершенно очевидно.
    • Агеев пояснял, что как раз есть. Излучение условных полусинусов максимально компенсируется в таком случае.  Для максимального эффекта взаимокомпенсации контуров при расположении БП на расстоянии от ПП усилителя ,  Букварев вывел питание на шлейф с чередованием шин в нем.  Все это довольно подробно пояснялось в темах на Веге и в группе в телеге.  Применительно к сверхлинейникам, в железе, это можно проверить только в одном случае: измерить схемотехнически и режимно одинаковые усилители в равных условиях на разных платах, классической бабочке и повторяющей топологию Букварева.  
    • Вот кстати долго думал над этой темой. По идее, для класса АБ, на малой мощности, когда усилитель работает в классе А, тогда ток идёт по обеим шинам одновременно, но в классе Б, ток сначала идёт через плюсовую шину и землю, потом через минусовую шину и землю. Т.е. получается, что как бы особой целесообразности плюсовую с минусовой рядом держать нет, т.к. излучают контура плюс-земля и минус-земля. Если только ради того, чтоб контур плюс-минус не ловил на себя ничего и не отдавал улов в слаботочку...
    • Я себе сделал лампу по замерам тестовых засветок. Для своего фоторезиста, брал у трех разных продавцов на али-все три фоторезиста отрабатывают нормально. Расстояние до платы от светодиодов 120мм, матрица 160х140мм, сотня светодиодов-брал на али. Время засветки-2,5 минуты. Проявка в растворе жидкого стекла (силикат натрия)-более мягкий режим проявки, чем крот. Снятие фоторезиста в более концентрированом растворе жидкого стекла в горячей воде за 5 минут Делал платы 150х200     УФ лампа.lay6
    • В телевизорные ИИП мамкины инженеры обычно пихают сразу две лампы, чтобы потом неделями выносить всем мозг тупым вопросом о странной "цветомузыке". Задумываться о физике причин нынче не в моде.
×
×
  • Создать...