Программа стартует через 9 секунд

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Всем привет.

Простой скетч. Два датчика вход, один выход на реле. Attiny13

Работает верно. После подачи напряжения включается через 9 секунд, дальше по алгоритму.

Сломал всю голову, по мне должно включаться на второй секунде после прописанной задержки. Что интересно: раньше так и было, но потом появилась эта стартовая задержка.

Ну очень интересно почему. Подскажите, пожалуйста, у кого какие мысли. Или у меня ошибка, я не вижу.

void setup() {
  delay(1000);
  pinMode(buttonPin, INPUT_PULLUP); 
  pinMode(lightPower, INPUT); 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
}

void loop() {
  button = digitalRead(buttonPin);
  light = digitalRead(lightPower);
  tLight = millis() - t;

  if (button != prev_button && light == 1) {
    t = millis();
    prev_button = button;
  }

  if (tLight < 90000) { // время работы реле мс
    digitalWrite(ledPin, LOW);
  }
  else {
    digitalWrite(ledPin, HIGH);
  }
}

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Вы, уважаемый, посмотрите на millis(). Когда Вы его первый раз запрашиваете. Говорите 9 секунд?

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Смотрел, укажите, что не вижу, поэтому и прошу помощи.

На 90 секунд включается само реле.  Но при подаче питания оно включается через 9 секунд, вначале стоит одна секунда задержки старта. То есть через 8 секунд работы цикла.

В самом начале, я считаю что t и millis() равны нулю, но мииллис стартует сразу, а т опаздывает на секунду.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

А какое значение t  в начале программы? В башке программу проиграйте

sadman41
Offline
Зарегистрирован: 19.10.2016

Zero-Botanik пишет:

В самом начале, я считаю что t и millis() равны нулю, но мииллис стартует сразу, а т опаздывает на секунду.


Про Вас понятно. Что считает компилятор - интересовались?

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

мое мнение такое:

при старте

