@teranicys

Кто может помочь с кодом arduino?

День добрый. В arduino я не очень разбираюсь, все делаю по урокам. Собрал схемку умной розетки (тык если интересно). Проблема в том, что при включении сборки в сеть, сразу запитывается реле, тоесть и розетки запитаны.
Код:
/////////////////////////////////////////////
// RemoteXY include library //
// use ANDROID app version 3.1.1 or up //
/////////////////////////////////////////////

/* определение режима соединения и подключение библиотеки RemoteXY */
#define REMOTEXY_MODE__SOFTWARESERIAL
#include
#include

/* настройки соединения */
#define REMOTEXY_SERIAL_RX 2
#define REMOTEXY_SERIAL_TX 3
#define REMOTEXY_SERIAL_SPEED 9600

/* конфигурация интерфейса */
unsigned char RemoteXY_CONF[] =
{ 2,0,30,0,2,5,2,0,6,2
,88,29,1,79,78,0,79,70,70,0
,2,0,6,33,88,29,6,79,78,0
,79,70,70,0 };

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

/* input variable */
unsigned char switch_1; /* =1 если переключатель включен и =0 если отключен */
unsigned char switch_2; /* =1 если переключатель включен и =0 если отключен */

/* other variable */
unsigned char connect_flag; /* =1 if wire connected, else =0 */

} RemoteXY;

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

#define PIN_SWITCH_1 4
#define PIN_SWITCH_2 5

void setup()
{
RemoteXY_Init ();

pinMode (PIN_SWITCH_1, OUTPUT);
pinMode (PIN_SWITCH_2, OUTPUT);

// TODO you setup code

}

void loop()
{
RemoteXY_Handler ();

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

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

}

Менял в void setup()

digitalWrite(PIN_SWITCH_1, 1);
digitalWrite(PIN_SWITCH_2, 1);
и
digitalWrite(PIN_SWITCH_1, 0);
digitalWrite(PIN_SWITCH_2, 0);
Реле выключается, но на сигнал с телефона прибор не реагирует. При кодировании используется библиотека. (Если надо, могу кинуть)
Как можно изменить код, что-бы при включении, реле было не активно? Заранее спасибо за помощь)
  • Вопрос задан
  • 386 просмотров
Решения вопроса 1
anthtml
@anthtml
Системный администратор программист радиолюбитель
попробуйте поменять
digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);
digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==0)?LOW:HIGH);
на
digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?HIGH:LOW);
digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==0)?HIGH:LOW);
и после
pinMode (PIN_SWITCH_1, OUTPUT);
pinMode (PIN_SWITCH_2, OUTPUT);
добавить
digitalWrite(PIN_SWITCH_1, LOW);
digitalWrite(PIN_SWITCH_2, LOW);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы