Помогите с кодом
- Войдите на сайт для отправки комментариев
День добрый. В 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 для передачи данных
}
там двухрелейный блок. 1 реле остается запитанным. С блютус модулем не проверял
там двухрелейный блок. 1 реле остается запитанным. С блютус модулем не проверял
как то пофиг, что там у тебя - аппаратно инициализируй в сетапе выключенные реле и в лупе начинай с выключенного
поменял, но теперь 0 эмоций на сигналы через блютус модуль
поменял, но теперь 0 эмоций на сигналы через блютус модуль
ну? и, я за тебя буду писать код, как включить выключенное?
Ну, я не против) Мало шарю пока просто
ты привёл пример типичной ошибки программирования железа Дуино, когда вместо выключенного, оказывается включенное.
я тебе объяснил, почему так происходит.
Ну вот так получилось, реле больше не запитано, т.к. INPUT дает 0 на пине.. Но что изменить, чтоб при подаче сигнала с блутуз реле включалось? Помоги пожалуйста..
pinMode (PIN_SWITCH_1, OUTPUT);
должно быть выход - OUTPUT, а не вход - INPUT.
что бы включалось, нужно включить.
Но тогда реле запитывается при включении в сеть, толь я кривой, толь чет в коде.. У автора видео все получилось без проблем.
Но тогда реле запитывается при включении в сеть, толь я кривой, толь чет в коде.. У автора видео все получилось без проблем.
не знаю, насчёт кривой, но ленивый ты однозначно, вместо учиться программировать, накручиваешь просмотры какому-то уроду, который тебе мосг выносит тем, что у него работает, а у тебя не будет работать никогда.
ты не задумывался, что тебя наёпуют?
Отэто в проге:
// используйте структуру RemoteXY для передачи данных
вижу только я? Это из-за мелкого шрифта наверно..
вижу только я? Это из-за мелкого шрифта наверно..
я не смотрел код - мне достаточно того, что не происходит явное указание состояния пинов в сетап, а поциент жалуется, что у него вместо "выкл" - "вкл".
У релюх небось инверсное управление. Срабатывают, когда на пине низкий уровень.
Еще у релюх аж 3 контакта, два из которых всегда замкнуты.
Так что делать-то? Кто знает, помогите)