Перейти к содержанию

MolodoyElectrik

Members
  • Постов

    68
  • Зарегистрирован

  • Посещение

Электроника

  • Стаж в электронике
    Менее года

Посетители профиля

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

Достижения MolodoyElectrik

Стажер

Стажер (3/14)

  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

0

Репутация

  1. @Vascom Просто мне несколько таких линий надо, на одну линию не хватает мосфета, вот я и спрашивал про транзистор.
  2. Та у меня не хватает одного мосфета, но есть вот такие транзисторы...
  3. @Vascom Такой подойдет 2SC1384, Транзистор NPN 50В 1А, [TO-92] https://www.chipdip.ru/product/2sc1384 Еще вопрос, мне надо впаять около 200 светодиодов 0603 smd, есть фен и паяльник с регулировкой. Нет паяльной пасты, идет с Китая, а у нас она уж очень дорого стоит. Каким вариантом вы бы воспользовались для пайки? Паял паяльником компоненты 0805, вроде норм, но не 200 штук. Много по времени наверно займет. Может еще какие варианты есть?
  4. А зачем два ключа? А не один? Мне надо чтоб они одновременно загорались.
  5. Здравствуйте дорогие форумчане. Подскажите пожалуйста, есть 18 светодиодов smd 0603 20ма, нужно чтоб они кратковременно загорались все вместе по сигналу от ардуино. Как я понял выход у ардуино терпит максимум 40ма. Еще есть источник питания 42в, который питает мотор. Выход 1 получается, подключать через мосфет к 42в. Как я понял, тут лучше подключать последовательно их, чтоб меньше резисторов было в цепи. Тогда как подключать? Получается им надо 58в где то. Поставить стабилизатор тока типа lm, и дальше еще повышающий преобразователь? Посоветуйте пожалуйста.
  6. Всем привет! Подскажите пожалуйста, имеется источник питания 42в, к нему подключен мотор (через контроллер), параллельно надо подключить 8 светодиодов через стабилизатор тока, раньше питание было 29в, и я использовал lm317 для стабилизации, но так как у него вход ограничен на 40в, а у меня 42в, то он не подходит. Можно ли его подключить через резистор (8ом) или это будут потери для двигателя (чего бы не хотелось), или стоит приобрести LM317HVT/NOPB https://www.chipdip.ru/product/lm317hvt-nopb (у него до 60в вход)?
  7. Уже сделал через : else { digitalWrite(LED_PIN5,LOW); digitalWrite(LED_PIN6,LOW); digitalWrite(LED_PIN7,LOW); digitalWrite(LED_PIN8,LOW); digitalWrite(LED_PIN9,LOW); } Не знаю, с правильно ли так выполнять остановку, но работает.
  8. Отличается тем, что в INPUT_PULLUP включается встроенный резистор. Но я его включил так: digitalWrite(LED_PIN4, HIGH);
  9. Все точно что то с обработчиком. Это: void loop() { if (bouncer.update()) { if (bouncer.read()==0) { blinkLed(); } } if (bouncer1.update()) { if (bouncer1.read()==0) { linLed(); } } } Поменял на: void loop() { bouncer.update(); bouncer1.update(); if (bouncer.read()==0) { blinkLed(); } if (bouncer1.read()==0) { linLed(); } } Мигает хорошо, но когда отжимаешь то функции останавливаются на последнем действии, то есть linLed(); там где 4 светодиода горит последний включенный так и горит. А в blinkLed(); (мигание светодиода), если при отжимании кнопки попал на горение светодиода, то он так и остается гореть. @skripach Та я уже смотрел как подключаются через 5v , но там спорный вопрос, на другом форуме не одобрили.
  10. @skripach Вообщем что получается. На void linLed поясню. Нажимаешь кнопку - зажигается один светодиод. Отжимаешь - он так и горит. Нажимаешь еще раз - загорается второй светодиод, первый перестает) С другой функцией - нажал светодиод просто горит, отжал не горит. По схемам все впорядке - что то с обработчиком кнопок. Если убрать кнопки из void loop, просто оставить : void loop() { blinkLed(); linLed(); } То все работает шикарно.
  11. Всем привет! Подниму тему. Попытался воткнуть 2 кнопки, для управления void blinkLed и void linLed. Вообще лажа какая то получается. не работает по нормальному. Что такое? Нужно чтоб когда нажимаешь 1 кнопку начинал мигать 1 светодиод (void blinkLed), отжимаешь - перестает. Тоже самое с кнопкой 2 и светодиодами void linLed. #include <Bounce2.h> Bounce bouncer = Bounce(); Bounce bouncer1 = Bounce(); #define LED_PIN2 2 #define LED_PIN3 3 #define LED_PIN4 4 #define LED_PIN5 5 #define LED_PIN6 6 #define LED_PIN7 7 #define LED_PIN8 8 #define LED_PIN9 9 #define LED_PIN10 10 #define LED_PIN11 11 #define LED_PIN12 12 #define LED_PIN13 13 #define LOW_INTERVAL 350 #define HIGH_INTERVAL 70 #define HIGH_INTERVALLIN 300 unsigned long prevTime; void setup() { pinMode(LED_PIN2, INPUT); digitalWrite(LED_PIN2, HIGH); pinMode(LED_PIN3, INPUT); digitalWrite(LED_PIN3, HIGH); pinMode(LED_PIN4, INPUT); digitalWrite(LED_PIN4, HIGH); pinMode(LED_PIN5, OUTPUT); pinMode(LED_PIN6, OUTPUT); pinMode(LED_PIN7, OUTPUT); pinMode(LED_PIN8, OUTPUT); pinMode(LED_PIN9, OUTPUT); pinMode(LED_PIN10, OUTPUT); pinMode(LED_PIN11, OUTPUT); pinMode(LED_PIN12 , OUTPUT); pinMode(LED_PIN13, OUTPUT); prevTime=millis(); bouncer .attach(LED_PIN2); bouncer .interval(5); bouncer1 .attach(LED_PIN3); bouncer1 .interval(5); } void loop() { if (bouncer.update()) { if (bouncer.read()==0) { blinkLed(); } } if (bouncer1.update()) { if (bouncer1.read()==0) { linLed(); } } } void linLed(){ static unsigned char var; switch(var) { case 0: digitalWrite(LED_PIN5, HIGH); if(millis()-prevTime>HIGH_INTERVALLIN){ prevTime=millis(); digitalWrite(LED_PIN5, LOW); digitalWrite(LED_PIN6, HIGH); var++; } break; case 1: if(millis()-prevTime>HIGH_INTERVALLIN){ prevTime=millis(); digitalWrite(LED_PIN6, LOW); digitalWrite(LED_PIN7, HIGH); var++; }break; case 2: if(millis()-prevTime>HIGH_INTERVALLIN){ prevTime=millis(); digitalWrite(LED_PIN7, LOW); digitalWrite(LED_PIN8, HIGH); var++; }break; case 3: if(millis()-prevTime>HIGH_INTERVALLIN){ prevTime=millis(); digitalWrite(LED_PIN8, LOW); digitalWrite(LED_PIN9, HIGH); var++; }break; case 4: if(millis()-prevTime>HIGH_INTERVALLIN){ prevTime=millis(); digitalWrite(LED_PIN9, LOW); if(++var==5)var=0; }break; default: var=0; break; } } void blinkLed(){ static unsigned long period= LOW_INTERVAL; // текущий интервал мигания static unsigned long prevMillis=0; if( (millis()-prevMillis)>=period){ prevMillis=millis(); digitalWrite(LED_PIN12,!digitalRead(LED_PIN12)); period=(period==LOW_INTERVAL)?HIGH_INTERVAL: LOW_INTERVAL; // чередуем LOW_INTERVAL/HIGH_INTERVAL } }
  12. @skripach Спасибо большое. Все работает. Щас буду изучать твой код. Надо вникнуть.
  13. Всем привет. Пишу скетч для ардуины, нужно чтоб 1 светодиод мигал постоянно, и 4 светодиода включались и выключались поочередно. Все должно происходить в одно время разумеется и Delay здесь не катит. Вот пример как должно быть только с delay: Сделал такой скетч: Тот который 1 светодиод мигает все хорошо, а вот с 4, которые должны подряд включаться какая то лажа) Где напортачил? Предыдущую тему не в том разделе создал, удалите пожалуйста.
×
×
  • Создать...