Страница 6 из 7
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Сб май 04, 2024 16:59:59
Varlakotam
Starichok51, ещё один вопрос)))
// ожидание поклевки
_delay_ms(1000);// сначала пауза 1 сек
while((millis()-T)<(Time1+Time2+Pause+1000))
{
s++; //костыль
s1=ADCread(ADC_KLEV);// слушаем аналоговый вход А1 подключен через резистивный делитель к электромагниту согласно схемы
_delay_ms(8);
s2=ADCread(ADC_KLEV);
if (((s1-s2)>Sens || (s2-s1)>Sens)&& s>15)
{
buzzer_on(40, 57);
if (rezhim==1)
{
Вот тут buzzer_on(40, 57); можешь подсказать где устанавливается длительность сигнала?
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Сб май 04, 2024 17:31:29
Starichok51
смотри функцию buzzer_on в файле boot.cpp.
void buzzer_on(uint8_t val, uint8_t freq) {
buzzer_time=val;
OCR2=freq;
}
а теперь ищи по файлам, где используется переменная buzzer_time.
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Сб май 04, 2024 18:00:58
Varlakotam

первые три это звук при выборе программы, 40 это звук при изменении паузы между колебаниями в ручном режиме.
больше не нашел((
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Сб май 04, 2024 20:47:46
Martian
Ну, там же видно, что баззер работает столько, сколько установлена buzzer_time - она постоянно уменьшается на единицу, пока не станет равна нулю. Так что, это и есть длительность. Можно видеть, в приведённом Starichok51 коде, что значение buzzer_time задаётся через val - первый аргумент функции .
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Сб май 04, 2024 20:50:44
Varlakotam
Martian, мне надо пальцем ткнуть, и можно ли её сделать к примеру ровно 1 секунда
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Сб май 04, 2024 20:52:29
Martian
если не научиться базовым элементам программирования, пальцы скоро затупятся... выше я добавил пояснение.
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Сб май 04, 2024 21:16:24
Varlakotam
Martian, вообще не понимаю как Вы определили что buzzer_time уменьшается на единицу, а val чему равняется? И где её значение задают?
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Сб май 04, 2024 21:29:42
Martian
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Сб май 04, 2024 21:47:51
Varlakotam
Martian, с -1 понял, не понятно для чего так устанавливать длительность. Если я поставлю =1000 что-то может поломаться? И какое значение имеет val? Где его задают?
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 04:43:23
Martian
WorldEn писал(а):
"Как программировать на С" Пол Дейтел, Харви Дейтел (здесь всё разжевано до мелочей)
"Язык программирования Си" Керниган и Ритчи (создатели языка)
"Язык программирования C. Лекции и упражнения" Стивен Прата (тоже хорошая книга с положительными отзывами)
"Изучаем программирование на C" Дэвид Гриффитс, Дон Гриффитс
В каждой книге есть упражнения для закрепления материала. Эти книги - лучшие по изучению языка Си
Кроме Гриффитсов, книги остальных авторов есть в "Сундуке". Гриффитсы есть здесь:
https://vk.com/wall-54530371_150619
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 08:09:36
Varlakotam
Martian, Не первый раз сталкиваюсь с этим на форумах: Захожу я в тёмное помещение. Спрашиваю: Мужики! Где освещение включить, на пару минут?
Раздаются любопытные и безразличные голоса: "А зачем это тебе? С какой целью ты это хочешь сотворить?" "Проще фонариком посветить, или даже спичками", "Купи индивидуальный прожектор и не заморачивайся" и т.п.
Появляется добрый, отзывчивый, очень умный и интеллигентный человек и говорит: "Вон там, это же и Ежу понятно".
Я: "Так направление покажите, пальцем тыкните."
В ответ: "Я устал уже всем объяснять, вам нужно самому всё понять и изучить, иначе так и будете всё время спрашивать. Начните с Закона Ома и Кирхгоффа, Вот вам книжки по ОТЦ, ТОЭ, ТЛЭЦ в них всё расписано, вот ещё ГОСТ, СНиП и ПУЭ, а так-же не помешает ТБ и ОТ."
Хочется уйти с этого тёмного помещения, но мне же надо включить освещение, всего лишь нажать на клавишу или щелкнуть переключателем! Больше я не вернусь в это непонятное загадочное место)))
С Праздником всех Православных !
Добавлено after 1 minute 40 seconds:
Книжки я скачал, Спасибо!!! Потихоньку, не доводя себя до головной боли, буду изучать.
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 10:05:48
Martian
Это совершенно неверная аналогия.
Ваш случай аналогичен такому:
- Мужики, где освещение включить?
- Вот выключатель.
- А что надо сделать?
- Нажать на него.
- А чем нажать?
- Пальцем.
- А каким пальцем?
- Любым.
- О, круто! Зажёгся! Мужики, а как теперь выключить свет?
- Надо снова нажать.
- Куда?
- На выключатель.
- А чем нажать?
- Пальцем.
- А каким?
- Любым.
- О, круто, погас! Мужики, я зашел в другую комнату, а как здесь включить свет?
Вот правильная аналогия для Вас и подобных Вам, просящих готовых решений. Притом, обижаетесь, если вам его не дают. А разве обязаны давать?
Дополнительные вопросы, которые Вам кажутся любопытными и безразличными, таковыми являются далеко не всегда. Как Вы вообще способны оценить вопрос, нихуя не разбираясь в теме? Придёте в больницу, скажете доктору: - доктор, у меня здесь болит. А доктор в ответ задаст что? Любопытные и безразличные вопросы? Да как он и смеет, и кто он вообще такой?
Кроме того, надо осознавать, что образование у всех разное, и задать вопрос или ответить часто бывает сложно, потому что спрашивающий и отвечающий имеют разные уровни информационные. Прочитайте рассказ Шекли "Ответчик".
Поэтому, я не могу ответить "поломается ли что-то, если присвоить 1000" - я не владею информацией. Я не могу сказать. где происходит присваивание, потому что ответил уже - через первый аргумент функции. Вы этого ответа не поняли, а также не поняли в нарисованном варианте, а значит, необходимо обучение. Всё свелось к книгам.
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 10:45:23
Varlakotam
Martian, Ни фига я не обижаюсь, я тут в роли просящего нуба, а не требующего. И я прекрасно понимаю что ответы на мои нелепые вопросы требуют личного времени и мозговой деятельности.
Вы мне прилично помогли, и за это большое спасибо.
buzzer_time=1000 проверил, повлияло на длительность всех сигналов. А мне нужно поправить только один.
А аналогию я привел верную, стандартную. А Вы её утрировали до уж совсем... Ну я не совсем же тупой)))
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 10:57:37
veso74
[uquote="Varlakotam",url="/forum/viewtopic.php?p=4576188#p4576188"]... Вот тут buzzer_on(40, 57); можешь подсказать где устанавливается длительность сигнала?[/uquote]
Попробуйте buzzer_on(40, 57); -> buzzer_on(255, 57); Хватит ли времени бузера?
Если нет, то в этом ряду выполните 2..3..4..n раз именно для этого случая.
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 11:08:41
Starichok51
Varlakotam писал(а):Если я поставлю =1000 что-то может поломаться?
смотрим функцию:
void buzzer_on(uint8_t val, uint8_t freq) {
buzzer_time=val;
OCR2=freq;
}
и видим, что длительность имеет тип uint8_t, то есть 1 байт. а 1000 - это 2 байта.
Varlakotam писал(а):И какое значение имеет val? Где его задают?
ты добиваешься, чтобы тебя отматерили?
где его задают - ты сам в поиске нашел все строки, где его задают.
а какое значение имеет, видно в этих найденных строках.
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 11:09:36
Varlakotam
veso74, два еррора

Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 11:13:10
veso74
[uquote="Varlakotam",url="/forum/viewtopic.php?p=4576451#p4576451"]... два еррора ...[/uquote]
Просто замените одну строку другой. А если времени звукового сигнала недостаточно, повторите строка еще раз, еще 2 раза, еще n раз ...
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 11:19:39
Varlakotam
Starichok51, да материте, чего уж там..
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 11:24:56
Starichok51
а там где задается
buzzer_time=1000;
буззер работает мимо функции buzzer_on.
Re: Atmega8 регулировка частоты и амплитуды
Добавлено: Вс май 05, 2024 11:31:08
Varlakotam
veso74, Спасибо дружище!!! Работает как нужно, одной строкой.