Помогите с кодом

teranicys
Offline
Зарегистрирован: 13.11.2015

День добрый. В arduino я не очень разбираюсь, все делаю по урокам. Собрал схемку умной розетки (тык если интересно). Проблема в том, что при включении сборки в сеть, сразу запитывается реле, тоесть и розетки запитаны. Как можно изменить код, что-бы при включении, реле было не активно? Заранее спасибо за помощь)

Код:
/////////////////////////////////////////////  

//        RemoteXY include library         //  

//   use ANDROID app version 3.1.1 or up   //  

/////////////////////////////////////////////  



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

#define REMOTEXY_MODE__SOFTWARESERIAL  

#include <SoftwareSerial.h>  

#include <RemoteXY.h>  



/* настройки соединения */  

#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 для передачи данных  



Клапауций 666
Offline
Зарегистрирован: 10.11.2015
 
в void setup()   
 
digitalWrite(PIN_SWITCH_1, 1);
digitalWrite(PIN_SWITCH_2, 1);
или
digitalWrite(PIN_SWITCH_1, 0);
digitalWrite(PIN_SWITCH_2, 0);
teranicys
Offline
Зарегистрирован: 13.11.2015

там двухрелейный блок. 1 реле остается запитанным. С блютус модулем не проверял

Клапауций 666
Offline
Зарегистрирован: 10.11.2015

teranicys пишет:

там двухрелейный блок. 1 реле остается запитанным. С блютус модулем не проверял

как то пофиг, что там у тебя - аппаратно инициализируй в сетапе выключенные реле и в лупе начинай с выключенного

teranicys
Offline
Зарегистрирован: 13.11.2015

поменял, но теперь 0 эмоций на сигналы через блютус модуль

Клапауций 666
Offline
Зарегистрирован: 10.11.2015

teranicys пишет:

поменял, но теперь 0 эмоций на сигналы через блютус модуль

ну? и, я за тебя буду писать код, как включить выключенное?

teranicys
Offline
Зарегистрирован: 13.11.2015

Ну, я не против) Мало шарю пока просто

Клапауций 666
Offline
Зарегистрирован: 10.11.2015

ты привёл пример типичной ошибки программирования железа Дуино, когда вместо выключенного, оказывается включенное.

я тебе объяснил, почему так происходит.

teranicys
Offline
Зарегистрирован: 13.11.2015
void setup()   
{  
  RemoteXY_Init ();   
    
  pinMode (PIN_SWITCH_1, INPUT); 
  pinMode (PIN_SWITCH_2, INPUT);   

  // TODO you setup code  
    
}  

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

Ну вот так получилось, реле больше не запитано, т.к. INPUT дает 0 на пине.. Но что изменить, чтоб при подаче сигнала с блутуз реле включалось? Помоги пожалуйста..

Клапауций 666
Offline
Зарегистрирован: 10.11.2015

pinMode (PIN_SWITCH_1, OUTPUT); 

должно быть выход - OUTPUT, а не вход - INPUT.

что бы включалось, нужно включить.

teranicys
Offline
Зарегистрирован: 13.11.2015

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

Клапауций 666
Offline
Зарегистрирован: 10.11.2015

teranicys пишет:

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

не знаю, насчёт кривой, но ленивый ты однозначно, вместо учиться программировать, накручиваешь просмотры какому-то уроду, который тебе мосг выносит тем, что у него работает, а у тебя не будет работать никогда.

ты не задумывался, что тебя наёпуют?

Logik
Offline
Зарегистрирован: 05.08.2014

Отэто в проге:

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

вижу только я? Это из-за мелкого шрифта наверно..

Клапауций 666
Offline
Зарегистрирован: 10.11.2015

Logik пишет:

вижу только я? Это из-за мелкого шрифта наверно..

я не смотрел код - мне достаточно того, что не происходит явное указание состояния пинов в сетап, а поциент жалуется, что у него вместо "выкл" - "вкл".

Radjah
Offline
Зарегистрирован: 06.08.2014

У релюх небось инверсное управление. Срабатывают, когда на пине низкий уровень.

Еще у релюх аж 3 контакта, два из которых всегда замкнуты.

teranicys
Offline
Зарегистрирован: 13.11.2015

Так что делать-то? Кто знает, помогите)