3d_killer

Звук нажатия клавиш

25 сообщений в этой теме

3d_killer    4

Ищу небольшую схемку, желательно на микросхеме которая при замыкании контактов будет воспроизводить звук клавиш как на телефоне например, такая схемка нужна для подключения к плате с МК и сенсорным экраном и выводом звука на бипер, то что может сам МК по звуку, совсем не устраивает да и прерываний куча которые мешают корректному выводу звука, нужно чтобы по приходу импульса звук проигрывался полностью а не прерывался по исчезновению импульса благодарю за ответы

или как в машине при не пирстегнутом ремне

Изменено пользователем 3d_killer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 755

Честно - даже ТЗ неумное.

Ну, как помешает обработка МК нажатия клавиши работе основной программы? Нажата клавиша - на выход сигнал. Пусть потом другие устройства отвечают за звук.

Проблема надуманная, яйца выеденного не стоит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3d_killer    4

ну почему же, просто звук не очень как я ни менял интервалы в программе

void Beep(){
  if(sound==1)
    {
      for (int i=0; i<600; i++)
        {
          digitalWrite(pin_beeper, HIGH);
          delayMicroseconds(120);
          digitalWrite(pin_beeper, LOW);
          delayMicroseconds(120);
        }
    }
}

 

Изменено пользователем 3d_killer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

3d_killer    4

в программе действуют несколько прерываний, раз в 20 мс, раз в пол секунды, раз в секунду, в основной программе происходит опрос цифровых датчиков который занимает 0,7 секунды, то есть если вывод звука ткнуть в основную программу он происходит с задержкой, так как на экране в одну секунду можно нажать по нескольку раз (много настроек и кнопок). Если его пихнуть в прерывание то он звучит по другому чем в основной программе

3 минуты назад, Alex_On5 сказал:

 ISD1820

ну не прям звук записать а просто нужно сымитировать звук по приходу сигнала, например может на таймере, честно не знаю как еще вопрос задать

Изменено пользователем 3d_killer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 755
49 минут назад, 3d_killer сказал:

то есть если вывод звука ткнуть в основную программу он происходит с задержкой

Расставьте приоритеты и уровни прерываний. Вроде так это называется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3d_killer    4

на сколько я знаю у AVR нет приоритета, если выполняется одно прерывание второе ждет и запустится только после первого, обрываться оно не будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 755

Ну, не знаю. Неужели так?
Очень-очень давно писал для 51-го. И там уже были 4 уровня прерываний. Не верю, что в современных их нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oldmao    1 468

Неграмотно составлен алгоритм. Ваша подпрограмма вывода звука слишком длинная, и обязательно будет прерываться аппаратными прерываниями. Можно на время выполнения запретить все прерывания. Можно загнать всё в обработчик самого короткого таймера. Например за 20 миллисекунд можно успеть и кнопки опросить и флаг нажатой кнопки выставить. А в самом начале обработчика этого же прерывания проверять флаг и формировать кусочек "бип", на который хватит времени. Считать количество этих кусочков и сбрасывать флаг, когда отпищали нужную длительность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
КЭС    1 156
6 часов назад, 3d_killer сказал:

звук клавиш как на телефоне

DTMF кодер пойдет? HT9200, например.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да уж...

Опросить клаву и заставить таймер "пищать" до следующего опроса - дело немыслимой сложности для "Си-кающего" программиста.:)

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ARV    476
4 часа назад, Геннадий сказал:

дело немыслимой сложности для "Си-кающего" программиста

Это ардуино-стиль. И программа не Си, а "скетч". Там на самом деле не всякий справится... Хотя было бы желание...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 755
16 часов назад, ARV сказал:

"скетч".

