Стробоскоп из ЛЕД на Ардуино

zumiraks
Offline
Зарегистрирован: 27.12.2018

Сделал стробоскоп по типу как на дискотеках. Если назначаю мигать диод на 13-м пине, все работает как часики. Как только назначаю 12-й пин и припаиваю к нему транзистор - пульт работает раз через десять.

Энкодер у меня не припаян

#include <IRremote.h>
#define CLK 3  // Clock Подключаем к INT1, нельзя переназначать
#define DT 4  // второй вывод энкодера
#define SW 5  // switch кнопка энкодера

#define Min 1 // минимальное значение 
#define Max 20000 //максимальное значение
#define led_pin 12        // подключен светодиод
#define coil_pin A0

#define step_freq 1       // шаг изменения частоты плавно 0,1гц
#define step_timelght 100 // шаг приращивания в мкс
volatile int freq = 250; // частота в Гц умноженная на 10, для более плавной настройки
volatile uint32_t paus, time_light=2000; // время свечения светодиода в мкс
uint32_t oldcount;
boolean DT_last; // последнее состояние энкодера
int RECEIVE_PIN = 2;
int val;
IRrecv irrecv(RECEIVE_PIN);
decode_results results;
 
void setup() {
    irrecv.enableIRIn();
    val = 0;
     pinMode(CLK,INPUT_PULLUP); // Clock Подключаем к INT1, нельзя переназначать
  pinMode(DT, INPUT_PULLUP); // второй вывод энкодера
  pinMode(SW, INPUT_PULLUP); // кнопка энкодера
  pinMode(led_pin, OUTPUT);    // управление симистором
  pinMode(coil_pin, OUTPUT);

  attachInterrupt(1, encoderTick, CHANGE); // прерывания от Энкодера
  
  DT_last = digitalRead(CLK);         // считываем положение CLK
}
 
void loop() {
  paus=5000000/freq;
    digitalWrite(coil_pin, val);
    digitalWrite(led_pin, val);
    
    oldcount = micros();
    while( (micros() - oldcount) < time_light){}   // длительность импульса выдержки          
    digitalWrite(led_pin, 0);
    while( (micros() - oldcount) < paus){}  // положительный полупериод
    digitalWrite(coil_pin, 0);
    
    oldcount = micros();
    while( (micros() - oldcount) < paus){} //отрицательный полупериод
    if (irrecv.decode(&results)) {
 
        switch (results.value) { //вкл/выкл с ик пульта
            case 0x807FC837:
            if (val == 1){
            val = 0;
            }
            else{
            val = 1;
          }
          delay(50);
            break;
        }
        irrecv.resume();

}
}
//********************обработчики прерываний Энкодера*******************************

void encoderTick()     // Обратка прерываний от Энкодера
{
  uint8_t DT_now = digitalRead(CLK);       // считываем текущее положение CLK
  
  if (DT_now != DT_last && digitalRead(SW))   // если предыдущее и текущее положение не равны, значит был поворот 
  {                     
    if (digitalRead(DT) != DT_now)    // если DT не равен CLK, значит вращение по часовой стрелке
    {                             
      if( freq < Max ) freq += step_freq;    // прибавить 
    } else {                                   // если DT равен CLK, значит вращение против часовой
             if( freq > Min ) freq -= step_freq;  // убавить            
            }
  } else 
          if (DT_now != DT_last && !digitalRead(SW)) //если нажата кнопка и было вращение
          {
           if (digitalRead(DT) != DT_now)         // если DT не равен CLK, значит вращение по часовой стрелке
            {                             
              if( time_light < paus ) { time_light += step_timelght; } // убавить длительность           
            } else  if( time_light > 0 ) time_light -= step_timelght;    // прибавить длительность импульса выдержки/
          }
          
  DT_last = DT_now;                   // сохранить положение CLK для следующей проверки
}  

ВН
Offline
Зарегистрирован: 25.02.2016

zumiraks, ОПАСНАЯ ДЛЯ ЖИЗНИ СХЕМА !!!

нужно немедленно прекратить эксперименты !!!

тебе сколько лет?

zumiraks
Offline
Зарегистрирован: 27.12.2018

да я в неё руками не лезу. Тем более она работает, просто не стабильно. Меня интресует почему при подключении нагрузки, стабильность срабатывания с пульта начинает храмать.

А лет 20.

ВН
Offline
Зарегистрирован: 25.02.2016

как нарисовано, сетевая часть вообще не должна работать.

если схему где-то брал, то ссылка на оригинал желательна

20,ок, а то тут пробегают и 15-ти лет, если не меньше .  

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

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

 

 

ВН
Offline
Зарегистрирован: 25.02.2016

не спеши asam, там ток может быть очень приличный

zumiraks, сетевая схема, сама по себе, если закоротить транзистор, работает? свтодиоды горят?

zumiraks
Offline
Зарегистрирован: 27.12.2018

схема лед лампы просто картинка с гугла. 

http://cyber-place.ru/showthread.php?t=2703 - тут про стробоскоп.

zumiraks
Offline
Зарегистрирован: 27.12.2018

ардуинка отдельно работает. схема лампы работает без перебоя. мало того, это все работает и вместе. но мне нужно чтобы при танцах, страбоскоп включился пультом с первого раза, а не с х.. знает какого. На 2-м пине у меня подключен ИК приемник. 

ВН
Offline
Зарегистрирован: 25.02.2016

от чего питается ардуина? и она, как и нарисована, соединена с сетевой схемой только 1 проводом в базу транзистора?

zumiraks
Offline
Зарегистрирован: 27.12.2018

Питается ардуинка через ЮСБ. Ну и кончно же минус ардуино соеденен с эмитором транзистора

ВН
Offline
Зарегистрирован: 25.02.2016

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

 

zumiraks
Offline
Зарегистрирован: 27.12.2018

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

ВН
Offline
Зарегистрирован: 25.02.2016

попробуй разобраться с током своих светодиодов I=200/Risens  мА ,возможно хватит оптрона, как предлагал asam

zumiraks
Offline
Зарегистрирован: 27.12.2018

да я просто сделаю по схеме оптосимистер+симистер. схема првереная, должно сработать)

 

ВН
Offline
Зарегистрирован: 25.02.2016

ок

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

Смелые у нас люди, что ни говори!

bwn
Offline
Зарегистрирован: 25.08.2014

zumiraks пишет:

да я просто сделаю по схеме оптосимистер+симистер. схема првереная, должно сработать)

Не должно. Пока через тиристор-симистор течет ток, он не закроется.((((

И вообще идея бредятиной отдает. При разрыве потребляющей цепи начинается лотерея, что сдохнет от выброса на катушке первым: транзистор, ключ в мелкосхеме или диод?

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

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

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

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

ВН
Offline
Зарегистрирован: 25.02.2016

У женщин и детей сопротивление кожи меньше, чем у мужиков. там где тебя, меня только тряхнет, их может и убить.

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