Jump to content
admin

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

Recommended Posts

В этом видеоролике рассмотрены простейшие способы получения индикатора звукового сигнала из обычного вольтметра.

Ссылки:
Усилитель переменного напряжения
Эмиттерный повторитель

Симуляция:
Диодный мост: 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

Share this post


Link to post
Share on other sites

В этой части использованы все полуволны, испытан стрелочный прибор от музыкального центра, рассмотрен вариант подключения вольтметра на 20 вольт без его модификации.

Ссылки:

    
Симуляция: 2 полупериода
    

servo_audio_level.ino

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Смотана с готового сердечника. Очень хрупкая, работать с ней чрезвычайно сложно, но оно того стоит.  Пробовал также мотать лентой добытой из нанокристаллического сердечника для помехоподавляющих фильтров.  Неплохо получалось с лентой из синфазных дросселей  серии WE-CMBNC от Вюртэлектроник, она заметно толще лент от Мстатор и работать с ней куда легче. С отпуском/закалкой не связывался, не думаю, что это хорошая идея.
    • Визуальный осмотр - это первое, что надо делать всегда, взяв в руки неисправную плату.  Только потом включать. 
    • Не, порт сзади. Это Visaton Conga, корпуса делал форумчанин  Николай Епимахов @nikolayms
    • АС-ки симпатичные. ЗЯ? Не видно порта ФИ.
    • Они как раз на плате Аттенюатора и придусмотрена на данный случай. 99% это решает проблему. Ждем Ваших впечатлении.
    • Так и не понял, почему автор стал выдирать UD1, даже не проверив наличие/отсутствие КЗ на ее выходе.
    • Неужели там такая огромная схема, что за неделю, уделяя 1-2 часа в день,  ее нельзя сделать? Альтиум не настолько сложная программа. Потом кинуть в производство, а за то время, что она будет изготавливаться - написать прошивку.

  • Набор начинающего радиолюбителя

  • Similar Content

    • By Олег Кузьмичёв
      Доброго времени суток уважаемые радиолюбители! Хочу собрать шкальный индикатор уровня громкости для усилителя, на семисегментных индикаторах. Нашёл блок индикации от электронных весов. Сегменты "А" - левый канал; сегменты "D" - правый. Контроллер KIA6966S.Всё-бы нечего, да общий провод этих индикаторов "катод".Как быть в такой ситуации ума не приложу. Что можете посоветовать, как оформить шкалу? Хотелось-бы применить именно эту микросхему.потому как я с ней хорошо знаком, и эти индикаторы.потому что они мне понравились.
    • By vladk1da
      Доброго времени суток. Задумался я Вот над чем - все ищут схемы чертежи плат индикаторов уровней, но практически никто не задается вопросом как собрать собственно сам tower из листов оргстекла. Может есть такие мастера кто делал данный индикатор и может рассказать нюансы и особенности сборки этого элемента устройства.
    • By abuzhakov
      Привет всем! на этот раз я решил собрать 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 }
      Соединять я буду к ней выходной сигнал на усилитель магнитолы подскажите нужны ли стабилитроны? или можно их не ставить? (у меня их просто нет)
    • By kamaz6141
      Всем привет, вобщем собрал по этой схеме индикатор уровня выходного сигнала, всё работает, вместо R1 перемычка, подключил на выход ПК, но при средней громкости загорается максимум 3-4 светодиода, а если выкрутить громкость вообще на максимум, то до 5-6...вопрос, как сделать чтобы чтобы нормально до последнего доходило? И чтобы отфильтровать НЧ нужно увеличить С1?
      Заранее спасибо!
×
×
  • Create New...