Страница 1 из 1

Помогите с прошивкой для Attiny13 (зуммер поворотников)

Добавлено: Вт авг 06, 2019 19:32:48
EugenySVK
Всем доброе время суток! Прошу помочь с прошивкой. Задумка такая: хочу сделать повторитель поворотников для машины с возможностью выбора тона. То есть нажал кнопку звук один, еще раз нажал, звук другой. Питание на схему подаваться будет только в момент срабатывания поворотников. Звук через буззер без встроенного генератора.
Тини 13 выбрал из-за маленьких размеров, файл с примером звуков прилагаю. (Хотелось бы 1, 2, 3 варианты). Если это сильно сложно, то можно без выбора тона, а просто отдельные коды с разными тонами.

P.S. Вся проблема в том, что ума не приложу, как получить подобные звуки и как вообще составить этот код. Уже дня 4 убил пытаясь что-то понять (имея высшее медицинское образование слишком далек от темы программирования).

Заранее всем огромное спасибо за помощь.

Re: Помогите с прошивкой для Attiny13 (зуммер поворотников)

Добавлено: Вт авг 06, 2019 23:18:30
АлександрЛ
Вот интересно.. Только что читал просьбу НЕ ВЫКЛАДЫВАТЬ файлы в "альтернативных" архиваторах- просят размещать в формате "zip".. Рары всякие есть, и они между собой как- то не очень хорошо "общаются", а зип, он и в африке- ЗИП..

Re: Помогите с прошивкой для Attiny13 (зуммер поворотников)

Добавлено: Ср авг 07, 2019 06:20:40
EugenySVK
[uquote="АлександрЛ",url="/forum/viewtopic.php?p=3678193#p3678193"]Вот интересно.. Только что читал просьбу НЕ ВЫКЛАДЫВАТЬ файлы в "альтернативных" архиваторах- просят размещать в формате "zip".. Рары всякие есть, и они между собой как- то не очень хорошо "общаются", а зип, он и в африке- ЗИП..[/uquote]


Исправил.

Re: Помогите с прошивкой для Attiny13 (зуммер поворотников)

Добавлено: Ср авг 07, 2019 07:02:14
Ivanoff-iv
Там у тебя даже 2х тоналка...
самое простое - ведь мк больше ничем не занят, использовать Делай(мс):

Код: Выделить всё

.......
while(1){
while ((PINB&(1<<IN))==0) {};
for (i=0,i<N1,i++){
 Delay_ms(T1);
 PINB=(1<<OUT);
 };
PORTB&=~(1<<OUT);
while (PINB&(1<<IN)) {};
for (i=0,i<N2,i++){
 Delay_ms(T2);
 PINB=(1<<OUT);
 };
PORTB&=~(1<<OUT);
};
N1, N2 - длительности пищания
Т1, Т2 - частоты (чем больше, тем ниже частота)
1,2 - соответственно, при включении и выключении лампы
по нажатии кнопочки можно сделать смену режимов - изменять N и Т...

Добавлено after 5 minutes 55 seconds:
питание придется организовать с буферным конденсатором, он обеспечит второй "пик" (при гашении лампы)

Добавлено after 3 minutes 1 second:
сами Т и N (или номер "мелодии") придется сохранять в еепром (питание, то постоянно "пропадает")

Re: Помогите с прошивкой для Attiny13 (зуммер поворотников)

Добавлено: Ср авг 07, 2019 07:21:09
ARV
я бы проект чуть видоизменил:
- буззер без встроенного генератора заменил бы на пьезокерамический излучатель
- излучатель подключил бы на 2 пина МК, управляемые в противофазе

Код: Выделить всё

PORTB = 1<<OUT1;
while(1){
   PORTB ^= (1<<OUT1) | (1<<OUT2);
   _delay_us(DELAY); 
}
- поскольку питание подается только на время "бипа", нет необходимости в каких-то дополнительных циклах и т.п., пусть Мк только пищит
- т.к. управлять таким "прерывисто питаемым" МК для выбора тона сложновато (надо успевать нажимать на кнопку в моменты, когда есть питание), я бы просто завел переменный резистор на одну из ножек и при помощи АЦП "измерял бы" уровень, на основе которого вычислял бы значение DELAY

хотя после всех этих "доработок" роль микроконтроллера будет сведена к NE555 :)))

Re: Помогите с прошивкой для Attiny13 (зуммер поворотников)

Добавлено: Ср авг 07, 2019 10:34:44
Ivanoff-iv
у него короткие "чирпы" 2х тонов, 1й при зажигании лампы, 2й при погасании... (как-бы имитируют щелчки контактов реле)