void loop() {
  button = digitalRead(buttonPin);
  light = digitalRead(lightPower);
  tLight = millis() - t;

получаем 1000

должен выполняться код 

  if (tLight < 90000) { 
    digitalWrite(ledPin, LOW);

 

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

sadman41 пишет:
Zero-Botanik пишет:

В самом начале, я считаю что t и millis() равны нулю, но мииллис стартует сразу, а т опаздывает на секунду.

Про Вас понятно. Что считает компилятор - интересовались?

 

Как раз интересуюсь. А по Вашему что он считает?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Значение t - любое, пока Вы его не назначили. Никто никому ничего не должен. Читайте документацию

sadman41
Offline
Зарегистрирован: 19.10.2016

Zero-Botanik пишет:

sadman41 пишет:
Zero-Botanik пишет:

В самом начале, я считаю что t и millis() равны нулю, но мииллис стартует сразу, а т опаздывает на секунду.

Про Вас понятно. Что считает компилятор - интересовались?

 

Как раз интересуюсь. А по Вашему что он считает?


Моя фамилия не Компилятор. И не Ватман. И я не от Циркуля.
Serial.print() дадено для чего?

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

sadman41 пишет:
Zero-Botanik пишет:

sadman41 пишет:
Zero-Botanik пишет:

В самом начале, я считаю что t и millis() равны нулю, но мииллис стартует сразу, а т опаздывает на секунду.

Про Вас понятно. Что считает компилятор - интересовались?

 

Как раз интересуюсь. А по Вашему что он считает?

Моя фамилия не Компилятор. И не Ватман. И я не от Циркуля. Serial.print() дадено для чего?

Извините, к Attiny не смог подключить, не нашел в описании контроллера такую функцию.

Спасибо в любом случае.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Подсказка - назначте t равным millis() в сетапе. И t обозначте глобальной переменной. Непонятно? Читайте учебник по си

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

mykaida пишет:

Значение t - любое, пока Вы его не назначили. Никто никому ничего не должен. Читайте документацию

Спасибо. Можно ссылку где это написано. Я не могу найти.

Сначала в сетапе обнулял Т, но после решил, что при старт все нули и для меня это не важно, убрал. Но поучив абсолютно одинаковую задержку на старте во множестве случаев, заинтересовался. Если бы разное время было - я бы списал на разные стартовые значения.

Укажите, пожалуйста, где это написано.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

mykaida пишет:

Подсказка - назначте t равным millis() в сетапе. И t обозначте глобальной переменной. Непонятно? Читайте учебник по си

Да, так я умею. Читаю, смотрю. Не все сразу выучу. 

В данном случае было очевидно, что выучу позже, чем получу ответ. И посмел в песочнице задать вопрос.

мои переменные, объявлены до сетапа

unsigned long t;
unsigned long tLight;
boolean light;
boolean button;
boolean prev_button;

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Zero-Botanik пишет:

Да, так я умею. Читаю, смотрю. Не все сразу выучу. 

В данном случае было очевидно, что выучу позже, чем получу ответ. И посмел в песочнице задать вопрос.

мои переменные, объявлены до сетапа

unsigned long t;
unsigned long tLight;
boolean light;
boolean button;
boolean prev_button;

В программе, которую Вы представили этого не было - это раз.

В сетапе вы не назначили t  равным millis() -это два.

И вопрос - а почему?

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

mykaida пишет:

Zero-Botanik пишет:

Да, так я умею. Читаю, смотрю. Не все сразу выучу. 

В данном случае было очевидно, что выучу позже, чем получу ответ. И посмел в песочнице задать вопрос.

мои переменные, объявлены до сетапа

unsigned long t;
unsigned long tLight;
boolean light;
boolean button;
boolean prev_button;

В программе, которую Вы представили этого не было - это раз.

В сетапе вы не назначили t  равным millis() -это два.

И вопрос - а почему?

1. Не было, не хотел увеличивать код, но написано давно так. И подтяжки на плате я поставил не только на входы, но и на выходы.
2. Специально, я знаю, что надо все объявлять. Мне хотелось попробовать в реальной жизни. Я читал, что при старте необъявленные переменные равны нулю. Другого не видел. А сейчас и это не могу найти. ((

Но столкнувшись с такой одинаковой многократной задержкой не смог удержаться и не спросить опытных людей.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zero-Botanik пишет:

unsigned long t;
unsigned long tLight;
boolean light;
boolean button;
boolean prev_button;

Будьте любезны, привести скетч целиком!

Сколько можно над людьми издеваться?

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

а если так

unsigned long t;
boolean light;
boolean button;
boolean prev_button;

void setup() {
  delay(1000);
  pinMode(buttonPin, INPUT_PULLUP); 
  pinMode(lightPower, INPUT); 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
  t = millis();
}

void loop() {
  button = digitalRead(buttonPin);
  light = digitalRead(lightPower);

  if (button != prev_button && light == 1) {
    //t = millis();
    prev_button = button;
  }

  if ( millis() - t < 90000) { // время работы реле мс
    digitalWrite(ledPin, LOW);
  }
  else {
    digitalWrite(ledPin, HIGH);
  }
}

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Zero-Botanik пишет:

2. Специально, я знаю, что надо все объявлять. Мне хотелось попробовать в реальной жизни. Я читал, что при старте необъявленные переменные равны нулю. Другого не видел. А сейчас и это не могу найти. ((

Но столкнувшись с такой одинаковой многократной задержкой не смог удержаться и не спросить опытных людей.

Когда Вы столкнетесь с РЕАЛЬНОЙ проблемой Вы попадете на бабки, поскольку не читаете документы. Изначально переменные имеют случайные значения, которые отражают состояние процессора на момент загрузки.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

mykaida пишет:

Когда Вы столкнетесь с РЕАЛЬНОЙ проблемой Вы попадете на бабки, поскольку не читаете документы. Изначально переменные имеют случайные значения, которые отражают состояние процессора на момент загрузки.

Именно это я хочу, проверить все на простых примерах, чтобы потом "не попасть на бабки", как Вы выражаетесь. Я и проверял таким образом переменные. У меня в коде было t=0, но я закомментил эту строку сознательно.

Спасибо за ответ. Можете дать ссылку? Реально не могу найти это в поиске Гугла. Хоть на страницу любого учебника, где это написано.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ЕвгенийП пишет:

 

Будьте любезны, привести скетч целиком!

Сколько можно над людьми издеваться?

Извините, эти два куска и есть целый код. В следующий раз все выложу единым целым. Сейчас смысла нет, поскольку понятно, в чем причина, только все прячут исходник ))

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Valera19701 пишет:

а если так

...

Да, думаю, так все будет в порядке. Но мне не давала покоя именно одинаковая многократная задержка на старте в 9 секунд. 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Zero-Botanik пишет:

Именно это я хочу, проверить все на простых примерах, чтобы потом "не попасть на бабки", как Вы выражаетесь. Я и проверял таким образом переменные. У меня в коде было t=0, но я закомментил эту строку сознательно.

Спасибо за ответ. Можете дать ссылку? Реально не могу найти это в поиске Гугла. Хоть на страницу любого учебника, где это написано.

Раз - t  не должно быть равно нулю, а реальному значению при загрузке

Два - читайте документацию по си. А по простому - си назначает свободную область памяти для переменной, а чего там написано - это на совести программиста и рендома.

sadman41
Offline
Зарегистрирован: 19.10.2016

Глобалы и статики дефолтово инициализируются нулём. Остальные - как компилятору понравится.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

mykaida пишет:

Два - читайте документацию по си. А по простому - си назначает свободную область памяти для переменной, а чего там написано - это на совести программиста и рендома.

Спасибо и все же. Ткните меня в текст.

Все пишут читай, но ни один не дал ссылку на этот текст.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Valera19701 пишет:

а если так

unsigned long t;
boolean light;
boolean button;
boolean prev_button;

void setup() {
  delay(1000);
  pinMode(buttonPin, INPUT_PULLUP); 
  pinMode(lightPower, INPUT); 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
  t = millis();
}

void loop() {
  button = digitalRead(buttonPin);
  light = digitalRead(lightPower);

  if (button != prev_button && light == 1) {
    //t = millis();
    prev_button = button;
  }

  if ( millis() - t < 90000) { // время работы реле мс
    digitalWrite(ledPin, LOW);
  }
  else {
    digitalWrite(ledPin, HIGH);
  }
}

 

 

Еще раз просмотрел код. Очень красиво. А else заодно не надо убрать?

Блин, я пока так не могу писать. Только с реверансами :) которые выражаются в большем количестве строчек.

Но я обязательно научусь. Это вообще первый мой код для контроллера (по секрету). Не считая учебы, но там все далеко от действительности.

А зачем вы закомментили строку приравнивания (20)? В следующий раз реле разве включится? Разница больше не будет меньше 90с.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

mykaida пишет:
Изначально переменные имеют случайные значения, которые отражают состояние процессора на момент загрузки.

Это верно только для динамических (автоматических) переменных. Статические (в т.ч. и глобальные) инициализируются нулями. Это С++, не путайте.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zero-Botanik пишет:

Извините, эти два куска и есть целый код. 

Неправда. Здесь нет объявления переменных.

Zero-Botanik пишет:

смысла нет

Тогда и пытаться Вам помочь смысла нет.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ЕвгенийП пишет:

Тогда и пытаться Вам помочь смысла нет.

Виноват. Вот полный код до компиляции. Но я же в песочнице, давайте мне хоть какую скидку на ошибки. 
 

#define ledPin 4 // Выход на реле A2
#define buttonPin 3 // Вход датчика движения А3
#define lightPower 0 // Вход светочуствительного модуля

unsigned long t;
unsigned long tLight;
boolean light;
boolean button;
boolean prev_button;

void setup() {
  delay(1000);
  pinMode(buttonPin, INPUT_PULLUP);  // 10К на VCC
  pinMode(lightPower, INPUT);  // 10К на GND 
  pinMode(ledPin, OUTPUT);  // 10К на VCC
  digitalWrite(ledPin, HIGH);
}

void loop() {
  button = digitalRead(buttonPin);
  light = digitalRead(lightPower);
  tLight = millis() - t;

  if (button != prev_button && light == 1) {
    // delay(50);
    t = millis();
    prev_button = button;
  }

  if (tLight < 90000) { // время подсветки в миллисекундах
    digitalWrite(ledPin, LOW);
  }
  else {
    digitalWrite(ledPin, HIGH);
  }
}

 

sadman41
Offline
Зарегистрирован: 19.10.2016

У меня всё ок, не на тини, правда. Условие с сенсорами заремил, чтобы не мешалось, сразу в LOW щёлкает.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zero-Botanik пишет:
давайте мне хоть какую скидку

Это к Мегафону!

"В "Ашане" скидок не бывает, там всегда низкие цены" :-)))

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

sadman41 пишет:

У меня всё ок, не на тини, правда. Условие с сенсорами заремил, чтобы не мешалось, сразу в LOW щёлкает.

То то и оно!

Я на Нано отлаживал и в монитор смотрел, все ок было. А тут такие дела.

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

Специально ищу ошибки, чтобы понять кто их генерит. А вот тут сел в лужу. Но у меня тинек больше нет, скоро приедут, сделаю еще одну копию, посмотрю что там.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

ЕвгенийП пишет:

Это верно только для динамических (автоматических) переменных. Статические (в т.ч. и глобальные) инициализируются нулями. Это С++, не путайте.

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

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ЕвгенийП пишет:

mykaida пишет:
Изначально переменные имеют случайные значения, которые отражают состояние процессора на момент загрузки.

Это верно только для динамических (автоматических) переменных. Статические (в т.ч. и глобальные) инициализируются нулями. Это С++, не путайте.

Правильно ли я понимаю, что в моем случае переменная на старте должна принимать значение "0"?

И кто-нибудь снизойдет указать место, где это прочесть?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

mykaida пишет:

за неициированнеую переменную я бы в лоб давал. Не 

Трудно что-либо возразить :)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zero-Botanik пишет:

И кто-нибудь снизойдет указать место, где это прочесть?

Это просьба такая была?

Пожалуйста: International Standard ISO/IEC 14882:2017 «Programming languages — C++», §6.6.2, стр. 66 (ссылка на файл с этим документом имеется в первой теме раздела "Песочница").

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

ЕвгенийП пишет:

mykaida пишет:

за неициированнеую переменную я бы в лоб давал. Не 

Трудно что-либо возразить :)

а "умный" компилятор нас не спасает?

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ЕвгенийП пишет:

Zero-Botanik пишет:

И кто-нибудь снизойдет указать место, где это прочесть?

Это просьба такая была?

Пожалуйста: International Standard ISO/IEC 14882:2017 «Programming languages — C++», §6.6.2, стр. 66 (ссылка на файл с этим документом имеется в первой теме раздела "Песочница").

да, я уже испробовал разные формулировки просьбы предоставить ссылку на источник, Вы на эту откликнулись. Спасибо. Я обязательно прочту.

-----

Очень много предъявляется к новичкам при создании темы, в одну только сторону. Я не нашел ссылку в первой теме. Почему бы не скопировать ее сразу сюда? Вот что есть:

Для "нулевиков" в программировании и создании устройств на Ардуино:
Слоган маркетологов: "Каждая кухарка может программировать Ардуино", имеет право на жизнь, при условии, что кухарка изучила основы. Без них, не может даже академик.
Ниже, перечень литературы по Си и Ардуино, на разный уровень подготовки. Прочитайте хотя-бы одну (не справочники и шпаргалки).

Раздел "Программирование" данного форума (небольшой справочник по языку).
Предложенные пользователями форума:

Гололобов В.Н. О проекте Arduino для школьников (и не только) 2011
http://vgololobov.narod.ru/content/arduino/intro.html

Руководство по освоению Arduino 2012
http://robot-kit.ru/manual/Arduino_Sketch_Robot-kit.ru.pdf

Ещё выложил неплохую книгу Белецкого "Энциклопедия языка Си":
https://yadi.sk/d/7p0JU1dev2mFN

Керниган, Ритчи "Язык программирования СИ".

Здесь более подробный справочник по языку Arduino:
http://atmel.ucoz.ru/publ/spravochnik_po_jazyku/1-1-0-1

Онлайн-справочник предложенный ratman:  http://wikihandbk.com/wiki/Arduino? Кроме обзоров и примеров по языку, содержит описание и примеры многих функций и библиотек.

Шпаргалка по Ардуино 
https://sites.google.com/site/mechatronicsguy/arduinocheatsheet

книги  Programming language C++ я не вижу в этом списке.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Я нашел и прочел. Моя переменная глобальная. Значит при запуске ей присваивается ноль. То, что я закомментил t=0 не имеет значение. Вопрос не в том, как сделать чтобы программа работала правильно с самого начала, а почему одинаковая задержка старта.

Спасибо всем неравнодушным, кто отписался. Хотя этот бессмысленный тред можно было свести к 2-3 сообщениям. Но то было бы неверно, поскольку это есть глобальная переменная -"русскоязычный форум" со своими ISO стандартами :)))

Итак, ответ на свой вопрос про 9 секунд я не получил. Потому что никто не знает.

Это и есть ответ на самом деле.

Поищу еще.

sadman41
Offline
Зарегистрирован: 19.10.2016

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

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

sadman41 пишет:

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

Спасибо.
Плата уже установлена и работает. Полагаю часы верные, поскольку я проверял 90 секунд по реле. На таком большом промежутке работает все верно. То есть ошибка на 90 была сильно заметна при неверном тактировании.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zero-Botanik пишет:

Итак, ответ на свой вопрос про 9 секунд я не получил. Потому что 

Zero-Botanik пишет:
смысла нет

Вы неверно зашли, но так этого и не поняли. Жаль.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ЕвгенийП пишет:

Zero-Botanik пишет:

Итак, ответ на свой вопрос про 9 секунд я не получил. Потому что 

Zero-Botanik пишет:
смысла нет

Вы неверно зашли, но так этого и не поняли. Жаль.

Так поясните!

Простой вопрос: почему такая одинаковая задержка? Не хотите отвечать или не знаете, Ваше право. 

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Zero-Botanik пишет:

Итак, ответ на свой вопрос про 9 секунд я не получил. Потому что никто не знает..

 

А реле у вас, часом, не низким уровнем включается? 

Подключите вместо реле светодиод.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zero-Botanik пишет:
Так поясните!

Если Вы читали правила форума и продолжаете упорно их игнорировать, то что-либо пояснять

Zero-Botanik пишет:
смысла нет

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

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

asam пишет:

Zero-Botanik пишет:

Итак, ответ на свой вопрос про 9 секунд я не получил. Потому что никто не знает..

 

А реле у вас, часом, не низким уровнем включается? 

Подключите вместо реле светодиод.

Именно.

Не могу к сожалению, плата установлена, поясните пожалуйста, что может быть? Что Вы имеете в виду.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ЕвгенийП пишет:

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

Мне кажется, Вы ошибаетесь. Да, я выложил код полностью не в первых сообщениях. Да, моя вина новичка, не придал значения стартовым строкам. Но на то я новичок, а здесь песочница.

Я правда стараюсь, только Вы не можете посмотреть на ситуацию глазами новичка. Это как ребенка выпустить в новый мир - разбегается все: глаза, руки. Ноги ))))

Но Вы ведь заметили, что даже несмотря на то, что я сначала написал только основную часть кода, остальная информация не повлияла на суть? 

Все свелось к инициализации переменной. Поэтому я написал фразу "не имеет смысла", но Вы уцепились за нее и пытаетесь постоянно указать на это. Вас это обидело? Извините, и в мыслях не было.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Zero-Botanik пишет:

asam пишет:

Zero-Botanik пишет:

Итак, ответ на свой вопрос про 9 секунд я не получил. Потому что никто не знает..

 

А реле у вас, часом, не низким уровнем включается? 

Подключите вместо реле светодиод.

Именно.

Не могу к сожалению, плата установлена, поясните пожалуйста, что может быть? Что Вы имеете в виду.

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

Ну поменяйте, тогда, в setup()  digitalWrite(ledPin, HIGH); на  digitalWrite(ledPin, LOW);

И посмотрите как будет работать.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Код Вы выложили "с боем", а схему не выложили до сих пор. Так же нет никакой информации обо используемых деталях. Из того, что Вы новичок, люди не научатся без схемы и кода угадывать что у Вас там.

Zero-Botanik пишет:
остальная информация не повлияла на суть

Ну, правильно, ответа Вы так и не получили. Тем, кто пытался ответить - им не хватает информации, а многие не заморачиваются что-то объяснять (как я сейчас, сдуру), а просто не вникают и игнорируют тему.

Вы постоянно пытаетесь мне что-то доказать - не надо. Если Вы хотите получить ответ на вопрос, Вы должны выложить код, схему ( о по требованию, и фото сборки) и предоставить информацию об используемых деталях. Без этого тема превращается в гадание на кофейной гуще на 100 страниц. Это факт. Просто примите его и не доказывайте мне ничего, ладно.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

asam пишет:

Zero-Botanik пишет:

asam пишет:

Zero-Botanik пишет:

Итак, ответ на свой вопрос про 9 секунд я не получил. Потому что никто не знает..

 

А реле у вас, часом, не низким уровнем включается? 

Подключите вместо реле светодиод.

Именно.

Не могу к сожалению, плата установлена, поясните пожалуйста, что может быть? Что Вы имеете в виду.

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

Ну поменяйте, тогда, в setup()  digitalWrite(ledPin, HIGH); на  digitalWrite(ledPin, LOW);

И посмотрите как будет работать.

Холодно там, уже -8 ))) и тесно в коробке.

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

Не имея опыта, можно я предположу? Думаю, ничего не поменяется. Низкий уровень из-за того, что модули реле Ардуино так удобно включать. Но что именно произойдет при смене схемы включения? Подтяжки все стоят, мультиметром все было хорошо. Не могу представить.

Я выступаю за "совпадение неизвестных обстоятельств". Пока самый простой ответ. Монитор порта не работает, как бы вот внутрь тиньки заглянуть?..

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

ЕвгенийП пишет:

Код Вы выложили "с боем", а схему не выложили до сих пор. Так же нет никакой информации обо используемых деталях. Из того, что Вы новичок, люди не научатся без схемы и кода угадывать что у Вас там.

Zero-Botanik пишет:
остальная информация не повлияла на суть

Ну, правильно, ответа Вы так и не получили. Тем, кто пытался ответить - им не хватает информации, а многие не заморачиваются что-то объяснять (как я сейчас, сдуру), а просто не вникают и игнорируют тему.

Вы постоянно пытаетесь мне что-то доказать - не надо. Если Вы хотите получить ответ на вопрос, Вы должны выложить код, схему ( о по требованию, и фото сборки) и предоставить информацию об используемых деталях. Без этого тема превращается в гадание на кофейной гуще на 100 страниц. Это факт. Просто примите его и не доказывайте мне ничего, ладно.

Ладно.

Zero-Botanik
Zero-Botanik аватар
Offline
Зарегистрирован: 02.11.2019

Схема. К сожалению, под рукой ничего нет, чтобы сейчас отрисовать лучше. Фото из интернета, максимально приближенные к реальным.

Все входы и выход подтянуты через резистор 10К к земле или +питания, в комментах кода есть указание, какой куда.