Откровенно - раздражают американизмы. Программа, подпрограмма... Скетч - это круто! Слово то какое! А в мозгах - пустота :(
Вот, если бы у этих самых начинающих вопросы были не из серии тупоголовых, тогда, возможно, я бы и "скетч" принял. А пока - увы. Только раздражение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ARV    476
1 минуту назад, mvkarp сказал:

Программа, подпрограмма... Скетч - это круто! Слово то какое!

Я бы не сказал, что скетч - это круто. Это как раз примитивно: цикл, в нем все последовательно, асинхронность если и есть, то никто её не видит. Задержки на счетчике миллисекунд и т.п. Это как раз не комплимент стилю программирования, если вы не догадались :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 755

Мое выражение - сарказм. Это для детворы такое слово - это круто!
Для обычных спецов - это всего лишь слово. Не более. Простейшая программка.Это меня, американизм, и раздражает.

Я нынче не спец в программировании, отстал. Но в свое время в 2 кБ всунуть обширную программку на ассемблере (естественно, ведь и высоких языков было раз-два, и обчелся, и компилировались они не лучшим образом. Потому - ассемблер).
Вы - спец, насколько помню по нашим беседам. 
Считаю, поймем один другого. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
dasZebra    29
2 минуты назад, mvkarp сказал:

Откровенно - раздражают американизмы. Программа, подпрограмма... Скетч - это круто! Слово то какое! А в мозгах - пустота :(

зря вы так... если что, то и [программа] не русское слово. Если так начать копать, то и до [телеграфного] столба можно домахаться. Sketch в переводе с английского, это набросок, [эскиз] (опять не русское слово), сценка Называя эту "программку" сценкой, подчеркивают её неполноценность с точки зрения принятых норм (норма, кстати, опять не русское слово). Но в русском языке называть строго алгоритмизированное не смотря ни на что действие - все же дико. Поэтому и используют заимствованное слово, которое осзначет уже только то, что оноозначает в русском языке - неполноценную подпрограмму. Нормальный язык - живой организм, а уж великий и могучий - потому и велик и могуч, что вбирает в себя все, до чего может дотянуться. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 755

Так, вот, наши детки как раз и не понимают, что это - сценка. Они возносят "скетч" в ранг великих. Именно потому, что СКЕТЧ - импортное слово. :(
Ну, почитайте их посты. Они и сами себя возносят в ранг великих, если вдруг светодиодик моргнул.

Ну, может, я устарел. Но никак не хочу язык предавать чужому. Пусть, я и не русский. Но для меня это - язык. И я буду беречь его.

Без войны, конечно. Исключительно дипломатическими методами.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 358
В 14 Октябрь 2017 г. в 11:19, 3d_killer сказал:

ну почему же, просто звук не очень как я ни менял интервалы в программе

а инвалидные костыли по другому не умеют...

а так люди полифонию без проблем делают http://pic24.ru/doku.php/osa/ref/appendix/quartet

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
32 минуты назад, 3d_killer сказал:

ну вы сравнили пик контроллер с авр...

Есть большая разница, достойная внимания?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 358
Цитата

     - Ну хорошо, попробуем с другого конца. Что вы, по вашему мнению, уже
получили?
     - Как это ни забавно, довольно мало. Мы  обнаружили  много  чудес.  В
некоторых случаях мы научились даже  использовать  эти  чудеса  для  своих
нужд. Мы даже  привыкли  к  ним...  Обезьяна  нажимает  красную  кнопку  -
получает банан, нажимает белую -  апельсин,  но  как  раздобыть  бананы  и
апельсины без кнопок, она не знает. И  какое  отношение  имеют  кнопки  к
бананам и апельсинам,  она  не  понимает.  Братья Стругацкие "Пикник на обочине"

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3d_killer    4

а вобще это прикольно, про RC фильтр я как то не подумал, спасибо за наводку, дальше будем пробовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Berg    18
В ‎14‎.‎10‎.‎2017 в 10:42, 3d_killer сказал:

Ищу небольшую схемку

буззер

https://yandex.ru/images/search?text=подключение буззера к микроконтроллеру&stype=image&lr=967&noreask=1&source=wiz

В ‎14‎.‎10‎.‎2017 в 11:29, 3d_killer сказал:

в программе действуют несколько прерываний, раз в 20 мс

пикать будет самое то

если будет слишком громко, отверстие заклеиваем

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас