Вопрос по коду для светодиодов

Kruppa
Offline
Зарегистрирован: 18.12.2015

Добрый день!

Подскажите, пожалуйста, хочу включать разные светодиоды при временной подаче напряжения (5В) на пин.

Составил код, но диоды работают, как они сами хотят)

boolean x= true;
boolean y= false;
boolean z= false;

void setup()
{
      pinMode(2, INPUT);
      pinMode(3, INPUT);
      pinMode(4, INPUT);
      pinMode(12, OUTPUT);
      pinMode(11, OUTPUT);
      pinMode(10, OUTPUT);
}

void loop() {

  if (digitalRead(2)==HIGH)
        {
          delay(10);
          x=true;
          y=false;
          z=false;  
        }
  if (digitalRead(3)==HIGH)
        {
          delay(10);
          x=false;
          y=true;
          z=false;  
        }
       
  if (digitalRead(4)==HIGH)
        {
          delay(10);
          x=false;
          y=false;
          z=true;  
        }

//////////////////////////////
  if (x==true)
  {
    digitalWrite(10,HIGH);

  }
  else
  {
    digitalWrite(10,LOW);
  }

////////////////////////////////
  if (y==true)
  {
    digitalWrite(11,HIGH);

   }
   else
   {
    digitalWrite(11,LOW);
   }

//////////////////////////////
  if (z==true)
  {
   digitalWrite(12,HIGH);
  }
     else
   {
    digitalWrite(12,LOW);
   }

    
}
 
///////////////////////////
 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012
SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

а куда подключены пины 2,3,4 ?

Kruppa
Offline
Зарегистрирован: 18.12.2015

Понял, сейчас исправлю!)

Kruppa
Offline
Зарегистрирован: 18.12.2015

Да, входящие - да!

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

убери все задержки по 10 , а в конце лупа добавь задержку на 500 хотя бы
пин в воздухе - это антенна - вот и скачут СД от помех

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

добавь в сетапе digitalWrite( 2 , HIGH ) - а кнопку от пина 2 на GND
в условиях проверок кнопок сравнивай с LOW

Kruppa
Offline
Зарегистрирован: 18.12.2015

Спасибо! Сейчас попробую)

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

Kruppa пишет:

диоды работают, как они сами хотят)

Как почётный борец за права диодов ответсвенно заявляю - так и должно быть. Свободу диодам!

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

хочу включать разные светодиоды при временной подаче напряжения (5В) на пин.
если ТАК - то пины 2,3,4 подтянуть к GND через резисторы по 10 k , а кнопки - от пина к +5
и оставить сравнение с HIGH

предложенное выше - будет работать для включать разные светодиоды при временной подаче напряжения (0 В) на пин.

Kruppa
Offline
Зарегистрирован: 18.12.2015

Исправил код, работает только один диод:(
 

boolean x= true;
boolean y= false;
boolean z= false;


void setup() 
{
      pinMode(2, INPUT);
      pinMode(3, INPUT);
      pinMode(4, INPUT);
      pinMode(12, OUTPUT);
      pinMode(11, OUTPUT);
      pinMode(10, OUTPUT);
      digitalWrite(2 ,HIGH);
}

void loop() {

  if (digitalRead(2)==HIGH)
        {
          x=true;
          y=false;
          z=false;  
        }
  if (digitalRead(3)==HIGH)
        {
          x=false;
          y=true;
          z=false;  
        }
       
  if (digitalRead(4)==HIGH)
        {
          delay(10);
          x=false;
          y=false;
          z=true;  
        }

//////////////////////////////
  if (x==true)
  {
    digitalWrite(10,HIGH);

  }
  else
  {
    digitalWrite(10,LOW);
  }

////////////////////////////////
  if (y==true)
  {
    digitalWrite(11,HIGH);

   }
   else 
   {
    digitalWrite(11,LOW);
   }

//////////////////////////////
  if (z==true)
  {
   digitalWrite(12,HIGH);
  }
     else 
   {
    digitalWrite(12,LOW);
   }



delay(500);
}
  
///////////////////////////

 

Kruppa
Offline
Зарегистрирован: 18.12.2015

а не, всё заработало, это я ляп допустил)
Спасибо!!!)

Kruppa
Offline
Зарегистрирован: 18.12.2015

У меня такой еще вопрос, если провод будет не тестовый (на 10 см), а метров на 15, схема будет работать?))
 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

что за провод ?

Kruppa
Offline
Зарегистрирован: 18.12.2015

Провод, подводящий сигнал на пин ардуинки. И провод, выкодящий на диод.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

от чего подводится сигнал ? и почему одним проводом ?
на диод тоже должно выходить ДВА провода !
их длина от ардуины до светодиода повлияет только на яркость свечения ( провода имеют своё сопротивление )
сопротивление провода - прямопропорционально его длине....

