Поиск по сайту

Результаты поиска по тегам 'индикатор уровня'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK
  • ATX->ЛБП Переделки
  • Юмор в youtube Киловольты юмора
  • Надежность и группы продавцов Радиолюбительская доска объявлений exDIY
  • разные темы Переделки

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Местоположения

  • Пользователи форума

Группа


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено 7 результатов

  1. Немного предыстории. Многие любят красивые «светилки». И мы не исключение В основном мы занимаемся аудиоустройствами. Но уже давно нас не оставляет идея создания какой-нибудь визуализации звукового сигнала. И первое с чего мы решили начать – это индикаторы уровня. Сначала мы планировали делать систему на обычных RGB светодиодах. Даже было несколько прототипов. Очень мешало то, что каждым RGB светодиодом приходилось управлять отдельно. Это требовало большого количества сигнальных линий, со всеми вытекающими последствиями. В целом такое решение получалось не гибким и не универсальным. Нам это очень не нравилось и сильно тормозило продвижение проекта. Но некоторое время назад мы обратили внимание на ленту с «умными» светодиодами WS2812B. Основная ее прелесть как раз и состоит в том, что управлять всей лентой можно одним цифровым сигналом. При этом каждый светодиод может светиться разным цветом. Это дало новый толчок нашему проекту. И, забегая вперед, хочу показать один из рабочих прототипов: Про корпус. Сам проект можно разделить на несколько частей, таких как разработка электроники и написание программы для контроллера (который обрабатывает музыкальный сигнал и управляет лентой). А еще очень важно красиво оформить это изделие. Ведь в первую очередь индикаторы уровня - это декоративный элемент. Как раз о разработке и изготовлении корпуса мы и хотим рассказать сегодня. Варианты корпусов индикаторов уровня. Первоначально мы планировали сделать очень простой корпус из какого-нибудь прозрачного материала. Но, по мере проектирования, количество деталей увеличивалось, а конструкция становилась все сложнее. Вот варианты корпусов для светодиодных индикаторов, с которых все начиналось: *- для лучшей наглядности на картинках детали «подкрашены» желтым цветом. По задумке они должны быть прозрачные. Выбор материала. В качестве прозрачного материала мы рассматривали монолитный поликарбонат или акрил. Об особенностях этих материалов мы уже как-то рассказывали в записи: «Что полезно знать при работе с оргстеклом и поликарбонатом…». Но по мере усложнения конструкции корпуса становилось понятно, что изготовить детали из поликарбоната будет проблематично. Поэтому мы остановились на акриле. Изготовление прототипов. Казалось все очень просто: сделать чертеж, заказать резку лазером деталей из акрила и собрать корпус. Но жизнь штука интересная и без приключений нас не оставила Первые два прототипа мы заказали у нашего знакомого Александра. Детали корпуса были изготовлены из литого акрила просто потому, что он был в наличии. В целом конструкция собралась. Но очень настораживала информация о том, что литой акрил может сильно меняться по толщине даже в пределах одного листа. Для нас это было важно, т.к. конструкция предполагает установку деталей одна в другую: При сильном «гулянии» толщины акрила есть большой риск, что детали нормально совместить не получится. На первых двух прототипах все собралось только потому, что Александр вручную подбирал толщину акрила для некоторых деталей. Но если делать даже небольшую партию подобных корпусов, то могут возникнуть серьезные проблемы. Учитывая эти особенности, третий прототип мы заказали из экструзионного акрила. У этого материала толщина листа выдерживается лучше, чем у литого акрила. Но здесь нас ждал другой неприятный сюрприз. Детали из экструзионного акрила оказались очень хрупкими. Даже при небольших механических нагрузках они ломаются или в них возникают трещины. Вдобавок, резчики не совсем корректно задали режимы для лазера. Некоторые детали повело и они получились кривыми . Но кривизна - это не так страшно. Режимы резки всегда можно подкорректировать. А вот с хрупкостью материала трудно что-то сделать. Был еще один момент. Изначально фиксация нижних стоек к основанию планировалась за счет стягивания винтом, как на картинке ниже: С экструзионным акрилом на этом решении можно было смело ставить крест. Даже при небольшой нагрузке детали трескались. Чуть позже мы отказались от стяжки винтом и стали рассматривать варианты склейки деталей. Перепробовали четыре клея. Получили разные результаты. Но сейчас на этом подробно останавливаться не будем, дабы не удлинять статью. Скорее всего, об этом расскажем в одной из следующих записей. Итог В результате мы оказались на распутье: • литой акрил нам понравился за его прочность, но разнотолщинность в пределах листа очень портит всю технологию изготовления корпуса • у экструзионного акрила точно выдерживается толщина листа, но хрупкость ставит под сомнение его применение Как поступить? Пока мы полностью не определились с решением. Но несколько задумок есть. Сейчас заказан четвертый прототип корпуса для индикаторов уровня. Надеемся, что картина станет яснее после его получения. Ну или появятся новые вопросы . В заключении кратко приведем сравнительную информацию о литом и экструзионном акриле. Будем рады, если она окажется полезной. Отклонения от номинальной толщины листа: - литой акрил до 30% - экструзионный акрил до 5% Прочность: Литой акрил имеет гораздо более высокую ударную прочность по сравнению с экструзионным. Также он меньше подвержен механическим повреждениям, царапинам и пр. Химическая стойкость Литой акрил обладает большей устойчивостью к кислотам и щелочам по сравнению с экструзионным. Поэтому в водной среде или на открытом воздухе чаще рекомендуют использовать именно литой акрил. Образование механических напряжений после резки лазером После резки лазером рекомендуется проводить отжиг акрила: нагрев деталей до определенной температуры, выдержка при этой температуре несколько часов и медленное остывание. Если не проводить эту процедуру, то детали становятся более хрупкими, а использование клеев на основе растворителей может привести к образованию трещин. Для экструзионного акрила это особенно актуально. Стоимость и распространенность Сейчас наиболее распространен экструзионный акрил. Его цена обычно несколько ниже, чем у литого. Распространенные марки акрила: Экструзионный: ACRYMA, Novattro, Plexiglas XT Литой: ТОСП, Plexiglas GS Хорошего Вам дня . С уважением, Денис В. АЛ "Философия Звука" P.S. К статье прикреплены файлы с рекомендациями по работе с акрилом (Plexiglass и Novattro) от производителей. novattro_rekomendatsii-po-ekspluatatsii-.pdf Plexiglass.pdf
  2. простой шкальный LED из...

    Доброго времени суток уважаемые радиолюбители! Хочу собрать шкальный индикатор уровня громкости для усилителя, на семисегментных индикаторах. Нашёл блок индикации от электронных весов. Сегменты "А" - левый канал; сегменты "D" - правый. Контроллер KIA6966S.Всё-бы нечего, да общий провод этих индикаторов "катод".Как быть в такой ситуации ума не приложу. Что можете посоветовать, как оформить шкалу? Хотелось-бы применить именно эту микросхему.потому как я с ней хорошо знаком, и эти индикаторы.потому что они мне понравились.
  3. В этом видеоролике рассмотрены простейшие способы получения индикатора звукового сигнала из обычного вольтметра. Ссылки: Усилитель переменного напряжения Эмиттерный повторитель Симуляция: Диодный мост: http://everycircuit.com/circuit/4608895732940800 Диодный мост с усилителем: http://everycircuit.com/circuit/5041293436125184 Схема с эмиттерным повторителем: http://everycircuit.com/circuit/5744565943795712 Схема с источником тока, управляемым напряжением: http://everycircuit.com/circuit/5101282922070016 Схема с фильтрующим конденсатором: http://everycircuit.com/circuit/4972694117810176
  4. Индикатор заполнения емкости

    Ма-а-ахонькая такая поделка, нужная в хозяйстве, которую сваял для жены. Суть в том, что на кухне имеется проточный фильтр для воды. Скорость фильтрации должна быть маленькой (толщина струйки не больше спички). Пока 2-литровый кувшин наберется - стоять и ждать влом. А ушел - забыл. И водичка течет себе через край. Но при этом зазря расходуется фильтрующий картридж, а он денюжек стОит...Так вот, простейший сигнализатор уровня воды. Всего 4 детали. Баззер со встроенным генератором купил за 4,3 грн. Держатель для литиевой баратейки на 3 В выпаял из материнки. Резистор и транзистор - тоже из распая. Сначала попробовал полевик 2N7000, но то ли его цоколевка отличалась от даташитовской, то ли партия попалась бракованная - оказался всё время в открытом состоянии. Поставил составной Дарлингтона - и получилось зер гут. Схема: Печатка: Внешний вид: Жена довольна! P.S. А меньшая дочка попросила сваять такую же для ванны. Уже пару раз, когда ее набирала, та переливалась через край... _______________________________________________ Добавлено. В процессе эксплуатации оказалось, что примененная батарейка никуда не годится из-за малой емкости. Хватило на неделю. Поэтому была изготовлена другая плата на 2 элемента АА. Кроме того, по рекомендации Гор'а добавлен резистор с плюса питания к положительному контакту во избежание пробоя базо-эмиттерных переходов при случайном перемыкании между собой контактных щупов. Исправленная схема: Новая печатка: Фото: Индикатор уровня воды.lay6
  5. Доброго времени суток. Задумался я Вот над чем - все ищут схемы чертежи плат индикаторов уровней, но практически никто не задается вопросом как собрать собственно сам tower из листов оргстекла. Может есть такие мастера кто делал данный индикатор и может рассказать нюансы и особенности сборки этого элемента устройства.
  6. Светодиодный Vu Metr На Atmega8

    Привет всем! на этот раз я решил собрать VU METR на atmega8 В инете я нашел схему вот эту http://hawelson.blog.cz/1005/vu-metr-2x32led-s-mikrokontrolerem и решил её собрать! У меня сейчас в машине стоит анализатор спектра на atmega8 я его переделал под VU METR но светодиодов мало всего 10 поэтому мне пришла в голову такая идея. Кто нибудь собирал такую? и работает ли она вообще? Вот схема: Печатная плата: В собранном виде: Я переделал печатку под себя чтоб я мог соединить светодиоды там где захочу И код программы: /* MCU: ATmega8, ATmega8L Program pro stereo VU metr 2x32 LED Program napsal Petr Hawliczek Vytvořeno pro web: http://HAWELSON.blog.cz/ */ //******************************************** #define F_CPU 1000000UL // NASTAVENÍ VNITŘNÍHO OSCILÁTORU NA 1MHz (defaultní) #include <avr/io.h> #include <util/delay.h> //******************************************** void cekani(); // podprogram rychle nastavitelneho cekani (delka bliknuti LED) unsigned char a; // proměnná do které se bude ukládat hodnota z A/D převodníku // je typu char, tedy 256 hodnot char b=0; // konstanta posunu pro potlační šumu // (posun od nuly, aby neblikaly LED bez sign.) //******************************************** void main() { DDRB = 0xFF; // inicializace portů DDRC = 0b11111100; DDRD = 0xFF; PORTB = 0x00; PORTC = 0x00; PORTD = 0x00; //******************************************** while (1) { // nekonečná smyška vykreslování // Levý kanál // Nastavení A/D převodníku --> ADMUX = 0x00; // ozkačení z kterého kanálu chceme brát (kanál 0) ADMUX = ADMUX | 0b11000000; // aktivace REFS0 a 1 //(Internal 2,56V reference with external capacitor at AREF pin) ADMUX = ADMUX | 0x20; // aktovace ADLAR: ADC Left Adjust Result ADCSRA = 0x00; // volba nejrychlejšího A/D převodu krystal/2 ADCSRA = ADCSRA | 0x80; // zapnutí A/D převodníku //Přečtení hodnoty z A/D převodníku --> ADCSRA = ADCSRA | 0x40; // start převodu while( (ADCSRA & 0x10) == 0); // počká až je připravená hodnota z A/D (pak se tato hodnota dostane do 0) a = ADCH; // převede se hodnota z A/D do proměnné a ADCSRA = ADCSRA | 0x10; // vymaže, že je hodnota připravená - pro další nové měření //--------------------------------------------- // podrprogram pro rozsvěcení led umístěn zde --> if (a <= b+0 ) { // 0 LED // spodní část LED PORTB=0b00010000; // všechny LED zhasnuty PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00100000; PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+1 ) { // 1 LED // spodní část LED PORTB=0b00010010; // první LED rozsvícena ve spodní části PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00100000; PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+2) { // 2 LED // spodní část LED // spodní část LED PORTB=0b00010010; // první LED rozsvícena ve spodní části PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00100010; // první LED rozsvícena ve spodní části PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+3) { // 3 LED // spodní část LED PORTB=0b00010011; // celková třetí LED rozsvícena PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00100010; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+4) { // 4 LED // spodní část LED PORTB=0b00010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+5) { // // spodní část LED PORTB=0b00010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b10000000; cekani(); // horní část LED PORTB=0b00100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+6) { // // spodní část LED PORTB=0b00010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b10000000; cekani(); // horní část LED PORTB=0b00100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b10000000; cekani(); } else if (a <= b+7) { // // spodní část LED PORTB=0b00010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11000000; cekani(); // horní část LED PORTB=0b00100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b10000000; cekani(); } else if (a <= b+8) { // // spodní část LED PORTB=0b00010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11000000; cekani(); // horní část LED PORTB=0b00100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11000000; cekani(); } else if (a <= b+9) { // // spodní část LED PORTB=0b00010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b00100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11000000; cekani(); } else if (a <= b+10) { // 10 LED // spodní část LED PORTB=0b00010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b00100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+12) { // // spodní část LED PORTB=0b10010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b00100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+14) { // // spodní část LED PORTB=0b10010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b10100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+16) { // // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b10100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+18) { // PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+20) { // 15 LED // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11110000; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+23) { // // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11110000; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11110000; cekani(); } else if (a <= b+26) { // // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111000; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11110000; cekani(); } else if (a <= b+29) { // // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111000; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111000; cekani(); } else if (a <= b+32) { // // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111100; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111000; cekani(); } else if (a <= b+36) { // 20 LED // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111100; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111100; cekani(); } else if (a <= b+40) { // // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111110; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111100; cekani(); } else if (a <= b+44) { // // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111110; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111110; cekani(); } else if (a <= b+48) { // // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111110; cekani(); } else if (a <= b+52) { // // spodní část LED PORTB=0b11010011; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+57) { // 25 LED // spodní část LED PORTB=0b11010011; PORTC=0b00100000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+62) { // // spodní část LED PORTB=0b11010011; PORTC=0b00100000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00100000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+67) { // // spodní část LED PORTB=0b11010011; PORTC=0b00110000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00100000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+73) { // // spodní část LED PORTB=0b11010011; PORTC=0b00110000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00110000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+79) { // // spodní část LED PORTB=0b11010011; PORTC=0b00111000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00110000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+86) { // 30 LED // spodní část LED PORTB=0b11010011; PORTC=0b00111000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00111000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+93) { // // spodní část LED PORTB=0b11010011; PORTC=0b00111100; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00111000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else { // 32 LED (2x 16 LED) // spodní část LED PORTB=0b11010011; PORTC=0b00111100; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11100011; // PORTC=0b00111100; // horní část LED aktivní PORTD=0b11111111; cekani(); } // Na konci nastavení nul, aby LED nesvítily v čase měření A/D převodníkem PORTB=0x00; // PORTC=0x00; // spodní část LED aktivní PORTD=0x00; // --------------------------------------------------------------- // --------------------------------------------------------------- // **************************************************** // Pravý kanál --> // Nastavení A/D převodníku --> ADMUX = 0x01; // ozkačení z kterého kanálu chceme brát (kanál 1) ADMUX = ADMUX | 0b11000000; // aktivace REFS0 a 1 //(Internal 2,56V reference with external capacitor at AREF pin) ADMUX = ADMUX | 0x20; // aktovace ADLAR: ADC Left Adjust Result ADCSRA = 0x00; // volba nejrychlejšího A/D převodu krystal/2 ADCSRA = ADCSRA | 0x80; // zapmutí A/D ppřevodníku //Přečtení hodnoty z A/D převodníku --> ADCSRA = ADCSRA | 0x40; // start převodu while( (ADCSRA & 0x10) == 0); // počká až je připravená hodnota z A/D (pak se tato hodnota dostane do 0) a = ADCH; // převede se hodnota z A/D do proměnné a ADCSRA = ADCSRA | 0x10; // vymaže, že je hodnota připravená - pro další nové měření //-------------------------------------------------------------- // podrprogram pro rozsvěcení led umístěn zde --> if (a <= b+0) { // 0 LED // spodní část LED PORTB=0b00000100; // všechny LED zhasnuty PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00001000; PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+1) { // 1 LED // spodní část LED PORTB=0b00000110; // první LED rozsvícena ve spodní části PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00001000; PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+2) { // 2 LED // spodní část LED // spodní část LED PORTB=0b00000110; // první LED rozsvícena ve spodní části PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00001010; // první LED rozsvícena ve spodní části PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+3) { // 3 LED // spodní část LED PORTB=0b00000111; // celková třetí LED rozsvícena PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00001010; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+4) { // 4 LED // spodní část LED PORTB=0b00000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b00000000; cekani(); // horní část LED PORTB=0b00001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+5) { // // spodní část LED PORTB=0b00000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b10000000; cekani(); // horní část LED PORTB=0b00001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b00000000; cekani(); } else if (a <= b+6) { // // spodní část LED PORTB=0b00000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b10000000; cekani(); // horní část LED PORTB=0b00001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b10000000; cekani(); } else if (a <= b+7) { // // spodní část LED PORTB=0b00000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11000000; cekani(); // horní část LED PORTB=0b00001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b10000000; cekani(); } else if (a <= b+8) { // // spodní část LED PORTB=0b00000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11000000; cekani(); // horní část LED PORTB=0b00001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11000000; cekani(); } else if (a <= b+9) { // // spodní část LED PORTB=0b00000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b00001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11000000; cekani(); } else if (a <= b+10) { // 10 LED // spodní část LED PORTB=0b00000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b00001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+12) { // // spodní část LED PORTB=0b10000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b00001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+14) { // // spodní část LED PORTB=0b10000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b10001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+16) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b10001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+18) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11100000; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+20) { // 15 LED // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11110000; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11100000; cekani(); } else if (a <= b+23) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11110000; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11110000; cekani(); } else if (a <= b+26) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111000; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11110000; cekani(); } else if (a <= b+29) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111000; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111000; cekani(); } else if (a <= b+32) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111100; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111000; cekani(); } else if (a <= b+36) { // 20 LED // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111100; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111100; cekani(); } else if (a <= b+40) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111110; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111100; cekani(); } else if (a <= b+44) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111110; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111110; cekani(); } else if (a <= b+48) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111110; cekani(); } else if (a <= b+52) { // // spodní část LED PORTB=0b11000111; PORTC=0b00000000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+57) { // 25 LED // spodní část LED PORTB=0b11000111; PORTC=0b00100000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00000000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+62) { // // spodní část LED PORTB=0b11000111; PORTC=0b00100000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00100000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+67) { // // spodní část LED PORTB=0b11000111; PORTC=0b00110000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00100000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+73) { // // spodní část LED PORTB=0b11000111; PORTC=0b00110000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00110000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+79) { // // spodní část LED PORTB=0b11000111; PORTC=0b00111000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00110000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+86) { // 30 LED // spodní část LED PORTB=0b11000111; PORTC=0b00111000; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00111000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else if (a <= b+93) { // // spodní část LED PORTB=0b11000111; PORTC=0b00111100; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00111000; // horní část LED aktivní PORTD=0b11111111; cekani(); } else { // 32 LED (2x 16 LED) // spodní část LED PORTB=0b11000111; PORTC=0b00111100; // spodní část LED aktivní PORTD=0b11111111; cekani(); // horní část LED PORTB=0b11001011; // PORTC=0b00111100; // horní část LED aktivní PORTD=0b11111111; cekani(); } // Na konci nastavení nul, aby LED nesvítily v čase měření A/D převodníkem PORTB=0x00; // PORTC=0x00; // spodní část LED aktivní PORTD=0x00; } } // vypsaný podprogram cekani (dela bliknutí) void cekani() { _delay_us(2000); // délka čekání v mikrosekundách } Соединять я буду к ней выходной сигнал на усилитель магнитолы подскажите нужны ли стабилитроны? или можно их не ставить? (у меня их просто нет)
  7. Всем привет, вобщем собрал по этой схеме индикатор уровня выходного сигнала, всё работает, вместо R1 перемычка, подключил на выход ПК, но при средней громкости загорается максимум 3-4 светодиода, а если выкрутить громкость вообще на максимум, то до 5-6...вопрос, как сделать чтобы чтобы нормально до последнего доходило? И чтобы отфильтровать НЧ нужно увеличить С1? Заранее спасибо!