Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

2 тона през 1 пин едновременно?
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=16968
Страница 1 от 3

Автор:  kalata23 [ Пет Яну 17, 2020 6:56 pm ]
Заглавие:  2 тона през 1 пин едновременно?

Здравейте. Имам ATtiny85. Единият от цифровите му изводи е свързан към високоговорител/бъзер. Другият извод на говорителя/бъзера е директно към GND. Въпросът е как да генерирам два тона, така, че да звучат едновременно?
Че ще се ползват таймерите на тинито като броячи или ШИМ генератори го разбрах, но не разбрах какъв е алгоритъма по възпроизвеждането на двата тона?

Автор:  dan [ Пет Яну 17, 2020 7:58 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

Ами изменяш запълването на ШИМ-а според моментната сума на двата единични сигнала.

Автор:  TheWizard [ Пет Яну 17, 2020 9:16 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

https://github.com/dilshan/dtmfgen/blob ... tmfgen.cpp

Автор:  kalata23 [ Пет Яну 17, 2020 9:24 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

TheWizard написа:
https://github.com/dilshan/dtmfgen/blob/master/dtmfgen.cpp

R-2R Ladder не ме устройва.

Автор:  al_at [ Пет Яну 17, 2020 10:28 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

Хард-Софт решение 1:
- Откача се този край на бъзера от GND и се връзва на друг пин, който трябва да е PWM out на другия таймер.
На единия пин се подава едната честота, на другия - втората, на бъзера се получава разликата от двата сигнала,
което за звуци няма значение - ще се чуват и двата.
Хард-Софт решение 2:
- Откача се активния край и се свърва към цифровия изход с резистор, горе-долу колкото е съпротивлението на бъзера.
Втори цифров изход се свързва през втори резистор със същата стойност към бъзера и се получава суматор.
И пак се подават на единия пин първата честота, на втория - втората.
Трябва единия пин да е PWM изход на таймер 1, втория - на таймер 2 за да се получат лесно две различни честоти.
П.С. Не е от един пин, но е най-лесно.

Автор:  TheHungry [ Пет Яну 17, 2020 11:55 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

За два не знам но за 6 е ето така ... ;)

http://www.elm-chan.org/works/mxb/report.html

Автор:  kalata23 [ Съб Яну 18, 2020 2:50 am ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

Хардуерно, не мога да променям нищо. Това, което TheHungry даде като идея е, може би, което търся.

Автор:  bongo_x2 [ Съб Яну 18, 2020 3:43 am ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

Мдам, пък Правчо8х даже говореше на български. Чисто софтуерно, при далеч по-мижав хардуер. К'ви времена настанаха...

Автор:  dan [ Съб Яну 18, 2020 11:43 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

dan написа:
Ами изменяш запълването на ШИМ-а според моментната сума на двата единични сигнала.

Това прочете ли го

Автор:  ps66 [ Нед Яну 19, 2020 3:41 am ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

прочети поста на @dan

като за бонго:
Код:
int i = 0;
int pwm[BUF_SIZE]; // запълваш буфера със сигнала, но във време 0%=0 us .... 100%=100us

while (1)
   {
   output = !output; // изходния пин
   delay_us (pwm[ i++ % BUF_SIZE]);
   }

така ще зарадваш и бонго - ще може да говори!

а …. някой ден - ще замениш delay_us с прекъсване!

Автор:  Bai Ui [ Нед Яну 19, 2020 12:34 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

С инверсна трансформация на Фурие.

Автор:  TheWizard [ Нед Яну 19, 2020 2:35 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

Bai Фурие са уля :)

Автор:  Bai Ui [ Нед Яну 19, 2020 3:08 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

TheWizard написа:
Bai Фурие са уля :)

Къде точно?

Автор:  palavrov [ Нед Яну 19, 2020 3:36 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

Абе как ще може да се прекарат два тона през един пин - може да изкараш ток, напрежение ама не го виждам с грамове, килограми и тонове как ще излезнат :D

Автор:  kalata23 [ Нед Яну 19, 2020 6:53 pm ]
Заглавие:  Re: 2 тона през 1 пин едновременно?

Проблемът е, че като се насложат двата тона, всъщност се получава някакъв осреднен тон. Пробвах да възпроизведа два тона с терца интервал (2 тона и половина), това което излезна е нещо посредата, т.е липсва многогласието. Идеята е да се получи полифония.

Страница 1 от 3 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/