"Тлеют" незапитанные светодиоды

Мужики, ничего не понимаю. Что Вы обсуждаете? Вроде ж на наскальном рисунке из поста #27 у красного светодиода нет никакого транзистора, зато резистор есть. А светится, как я понял именно он! Или там опять не схема, а мозготрах?

у меня устойчивое ощущение троллинга нас, одним из “обиженных” ранее, под разными аккаунтами.
ИМХО.

Теперь по коду (только я возьму версию из 45-го поста, с той – первой работать невозможно.

const int fr = 12;
const int ger = 10;
const int dh = 4;
const int skd = 7;
const int sw = 2;
const int sk = 8;
// Зачем переменные, которые используются только в одной функции
// делать глобальными? Тем более, с такими куцыми названиями?
bool fl;
bool fld;
int znw;

void setup() {
  pinMode(fr, INPUT);
  pinMode(ger, INPUT);
  pinMode(dh, INPUT);
  pinMode(sw, OUTPUT);
  pinMode(sk, OUTPUT);
  pinMode(skd, OUTPUT);
  Serial.begin(9600);
}

void loop() {
// -------------------
// Вся вот эта байда
//   int znf = digitalRead(fr);
//   if (znf == 1) {
//     fl = true;
//   } else {
//     fl = false; //проверка света в ванной
//   }
// Эквивалентна одной единственной строке
	fl = digitalRead(fr);

  //ВАННА
  // Неясно зачем здесь две переменные fld и znw?
  // Каждая из них потом используется только в одном месте
  // Оставить одну и использовать в обоих местах
  fld = znw = digitalRead(dh); // положение двери в ванной

// -------------------
// Вся вот эта байда
//   if (znw == 1) { 
//     if ( fl == false ) {
//       digitalWrite(sw, HIGH);
//     } else {
//       digitalWrite(sw, LOW);
//     }
//   } else  {
//     digitalWrite(sw, LOW);
//   }
// Эквивалентна одной единственной строке
	digitalWrite(sw, znw ? !fl : LOW);

// Это у нас уже ушло
  // Serial.print( znf); // 
  Serial.print( znw  );

  //КОРИДОР

// Напишу в одном месте, но касается всех подобных мест.
//	Не стоит писать "if (znk == 0)" это Вы сейчас помните,
// что это означает и то, 0 с 1 запросто перепутать можете.
// В этих случаях (а у Вас их много) пишется onlie функция
// А здесь только используется. например где-то выше loop пишете
//
//	inline doorIsOpened(void) {
//		return digitalRead(ger) == 0;
//	}
//
// А здесь пишете 
//	
//	if (doorIsOpened()) { ...
//
//	Сравните понятность и читабельность!
  int znk = digitalRead(ger);
  if (znk == 0) {
    if (fl == true || fld == 1) {
      digitalWrite(skd, HIGH);
      delay(150);
      digitalWrite(skd, LOW);
      delay(90);
    } else {
      digitalWrite(sk, HIGH);
      delay(5000);
    }
  }  else {
    digitalWrite(sk, LOW);
    digitalWrite(skd, LOW);
  }
  Serial.println(sw);
  Serial.print(  znk);
}

Ну, тогда я лопухнулся, комментируя код :frowning:

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

елки зеленые))
ну не обмануть этих умников ))
че ты всегда “вскрываешься” без “помучать”?

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

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

А светятся (“тлеют”) белые светодиоды. Которые по три последовательно. Кстати, только что собрал схему опять; померил напряжение на эмитор-коллекто, при выкюченных св.диодах (но “тлеющих”) -1,7 v . А управляющий с платы на базу (до резика) 0,08 v (ничто)

Спасибо! Потом сменю. А чего нельзя -не сказали?

Нет никакого троллинга!!! -не занимаюсь!

Такое ощущение, что я недостаточно ещё объясняю!

Вот собрал опять схему -всё работает отлично -это по коду! Правда там ещё с фоторезистором надо разбираться…

Одна большая проблема -тлеют эти 6 (2 по 3) св.диодов.

Да-да… я понял, знаю эту условность.

Эту схему я рисовал для себя. потом, как зашёл на форум и в процессе кинул её вам сырую -не доделанную для общего форума.

Ты так и не назвал модель/марку светодиодов и их характеристики.

3 мм на 3вольта 20мА

Вот -для контраста -одни работают -включены; другие тлеют -отключены.

на озоне покупал. больше ничего сказать не могу.

Я в ардуино меньше пол года назад начал изучать -на всё пока времени нету.

Я ввёл дополнительный “флажок” чтобы включая светодиоды в коридоре, было условие что флажок опущен -что значит -свет в ванной не горит. Если горит (флажок поднят) -включается красный св.диод. Если не горит -белые

Вот для этого:

-мне надо знать что горит -свет лампочки в ванне (очень яркая) или св.диоды.

Для этого я подбираю для фоторезистора подходящее полузатемнённое место где бы он срабатывал на яркий свет лампочки и не срабатывал на сами св.диоды, дающий слабое освещение. то есть чтобы эти св.диоды сами через фоторезистор не давали сигнал -поднять флажок (мол, свет включен). Чтобы сами св.диоды своим светом не гасили себя через фоторезистор. Короче -одна переменная для лампочки, другая для св.диода. "(но не на сам сигнал св.диода, а на датчик Холла, который показывает что дверь приоткрыта и включает св.диоды).

С фоторезистором я потом ещё буду разбираться. я ему оставил вывод чтобы потом подсоединить к аналоговому пину чтобы регулировать чувствительность, чтобы сделать универсальным для двух “интенсивностей света”.

Ха! А вытащите в этом режиме один из светодиодов из макетки. Хот горящий, хоть “тлеюший”.


-тлеют белые

И что ждать?
-один из белых… и выключились остальные два…
Красный вообще… “независимый эксперт”..

Фото с вытащеным “тлеющим” и горящими ярко рядом. Без вспышки.

Я вспышку не включаю -телефон сам меняет свет.



три рядом тоже горели и не меняли интенсивность.