01-09-2025, 13:59
думаю что это можно сделать на attiny85, но без диодов
|
Доработка металлоискателя Пират
|
|
01-09-2025, 13:59
думаю что это можно сделать на attiny85, но без диодов
01-09-2025, 14:24
01-09-2025, 17:39
Перепишу всё по другому.. мне вот эта секунда мешает.
// Задерживаю на 1 сек и замеряю частоту сигнала delay(1000); unsigned long frequency = pulseCount; // Частота в герцах
01-09-2025, 18:43
(01-09-2025, 14:24)-vlad- : А вот ардуина,не сложнее, для программирования можно использовать ардуино, стоит попробовать. (01-09-2025, 17:39)-vlad- : delay(1000);для тестирования скеча она полезна а для собраного прибора надо ее убрать, тогна прибор будет отвечать на метал без опоздания.
01-09-2025, 20:08
gal, Тут видишь где у меня собака порылась. Я не могу на том скетче запустить генерацию 125Гц и 125 микросекунды. Просто могу сделать 125Гц. А вот 125 микросекунд ну ни как.
Начну от простого к сложному. На первом месте будет 125Гц 125 ms. И потихоньку вычислю, где я не так делаю. Вот набросал скетч, вроде работает, от него и буду прыгать... Код: void setup() {
01-09-2025, 20:19
digitalWrite(9, LOW); // D9 в LOW
delayMicroseconds(7755); digitalWrite(9, LOW); // D9 в LOW delayMicroseconds(7800); ?
01-09-2025, 23:09
(01-09-2025, 20:08)-vlad- : Я не могу на том скетче запустить генерацию 125Гц и 125 микросекунды.Это через ШИМ делается, частоту ШИМ можно менять, но для этого придётся изучать таймеры аппаратно https://alexgyver.ru/lessons/overclock/ или разбираться с библиотеками. https://alexgyver.ru/gyverpwm/ Всё не так просто. В любом случае для одновременной работы звука и накачки датчика( две разные частоты одновременно) нужно распределять это между таймерами да ещё так что-бы не задеть системные функции Ардуины.
01-09-2025, 23:34
KEN, Я так и понял, что как бы 2 разные частоты разные по функцианалу сложно сделать ,так как 125Гц125мс уже не так выдает на выходе, если в loop задействована ещё другая частота, например озвучка led.
Если бы не эти 125мс, всё бы получилось. Но есть идея ещё у меня, попробую реализовать завтра.
02-09-2025, 00:22
(01-09-2025, 23:34)-vlad- : Если бы не эти 125мс, всё бы получилось. Вот это вставить в setup() TCCR1B = 0x18; TCCR1A = 0x82; ICR1 = 16000;// Частота OCR1A = 250;//Ширина импульса TCNT1=0x0; pinMode(9, OUTPUT); TCCR1B |= 2; И на выводе D9 будет то что надо OCR1A - чем меньше тем меньше ширина импульса, ICR1 - чем меньше тем больше частота, ширина также будет меняться. Для функции tone обязательно выбрать вывод D11, и вроде должно работать одновременно. |
|
« Предыдущая тема Следующая »
|