karomag

Токи 7-сегментного индикатора и портов МК

27 сообщений в этой теме

Shahabbas    213
1 час назад, mvkarp сказал:

Не обманывайте. Мы все же ровесники. :)

А я и не обманываю! В 1971 году ещё не было цифровых светодиодных индикаторов. По крайней мере я их нигде не видел и ничего о них не слышал!

Изменено пользователем Shahabbas

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
mvkarp    3 638

Рано начали. Похвально. Примерно в 1975 у меня дома появился семисегментный индикатор. Я им очень дорожил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: xybius
      Всем привет!
      Не так давно, лет 5 назад,  менял конденсаторы в усилителе Электроника 50у-017с и после их замены все работало отлично. Звук изменился в лучшую сторону, индикация стала лучше работать. Прошел год, я активно пользовался этим усилителем все было прекрасно, но в какой-то момент он перестал работать, я не знаю почему, вроде я в него и не лазил больше, и не перегружал его. Короче, усилитель просто тупо уходит в защиту при каждом его включении. Я что-то пытался делать: включал, выключал, менял акустику, но все оставалось без изменения. Потом я оставил всякую надежду на его поправку и поставил усилитель на полку в ящик. Так он и простоял у меня без ремонта 4 года. А сейчас свободного времени стало больше, появился новый усилитель и рисковать стало проще, поэтому я разобрал его и стал по советам с интернета проверять плату защиты мультиметром - намерил напряжения на концах и все, дальше я не знаю чего с ним делать. С электроникой, мягко говоря, не очень - как-то доводилось ремонтировать проигрыватель, который шел вместе с этим усилителем, но там было все несколько проще и я, используя форумы и интернет, сумел его отремонтировать. Усилитель хороший и всем мне нравится, а на ремонт денег пока нет, так что помогите советом, уважаемые форумчане!, может кто-то сталкивался с подобной проблемой или просто хорошо разбирается в электронике. Укажите куда копать.
      На вложенном файле схема платы защиты А8, в моем случае напряжения на концах: Кт1 - 5В, Кт2 - 5,1В, Кт3 - 28В, Кт4 - 28В, Кт5 - 5В, Кт6 - 28В. Сильно греются резисторы R35 И R36. Если что-то нужно заменить или проверить, пишите.

    • Автор: coderila
      Доброго времени суток, форумчане.
      Возник вопрос и желание припасть к источнику мудрости в лице практического опыта опытных форумчан.  
      Датчики тока по факту имеем 3 вида - шунты(резисторные) , активное сопротивление, датчик холла.  
      Вопрос: По  шунтам - из чего изготавливать нужного номинала шунт? Для границ возьмем токи от 100 мА до 10А. 
      Вопрос: Как можно сварганить активное сопротивление из "подручных" компонентов? Если можно практические советы, рекомендации. Ну тут понятно для низкольтных схем все это используется, с целью  избежания потерь при использовании шунтов.
      Вопрос: Есть ли тут темы с общей "копилкой" советов, рекомендаций в концентрированном виде, в виде "сливок", а не размазаной мудрости на 100 условных страниц? Что-то не могу найти таких.
       
      Спасибо.
    • Автор: east1095
      Здравствуйте, давно читаю форум, зарегистрировался только сегодня, хочу попросить советов у вас для очередной работы.
       
      1. Мощность 30 кВт, напряжение 2 кВт, 15 А ток.
      2. Планирую полумост;
      вопросы:
      1. Шим контроллер должен поддерживать регулировку к.заполнения, с заданным dU/dT, это планирую делать с МК, потому что в случае пробоя быстроействуюий ключ даст сигнал об остановке преобразователя, потом будет строб, потом пуск источника, при этом он должен выйти на напряжение на котором произошла остановка работы с более коротким (быстрее) dU/dT, это можно реализовать с МК, завести сигнал с датчика КЗ.
      При этом нужна регулировка напряжение и регулировка уставки максимального тока(в приципе в схеме защиты от КЗ она уже реализована)
       
      2. Полумоста хватит на такую мощность?
      3. Можно ли с помощью софта рассчитать трансформатор на такие характеристики? Lite_calcIT не осилил такую задачу.
      4. 1 трансформатор или набор модулей соединенных последовательно для обеспечения нужного напряжения?
      5. Ткните носом в краткую но понятную ветку/статью о резонансных и квазирезонансных и других типах схем, т.к. я недостаточно в этом подкован, немного другие интересы, однако.
       
      Заранее спасибо!
    • Автор: sergeistydent
      Всем привет , ребята подскажите такую ситуацию надо откомпилить прошивку в среде BASCOM-AVR а она весит 6 килобайт демо версия не пропускает, ну как бы там только одно значение надо изменить а в готовом хексе не могу найти, точнее я его вижу их там два значения я не знаю кого изменить ну это я так думаю что знаю, значение находитса в еепроме это цифра 70 она же в 16ричной 46 но в моем хексе две цифры 46 чтобы было проще понять я строю регулятор вентилятора пропорциональный он на меандре (сайте) там значение для старта нужно подобрать опытным путем от 55 до 95 вот его то нужно изменить в готовом хексе оно 70 как подскажете решить вопрос без баскома или без него некак
    • Автор: timoxa87
      Здравствуйте! Я занимаюсь организацией страйкбольных игр! 
      Идея: Сделать устройство работающее на радио частотах передающее информацию по рациям(цифровым, аналоговым)

      Задача: Нужно изготовить устройство №1 оборудованное двумя кнопками А и Б работающее на радио частотах от аккумуляторной батареи . При нажатии на кнопку А или Б всем по рации передается информация, что нажата кнопка А или Б! Нужно изготовить устройство №2 оборудованное двумя лампочками(индикаторами)  которое дублирует судьям соревнованию, что на устройстве №1 нажата кнопка А или Б

      Требования
      1. Устройство №1 должно передавать в радиусе 200 метров на устройство №2 цифровой сигнал , чтобы исключить наводки или помехи!
      2. Устройство №1 должно дублировать сигнал для аналоговых раций в виде звукового сообщения "Кнопка А включена" или "Кнопка Б включена" 



      Цена договорная!
  • Сообщения

    • Да. Нет. Нити накала ламп в холодном состоянии имеют сопротивление в 5 - 8 раз меньше, чем в горячем. Что и вызывает импульс тока при включении. Резистор же всегда имеет одинаковое сопротивление (в диапазоне рабочих температур, который оговорён в даташите). Точнее, ТКС (температурный коэффициент сопротивления) всё же имеется, но производители резисторов стремятся сделать его как можно меньше. Разумеется, скачки напряжения будут. Нужна грамотная разводка питания (сильноточные цепи должны идти отдельными проводами от слаботочных), развязывающие RC или LC фильтры, стабилизатор питания МК, который питает только МК. Зависит от КПД блока питания. При 100% - вообще тепла не выделит. Но таких не бывает. При типовых 80% - остаток (20%) и выделится в тепло. О какой скорости может идти речь, без учёта тепловой инерции нагреваемого тела (объёма)? Для справки - время установки режима термостатированных кварцевых генераторов обычно 15 минут.
    • А разве USB-разъемы питание от дежурки берут???
    • Это уже не тайные знаки,а тайный сговор высших сил получается
    • Ага, типа того: Сидят два ангела, скучают. - А давай вон того анодным от кинескопа пощекочем?! - Давай! - Смотри ка! Выдержал и рыпается ещё!! Давай ка к реннтгеновской установке "подключим"!? - Давай!! ...Ты смотри какой прыгучий и живучий!!! - А давай в него молнией попадём!!! - Давай!! Только лета надо будет дождаться, а то как они объснят в протоколе, что его шарахнуло молнией, зимой, дома, при очередном просмотре "Модного приговора" - никто ж не поверит, начнут копать, а там глядишь и до ГЛАВНОГО дойдёт, чем мы тут занимаемся !!! ... С уважением, Сергей
    • @Andrey 69 Если бы у нас сметана столько стоила,на неё наверное только и облизывались БЫ. У вас наверное всё привозное\в смысле ну Очень издалека ? Хотя всё относительно-доходы у вас выше(несоизмеримы с нашими),потому и расходы выше. (если не забуду-щелкну наши цены) ------------------------ Ну и немного позитива.  
    • Да цап от Мазилы "DYK DAC",  звучит очень хорошо, даже не ожидал если честно, с той акустикой что у меня сейчас с D47V3 пока сравнить по звучанию не выйдет, не тот уровень ,через недельку будет готова трех полоска от Крылова с Пирлесом 830869, купольном СЧ и Мореле ЕТ338, вот тогда будет и сравнение , но основным  цапом естественно у меня будет D47V3 ,"DYK DAC"  собрал чисто для сравнения почитав хорошие отзывы о нем, самому стало интересно.
    • Я надеюсь у Вас @ARV не пойдет кровь из глаз...   #include "main.h" char trig[4], butdown[4], //переменные для обработки нажатия на рычаг поворотника и кнопок code, old_code, //переменные кода команды prog_available=TRUE, count_right_prog, count_left_prog, prog_ini, prog_start,//переменные для режима программирования count_turn=10, count_thx, //переменные для чтения из eeprom accept_mode, accept_count, //переменные для режима подтверждения turn_count, long_ini=FALSE, //переменные для режима удлинения поворотника thx_count, thx_ini, //переменные для режима "Спасибо!" count_right, count_left; //переменные для счёта мыргов от правого и от левого поворотника int prog_available_count=0; uint8_t EEMEM turn; //переменная EEPROM для хранения количества повторений поворотника в режиме удлинения uint8_t EEMEM thx; //переменная EEPROM для хранения количества повторений аварийки в режиме "Спасибо" uint8_t get_button(void) { return PINB & ANY_K; } void press_button() //функция обработки нажатия на кнопку спасибо или включение заднего хода { if(PINB&(1<<THX_REAR)) //опрос входа от кнопки спасибо\заднего хода { if(trig[THX_REAR]==OFF) { if(butdown[THX_REAR]<LONG) { butdown[THX_REAR]++; _delay_ms(10); } else //обработка при включении заднего хода { trig[THX_REAR]=ON; PORTB|=(ON<<LEFT_OUT)|(ON<<RIGHT_OUT); } } } else { if(trig[THX_REAR]==OFF) { if(SHORT<butdown[THX_REAR])// обработка при коротком нажатии на кнопкку спасибо { trig[THX_REAR]=ON; if((PINB&(1<<LEFT_OUT))){PORTB&=~(ON<<LEFT_OUT); PORTB&=~(ON<<RIGHT_OUT);} else{PORTB|=(ON<<LEFT_OUT)|(ON<<RIGHT_OUT);} } } else { if(butdown[THX_REAR]==LONG){PORTB&=~(1<<LEFT_OUT);PORTB&=~(1<<RIGHT_OUT);} trig[THX_REAR]=OFF; butdown[THX_REAR]=OFF; } } } void Stand_by(void) //рычаг ПП выключен, огни погашены { if(old_code==0) { if((count_right==1)||(count_left==1)) { if(count_right==1) { PORTB|=(ON<<RIGHT_OUT); } if(count_left==1) { PORTB|=(ON<<LEFT_OUT); } else { if(accept_mode==0) { PORTB|=(ON<<LEFT_OUT);PORTB|=(ON<<RIGHT_OUT); } } } } else { if(old_code==6) { if(prog_ini==ON) { eeprom_write_byte(&turn, count_turn); eeprom_write_byte(&thx,count_thx); accept_mode=ON;PORTB|=(ON<<LEFT_OUT);PORTB|=(ON<<RIGHT_OUT); } } } } void Ligts_On_Right(void) //рычаг ПП включен вправо, горит правый поворотник { if(old_code==2) { if(long_ini==ON) { count_right++; } else { if(prog_available==ON) { turn_count++; } else { long_ini=ON;count_right++;PORTB|=(ON<<RIGHT_OUT); if(prog_available==TRUE) { count_right_prog++; } } } } else { if(old_code==0) { if(long_ini==ON) { count_right++; } else { if(count_right==1) { count_right=0; } if(prog_ini==ON) { if(turn_count<MAX_TURN) { turn_count++; } } else { if(prog_available==TRUE) { count_right_prog++; if(count_right_prog>3) { prog_available=FALSE; } } } } } } } void Ligts_On_Left(void) //рычаг ПП включен влево, горит левый поворотник { if(old_code==2) { if(long_ini==ON) { count_left++; }else { if(prog_ini==ON) { thx_count++; } else { long_ini=ON;PORTB|=(1<<LEFT_OUT); count_left++; if(prog_available==TRUE) { count_left_prog++; } } } } else { if(old_code==0) { if(long_ini==ON) { count_left++; } else { if(count_left==1) { count_left=0; } if(prog_ini==ON) { if(thx_count<MAX_THX) { thx_count++; } } else { if(prog_available==TRUE) { if(count_right_prog==3) { count_left_prog++; if(count_left_prog==3) { prog_ini=ON; thx_count=0; turn_count=0;prog_available=FALSE;prog_start=0; } } else { prog_available=FALSE; } } } } } } } void Lights_Pause(void) //рычаг ПП включен в какую-либо сторону, либо включена аварийка, огни погашены { if(old_code==3) { if(count_right==1) { long_ini=OFF;PORTB&=~(1<<RIGHT_OUT); } if(long_ini==ON) { if(count_right==count_turn) { long_ini=OFF;PORTB&=~(1<<RIGHT_OUT);count_right=0; } } } else { if(old_code==6) { if(count_left==1) { long_ini=OFF;PORTB&=~(1<<LEFT_OUT); } else { if(long_ini==ON) { if(count_left==count_turn) { long_ini=OFF;PORTB&=~(1<<LEFT_OUT);count_left=0; } } else { if(prog_ini==ON) { if(prog_start==ON) { accept_mode=ON; } } } } } else { if(old_code==7) { if(thx_ini) { if(thx_count==count_thx) { thx_count=0;thx_ini=OFF;PORTB&=~(1<<LEFT_OUT);PORTB&=~(1<<RIGHT_OUT); } } else { if(accept_mode==ON) { if(accept_count==3) { accept_mode=OFF;PORTB&=~(1<<LEFT_OUT);PORTB&=~(1<<RIGHT_OUT); accept_count=0;prog_start=0; } } } } } } } void Ligts_On_All(void) //включена аварийка горит оба поворотника { if(old_code==3) { long_ini=ON;PORTB&=~(1<<RIGHT_OUT);count_right=0; } if(old_code==6) { long_ini=ON;PORTB&=~(1<<LEFT_OUT);count_left=0; } if(old_code==2) { if(thx_ini==ON) { thx_count++; } else { if(accept_mode==ON) { accept_count++; } } } if(old_code==0) { if(long_ini==ON) { long_ini=OFF;PORTB&=~(1<<LEFT_OUT);PORTB&=~(1<<RIGHT_OUT); } } if(thx_ini==ON) { thx_count++; } else { if(accept_mode==ON) { accept_count++; } } } void get_command(char mode) { if(!((old_code)==mode)) { switch(mode) { case 0:{Lights_Pause(); break;} //рычаг ПП включен в какую-либо сторону, либо включена аварийка, огни погашены case 2:{Stand_by(); break;} //рычаг ПП выключен, огни погашены case 3:{Ligts_On_Right(); break;} //рычаг ПП включен вправо, горит правый поворотник case 6:{Ligts_On_Left(); break;} //рычаг ПП включен влево, горит левый поворотник case 7:{Ligts_On_All(); break;} //включена аварийка горит оба поворотника break; } old_code=mode; } } void pol_ports(void) //опрос портов { code=get_button(); _delay_ms(10); if(code!=get_button()){code=10;} } ISR(TIM0_OVF_vect) { if(prog_available==TRUE){prog_available_count++;if(prog_available_count>1220){PORTB|=(ON<<RIGHT_OUT);prog_available=FALSE;}} //отключаем возможность //входа в режим программирования после истечения 10 секунд с момента включения устройства } int main(void) { port_ini(); timer_ini(); sei(); while(1) { pol_ports(); get_command(code); //вызов команды press_button(); //опрос кнопки спасибо/ЗХ } } Вот такую схемку накидал для проверки.