| Автор |
Съобщение |
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 11:05 pm Мнения: 332
|
 Re: 2 тона през 1 пин едновременно?
Оправихме го. Общо взето си беше малко налудно това задание, ама криво-ляво стана работата.
|
| Сря Фев 26, 2020 9:53 am |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3714 Местоположение: Високо в планината
|
 Re: 2 тона през 1 пин едновременно?
Защо бе, защо да е налудно? Сподели как сте го направили.
_________________ Хайде де!
|
| Сря Фев 26, 2020 10:03 am |
|
 |
|
ig_ivanov
Ранг: Професионалист
Регистриран на: Съб Май 21, 2016 9:47 pm Мнения: 577 Местоположение: Бургас
|
 Re: 2 тона през 1 пин едновременно?
Почти никаква е математиката- само събиране и изваждане. Трябва му само един указател за началото, брой семпли, посока на четене и корекция за отрицателните стойности при трети и четвърти квадрант.
|
| Сря Фев 26, 2020 11:05 am |
|
 |
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 11:05 pm Мнения: 332
|
 Re: 2 тона през 1 пин едновременно?
TINY85 има два таймера. Единият се ползва като PWM генератор, а Вторият като брояч, който прави семплирането. Лошото е, че когато вторият създава честотата на семплриането, става мазало, когато искаш да възпоризведеш два тона с различна продължителност. Освен това остави таблицата за синусоидата, "мелодията" също е обемиста за това контролерче, следователно заминава във Флаша. Четенето от флаша е сравнително бавен процес и малко или много дава отклонение върху възпроизвеждането на звука. Иначе принципа го спазихме - 256 елемента синусоидална таблица = 256 байта; един брояч извлича взима пробите на двете синусоиди, после прави осредняването им и получения звук е полифонията. Като цяло всичко можеше да е далеч по-лесно, ако на платката нямаше LDR и този пин беше вързан към бъзера като R2R ladder. Имаше и някои хардуерни "особености", ама те не са свързани с алгоритъма.
|
| Сря Фев 26, 2020 10:31 pm |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3714 Местоположение: Високо в планината
|
 Re: 2 тона през 1 пин едновременно?
Какво е LDR?
Колко бита е PWM-а? И каква е семплиращата честота? Най-вероятно можеш да минеш с много по-малко отчети - примерно 64.
Това с простото осредняване не е най-коректното изпълнение, но за вашия случай явно става.
_________________ Хайде де!
|
| Чет Фев 27, 2020 11:02 am |
|
 |
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 11:05 pm Мнения: 332
|
 Re: 2 тона през 1 пин едновременно?
LDR = фоторезистор (light dependent resistor). Колко бита да е pwm - 8 бита е. Семплиращата честота беше (по спомен) 50 kHz,
|
| Чет Фев 27, 2020 5:32 pm |
|
 |
|
dan
Ранг: Форумен бог
Регистриран на: Вто Май 29, 2007 2:23 pm Мнения: 3714 Местоположение: Високо в планината
|
 Re: 2 тона през 1 пин едновременно?
Пробвай да смъкнеш броя на отчетите тогава (32-64) и си ги качи в RAM-а. При 8 бита....
Нещо не ми се връзва LDR-MCU-PWM в случая.
_________________ Хайде де!
|
| Чет Фев 27, 2020 5:59 pm |
|
 |
|
kalata23
Ранг: Популярен
Регистриран на: Пон Дек 15, 2014 11:05 pm Мнения: 332
|
 Re: 2 тона през 1 пин едновременно?
Платката беше за демонстрацийка.. И да не е само поредната пищялка имаше LDR, който ако искаш да ти пуска мелодията, ако искаш да кара светодиодите да мигат, ако искаш нещо друго. Ама проектът свърши.
|
| Пет Фев 28, 2020 2:21 am |
|
|