Kruppa
Offline
Зарегистрирован: 18.12.2015

А на качество входящего на  пин не повлияет?

Да, я согласен, неправильно написал, два провода на светодиод))

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

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

Kruppa
Offline
Зарегистрирован: 18.12.2015

Китайцы..да.
Но я про то, что напряжение-то упадет и не будет на входящем пине 5В, а будет 3 или даже 2В.
Будет ли работать программа также, при таком малом сигнале?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Kruppa ,   от чего подводится сигнал ? и почему одним проводом ?

Kruppa
Offline
Зарегистрирован: 18.12.2015

Сигнал хочу подводить от концевиков, которые будут на 3-м и 2-м этажах (этаж - 4 метра).

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

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

а испытываешь как ? как подсоединён имитатор концевика ?
за чем будут следить концевики ?

Kruppa
Offline
Зарегистрирован: 18.12.2015

Концевик будет следить за платформой, как платформа поднимается, грубо говоря на второ этаж, загарается лампочка, возле цифры 2. Я пока не испытывал никак, не могу понять, вообще справится ли с такой задачей ардуинка или нет, так как сопротивление будет приличным. Но сейчас нет под рукой расчетных материалов, чтоб даже приблизительно посчиать сопротивление и нет таких сопротивлений под рукой тоже) Только на 220 и 1К ОМ)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

понятно... не охрана...
тебе нужно на каждый концевик резистор и оптопара PC817 - тогда длина провода не будет влиять

наконец-то ты обрисовал задачу !!!!!!!!!
....под пытками , правда :)

Kruppa
Offline
Зарегистрирован: 18.12.2015

страшно же обрисовывать)))) А то помидорами закидаете )))
А нет ничего попроще, чем оптопара?)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

да уже закидали , хорошо что пока не какашатами...

есть ! просто провод...
....с кучей наводок-помех с провода-"антенны"

Kruppa
Offline
Зарегистрирован: 18.12.2015

а если концевики поставить на 220В, а возле ардуинки 220-вольтовые реле?
Которые и будут замыкать контакты этой схемы? Контакты, разуеется, 5-вольтовые))

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Контакты, разуеется, 5-вольтовые))
таких не бывает... бывают - что подсоедините - то и будет ( но не более напруги пробоя )

можно и так... а зачем ? накопились релюхи в закромах ? хочется слышать как платформа прибывает на этаж ?

Kruppa
Offline
Зарегистрирован: 18.12.2015

Да не, хочется видеть))
Чтоб цифра загоралась, превый этаж - 1, второй этаж -2, третий - 3)
Прям как на лифтах)

Kruppa
Offline
Зарегистрирован: 18.12.2015

А реле недорого стоят вроде, 130  рублей/штука. Для таких подъемных платформ - это мелочь

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

оптрон - 17 р.

Kruppa
Offline
Зарегистрирован: 18.12.2015

Знать бы еще, как его вставить в эту цепь)) Пока мысли закончились.
Ну предположим, стоит концевик, мы его замыкаем и напряжение подается на ... дальше мои познание заканчивают, как там ставить оптпару?))

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

переделать код под управление НУЛЁМ - выше читай ( экономия на каждый этаж - резистор )

1-ая цепь датчика - +5 ардуины - ушли в шахту - концевик - вернулись из шахты -
- резисторХХХ - анод светодиода PC817 - катод светодиода PC817 - GND ардуины
2-ая цепь датчика - эммитер фототранзистора PC817 - на GND ардуины , коллектор фототранзистора PC817 - на пин
...резистор не нужен - используется внутренний ( МК-лера ) резистор на 20 k ( если прописать digitalWrite( пин , HIGH )

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

резисторХХХ должен ограничить ток фотодиода до 5...10 mA
( для 3-ёх этажей - все три одинаковые , для 101-го этажа нужно учесть сопротивление проводов )

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

прямо спрашивай , а не "Знать бы еще, как его вставить в эту цепь))" :)-

Kruppa
Offline
Зарегистрирован: 18.12.2015

хм, очень интересная схема.
А разве можно по этому принципу поставить несколько оптопар? У них уникальный какой-то светокод?
У меня же там три концевика на трех этажах)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

хе-хе-хе...
А разве можно по этому принципу поставить несколько оптопар?
на 101 этаж - можно , на 102 - нужна предоплата :)
У них уникальный какой-то светокод?
нет ! от них , от каждого , сигнал приходит на разные пины....
У меня же там три концевика на трех этажах)
а на реле - меньше проводов будет чоли ?

Kruppa
Offline
Зарегистрирован: 18.12.2015

Я согласен, забавно) Мало того, что плохо представляю, как работают оптроны, так уже и голова не соображает)) Ладно, завтра разберусь!)
Просто Огромное спасибо за помощь!))

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

дык , держи в тепле НОГИ , а мозг потребляет ~25 W , его охлождать надо периодически....