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