Страница 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й при погасании... (как-бы имитируют щелчки контактов реле)