Добрый день.
Есть светодиодик BL-L2519EGW двуцветный биполярный, подключенный через резистор к выходам D2 и D3. Светодиод должен отображать состояние системы. Подключил его по схеме, представленной ниже - и увы не горит. Несмотря на состояние d2/d3(low), на пине висит 2.3 Вольта, и естественно индикации нет. Думаю, надо подтянуть резистор к земле, но как сделать чтобы не выжечь вход… Прошу совета.
b707
02.Февраль.2023 08:02:36
2
Вы считаете, что если и на 2 и на 3 - LOW - он должен гореть?
Кроме подключения по схеме нужен ещё управляющий код для МК.
Естественно там либо
d2(low)
d3(high)
или
d2(high)
d3(low)
Не переходите на оценки. Дело не в коде. Перехожу от пары светодиодов к двуцветному светодиоду. На обычных светодиодах всё работает.
Кусок кода ниже, условие state в данный момент железно задано 1.
void detector() {
switch (state) {
case 1:
analogWrite(loadPin, 15);
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, LOW);
break;
case 2:
analogWrite(loadPin, 255);
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
break;
default:
analogWrite(loadPin, 0);
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
break;
}
}
Anton.M:
Кусок кода ниже
Кусок совета: pinMode. И рыбу ешь, чтоб голова работала не так как сейчас.
2 лайка
Ну вы совсем меня за ламера принимаете. Чесслово, че с форумом за 2 года отсутствия произошло… Поуважительнее можно?
Естественно все там правильно.
int redPin = 2;
int greenPin = 3;
int loadPin=9;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(loadPin, OUTPUT);
}
void loop() {
detector();
state = 1;
}
Значить, естественно и работать должно.
2 лайка
Anton.M
02.Февраль.2023 08:29:42
11
Еще раз. Проблема не с программной частью, а с электрической. С обычными диодами всё работает. Речь о применяемости двухпинового двухцветного диода.
Anton.M
02.Февраль.2023 08:31:52
13
sadman41:
Что же тут правильного?
byte state = 1; естественно. ошибся при копировании.
Ну, если у 99.9% форума двухпиновые двухцветные светодиоды работают намайна, а у тебя нет, какие выводы можно сделать?
2 лайка
Anton.M
02.Февраль.2023 08:32:47
15
Покажите примеры? Что то поиск не показывает вашу правоту.
ты их пробовал для начала без всякой ардуины поключать к 5В через резистор?
2 лайка
Anton.M
02.Февраль.2023 08:35:51
17
при подачи от автономного источника горит, характеристики потребляемого тока соответствуют. проблема в наличии на пине 2.3 вольт. откуда блин они не понятно. конечно, можно через транзисторную развязку сделать, но это костыль будет.
Anton.M:
byte state = 1
И опять нет. Локальная переменная не может попасть в функцию.
Если вы на ходу в форум код дописываете, то вероятны и другие ляпы, как в монтаже, так и в прошивке. А гадалок тут всех извели.
b707
02.Февраль.2023 08:58:23
21
Сколько там должно быть, по вашему?
5в питание, 2.7 падение на диоде… дальше сами посчитаете?
У вас диод на 150 мА, а ардуина может выдать не более 40…Так что Дед резковат, но по сути прав.
Как раз в коде. Вы не настроили выходы на OUTPUT
Виноват Ниже увидел код
Anton.M:
Естественно все там правильно.
int redPin = 2;
int greenPin = 3;
int loadPin=9;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(loadPin, OUTPUT);
}
void loop() {
detector();
state = 1;
}
Естественно неправильно. Функция detector
не определена и код не компилируется.
Вы тут человек новый и правил не знаю, поэтому я Вам “один умный вещь скажу …”
Правило тут таково. Или Вы выкладываете полный код, на котором видна проблема, или идёте на хер.
Выбор за Вами!
1 лайк