Как заставить arduino петь как zx spectrum. часть 2: музыка dizzy iv на arduino nano

Содержание

Отличия активного и пассивного зуммера

Главное отличие активного зуммера от пассивного заключается в том, что активный зуммер генерирует звук самостоятельно. Для этого пользователь должен просто включить или выключить его, другими словами, подав напряжение на контакты или обесточив. Пассивный зуммер же требует источника сигнала, который задаст параметры звукового сигнала. В качестве такого источника может выступать плата Ардуино. Активный зуммер будет выдавать более громкий звуковой сигнал в сравнении с его конкурентом. Частота излучаемого звука активного зуммера составляет значения 2,5 кГц +/- 300Гц. Напряжение питания для пищалки варьируется от 3,5 до 5 В.

Активный пьезоизлучатель предпочтительней еще из-за того, что в скетче не потребуется создавать дополнительный фрагмент кода с задержкой, влияющий на рабочий процесс. Также для определения того, что за элемент находится перед пользователем, можно измерить сопротивление между двумя проводами. Более высокие значения будут указывать на активный зуммер ардуино.

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

Не работает пищалка (зуммер, баззер) на квадрокоптере, что делать? — Все о квадрокоптерах

Совсем недавно у меня перестала пищать пищалка на квадрокоптере. Она работала, но писк было еле слышно, а дрон у меня гоночный без (пока еще) OSD, поэтому о разряде аккумулятора я мог узнать только по пищалке. То есть, когда аккумулятор разряжался до 3,5 вольта на банку, зуммер начинал пищать. Также зуммер нужен для поиска дрона, если он упадет в траву или еще куда-то.

Пищалка (зуммер, баззер) выглядит вот так: Нужны на 5 вольт, на 12 пищать не будут + нужны именно такие, с встроенным генератором.

Полетный контроллер у меня SP Racing F3, там есть специальный контакт BUZZER, к которому и припаивается пищалка.

Сначала пробовал перепаять контакты, припаять другую пищалку (3 штуки пробовал) — ничего не помогло. В общем, пищалка на квадрокоптере не работает, что делать? Вспоминаю, что можно переназначать порты.

Я как раз писал об этом статью: переназначение выходов на моторы в BetaFlight и других портов.

Плата имеет такой вид:

У меня на квадрокоптере нет Сонара, поэтому я решил отправить сигнал с порта BUZZER на Sonar Pad (ECHO).  Полярность контактов: плюс у меня будет припаиваться к сонару, а минус к PWM.

Выглядит это вот так:

Перед тем, как припаять пищалку на новое место (напомню, у меня перестал пищать зуммер на квадрокоптере), я поменял в Betaflight в разделе CLI местами пищалку. Прописаны они были вот так:

  • resource BEEPER 1 C15
  • resource SONAR_ECHO 1 B01

Для начала, как написано в статье про смену портов (https://profpv.ru/переназначение-выходов-на-моторы-в-betaflight/), я очистил значения этих полей командой NONE:

  • resource BEEPER 1 NONE
  • resource SONAR_ECHO 1 NONE

Затем, я дал функции BEEPER 1 кодовое слово от Сонара, чтобы контроллер думал, что это баззер и направлял сигнал пищалки на контакт сонара, мы перепрограммируем вывод данных на другие порты, грубо говоря — заставим полетный контроллер думать, что это не контакт сонара, а контакт пищалки:

Пишем это и нажимаем enter, затем пишем save и снова энтер. Теперь пишем команду «resource» и проверяем, поменялись ли значения бипера на новые. Должно быть все ОК.

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

Сначала, правда, я не припаивал, а подсоединял контакты к разным площадкам, я не вдавался в причину, но сначала у меня минусы заставляли пищать пищалку постоянно, пока не попробовал припаять минус к PWM, возможно у вас тоже будет постоянно пищать, поэтому пробуйте припаивать минус к другим контактам, я нашел сначала контакт минуса на VBAT (это контроль вольтажа аккумулятора), но подумал, что как-то неправильно лепить пищалку к vbat, и решил к PWM попробовать. Сработало. Если по этой теме будут вопросы, создавайте тему на форуме: https://profpv.ru/forum/forums/apparatura-upravlenija-zu-i-aksessuary.11/ я вам обязательно помогу.

Примеры для зуммера активного:

Вывод короткого звукового сигнала.

Как видно из скетча, управлять Trema-зуммером со встроенным генератором так же легко, как и обычным светодиодом.

Продолжаем серию уроков “Arduino для начинающих”. Сегодня собираем модель с пьезоэлементом (динамиком), которые используются в робототехники для управления звуками, издаваемыми роботом. В статье вы найдете видео-инструкцию, листинг программы, схему подключения и необходимые компоненты.

Пьезоэлемент — электромеханический преобразователь, одним из разновидностей которого является пьезоизлучатель звука, который также называют пьезодинамиком, просто звонком или английским buzzer. Пьезодинамик переводит электричеcкое напряжение в колебание мембраны. Эти колебания и создают звук (звуковую волну).

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

Видео-инструкция сборки модели:

https://youtube.com/watch?v=Y3v5JzJH80Y

Для сборки модели с пьезоэлементом нам потребуется:

  • плата Arduino
  • провода “папа-папа”
  • пьезоэлемент
  • программа Arduino IDE, которую можно скачать с сайта Arduino.

Что потребуется для подключения динамика на Arduino?

Схема подключения модели Arduino с пьезоэлементом:

Схема подключения пьезоэлемента (динамика) на Arduino

Для работы этой модели подойдет следующая программа (программу вы можете просто скопировать в Arduino IDE):

int p = 3; //объявляем переменную с номером пина, на который мы //подключили пьезоэлемент void setup() //процедура setup <pinMode(p, OUTPUT); //объявляем пин как выход > void loop() //процедура loop <tone (p, 500); //включаем на 500 Гц delay(100); //ждем 100 Мс tone(p, 1000); //включаем на 1000 Гц delay(100); //ждем 100 Мс >

Так выглядит собранная модель Arduino с пьезоэлементом:

Собранная модель подключения динамика на Arduino

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

Посты по урокам:

Все посты сайта «Занимательная робототехника» по тегу Arduino.

Наш YouTube канал, где публикуются видео-уроки.

Пищалка на Ардуино, которую часто еще называют зуммером, пьезодинамиком или даже баззером – частый гость в DIY проектах. Этот простой электронный компонент достаточно легко подключается к платам Arduino, поэтому вы можете быстро заставить вашу схему издавать нужные звуки – сигнализировать, пищать или вполне сносно проигрывать мелодию. В данной статье расскажем про отличие активных и пассивных зуммеров, разберем схему подключения пьезоэлемента к плате Ардуино и покажем пример скетча для управления пищалкой. А еще вы найдете пример мелодии, которыми cможете снабдить свой проект.

1 Схема подключения пьезоизлучателяк Arduino

Пьезоизлучатель, или пьезоэлектрический излучатель, или «пьезопищалка» – это электроакустическое устройство воспроизведения звука, использующие обратный пьезоэлектрический эффект. Принцип действия его основан на том, что под действием электрического поля возникает механическое движение мембраны, которое и вызывает слышимые нами звуковые волны. Обычно такие излучатели звука устанавливают в бытовую электронную аппаратуру в качестве звуковых сигнализаторов, в корпуса настольных персональных компьютеров, в телефоны, в игрушки, в громкоговорители и много куда ещё.

Пьезоизлучатель имеет 2 вывода, причём полярность имеет значение. Поэтому чёрный вывод подключаем к земле (GND), а красный – к любому цифровому пину с функцией ШИМ (PWM). В данном примере положительный вывод излучателя подключён к выводу «D3».

Схема подключения пьезоизлучателя к Arduino и схема, собранная на макетной плате

3 Извлекаем звук из пьезоизлучателяс помощью функции tone()

Но частоту звучания можно менять по-другому. Для этого извлечём звук из пьезоизлучателя посредством встроенной функции tone(). Пример простейшего скетча приведён на врезке.

int soundPin = 3; /* объявляем переменную с номером пина, 
  на который мы подключили пьезоэлемент */
void setup() {
    pinMode(soundPin, OUTPUT); //объявляем пин 3 как выход.
    Serial.begin(9600); // будем выводить в порт текущую частоту
}

void loop() {
    for (int i=20; i

Функция tone() принимает в качестве аргументов номер вывода Arduino и звуковую частоту. Нижний предел частоты – 31 Гц, верхний предел ограничен параметрами пьезоизлучателя и человеческого слуха. Чтобы выключить звук, посылаем в порт команду noTone().

А вот так будет выглядеть временная диаграмма сигнала, который генерирует функция tone(). Видно, что каждые 100 мс частота увеличивается, что мы и слышим:

Временная диаграмма сигнала функции tone()

Как видите, с помощью пьезоизлучателя из Ардуино можно извлекать звуки. Можно даже написать несложную музыкальную композицию, задав ноты соответствующими частотами, а также определив длительность звучания каждой ноты посредством функции delay().

Обратите внимание, что если к Ардуино подключены несколько пьезоизлучателей, то единовременно будет работать только один. Чтобы включить излучатель на другом выводе, нужно прервать звук на текущем, вызвав функцию noTone()

Важный момент: функция tone() накладывается на ШИМ сигнал на «3» и «11» выводах Arduino. Т.е., вызванная, например, для пина «5», функция tone() может мешать работе выводов «3» и «11». Имейте это в виду, когда будете проектировать свои устройства.

Отличия активного и пассивного зуммера

Главное отличие активного зуммера от пассивного заключается в том, что активный зуммер генерирует звук самостоятельно. Для этого пользователь должен просто включить или выключить его, другими словами, подав напряжение на контакты или обесточив. Пассивный зуммер же требует источника сигнала, который задаст параметры звукового сигнала. В качестве такого источника может выступать плата Ардуино. Активный зуммер будет выдавать более громкий звуковой сигнал в сравнении с его конкурентом. Частота излучаемого звука активного зуммера составляет значения 2,5 кГц +/- 300Гц. Напряжение питания для пищалки варьируется от 3,5 до 5 В.

Активный пьезоизлучатель предпочтительней еще из-за того, что в скетче не потребуется создавать дополнительный фрагмент кода с задержкой, влияющий на рабочий процесс. Также для определения того, что за элемент находится перед пользователем, можно измерить сопротивление между двумя проводами. Более высокие значения будут указывать на активный зуммер ардуино.

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

Подключение кнопки в режиме INPUT_PULLUP

В указанной выше схеме мы использовали резистор, называемый подтягивающим, для формирования определенного уровня сигнала на цифровом порту. Но есть другой способ подключить кнопку без резистора, используя внутренне сопротивление платы ардуино. В блоке setup мы должны всего лишь определить тип пина, к которому подключим кнопку, как INPUT_PULLUP.


pinMode(PIN_BUTTON, INPUT_PULLUP);

Альтернативным вариантом будет выбрать режим пина как OUTPUT и установить на данный порт высокий уровень сигнала. Встроенный подтягивающий резистор подключиться автоматически.


pinMode(PIN_BUTTON, INPUT_PULLUP);

digitalWrite(PIN_BUTTON, HIGH);

И все. Можно собрать вот такую сложную схему и работать с кнопкой в скетче.

Подключения зуммера к Arduino

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

Подключение пищалки к Ардуино (порт 12)

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

Схема подключения зуммера

На некоторых вариантах корпусов зуммера можно найти отверстие для фиксации платы при помощи винта.

Зуммер arduino имеет два выхода

Следует обратить внимание на их полярность. Темный провод должен быть подключен к «земле», красный – к цифровому пину с PWM

Один вывод настраивается в программе как «вход». Arduino отслеживает колебания напряжения на выводе, на который подаётся напряжение с кнопки, резистора и датчиков.

Пищалка Арудино с названиями контактов

Напряжение на «вход» подается различное по значениям, система четко фиксирует только два состояния – вышеупомянутые 1 и 0 (логические ноль и единица). К логической единице будет относиться напряжение 2,3-5 В. Режим «выход» – это когда Arduino подает на вывод логический ноль/единицу. Если брать режим логического нуля, тут величина напряжения настолько мала, что ее не хватает для зажигания светодиода.

Схема подключения пищалки к Ардуино

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

Пример скетча для пьезодимнамика

Для “оживления” подключенного к плате ардуино зуммера потребуется программное обеспечение Arduino IDE, которое можно скачать на нашем сайте.

Одним из простейших способов заставить заговорить пищалку является использование функции «analogwrite». Но лучше воспользоваться встроенными функциями. За запуск звукового оповещения отвечает функция «tone()», в скобках пользователю следует указывать параметры частоты звука и номера входа, а также времени. Для отключения звука используется функция «noTone()».

Пример скетча с функцией tone() и noTone()

//Пин, к которому подключен пьезодинамик.
int piezoPin = 3;
 
void setup() {
 
}

void loop() {
 
  /*Функция принимает три аргумента
    1) Номер пина
    2) Частоту в герцах, определяющую высоту звука
    3) Длительность в миллисекундах. 
  */
  tone(piezoPin, 1000, 500); // Звук прекратится через 500 мс, о программа останавливаться не будет!

  /* Вариант без установленной длительности   */
  tone(piezoPin, 2000); // Запустили звучание
  delay(500);
  noTone(); // Остановили звучание


}

Схема подключения для примера выглядит следующим образом:

Подключение пищалки к 3 пину Ардуино

Когда вы используете функцию tone(), то возникают следующие ограничения.

Невозможно одновременно использовать ШИМ на пинах 3 и 11 (они используют одинаковый внутренний таймер), а также нельзя запустить одновременно две мелодии двумя командами tone() – в каждый момент времени будет исполняться только одна.Еще одно ограничение: нельзя извлечь звук частотой ниже 31 Гц. 

Вариант скетча для активного зуммера чрезвычайно прост. С помощью digitalWrite() мы выставляем значение 1 в порт, к которому подключена пищалка.

Вариант скетча для зуммера без tone()

Пример скетча для варианта без функции tone() представлен на изображении внизу. Этот код задает частоту включения звука один раз в две секунды.

Пример скетча

Для корректной работы устройства необходимо задать номер PIN, определить его как «выход». Функция analogWrite использует в качестве аргументов номер вывода и уровень, который изменяет свое значение от 0 до 255. Это все по причине того, что шим-выводы Arduino имеют ЦАП (цифроаналоговый преобразователь) 8-бит. Изменяя этот параметр, пользователь меняет громкость зуммера на небольшую величину. Для полного выключения следует пропитать в порте значение «0». Следует сказать, что используя функцию «analogwrite», пользователь не сможет изменять тональность звука. Для пьезоизлучателя будет определена частота 980 Гц. Это значение совпадает с частотой работы выводов с шим на платах Ардуино и аналогов.

1 Схема подключения пьезоизлучателяк Arduino

Пьезоизлучатель, или пьезоэлектрический излучатель, или «пьезопищалка» – это электроакустическое устройство воспроизведения звука, использующие обратный пьезоэлектрический эффект. Принцип действия его основан на том, что под действием электрического поля возникает механическое движение мембраны, которое и вызывает слышимые нами звуковые волны. Обычно такие излучатели звука устанавливают в бытовую электронную аппаратуру в качестве звуковых сигнализаторов, в корпуса настольных персональных компьютеров, в телефоны, в игрушки, в громкоговорители и много куда ещё.

Пьезоизлучатель имеет 2 вывода, причём полярность имеет значение. Поэтому чёрный вывод подключаем к земле (GND), а красный – к любому цифровому пину с функцией ШИМ (PWM ). В данном примере положительный вывод излучателя подключён к выводу «D3».

Схема подключения пьезоизлучателя к Arduino и схема, собранная на макетной плате

Простые схемы использования

Чтобы продемонстрировать работу датчиков звука с Arduino можно собрать простую схему:

Резистор используемый в ней, берется номиналом в 220 Ом. Основная функциональность выражается в зажигании светодиода при обнаружении громких звуков и гашения его в случае тишины. Скетч:
Изменяя время задержки, между включением и гашением светодиода, а также пробным путем выведя значения «тишины» SilenceMax и SilenceMin, можно добиться работы приведенной схемы в роли детектора движения по звуку. Конечно, качество определения у него будет низкое, но вполне позволяющее применять конструкцию в цепях управления освещением темных мест. Достаточно добавить фоторезистор для определения текущего уровня видимости, в роли которого можно использовать специальную плату Arduino или обычный радиоэлектронный компонент, подключаемый через делитель.

Как видно по схеме, в ней используются два резистора – R1 на 10 кОм и R2 220 Ом. Светодиод LED в финальном варианте можно заменить на релейную группу, для подачи питания на «взрослые» лампы 220В. Скетч, управляющий всем перечисленным хозяйством:

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

Описание и схема работы зуммера

Зуммер, пьезопищалка – все это названия одного устройства.  Данные модули используются для звукового оповещения в тех устройствах и системах, для функционирования которых в обязательном порядке нужен звуковой сигнал. Широко распространены зуммеры в различной бытовой технике и игрушках, использующих электронные платы. Пьезопищалки преобразуют команды, основанные на двухбитной системе счисления 1 и 0, в звуковые сигналы.

Пьезоэлемент “пищалка”

Пьезопищалка конструктивно представлена металлической пластиной с нанесенным на нее напылением из токопроводящей керамики. Пластина и напыление выступают в роли контактов. Устройство полярно, имеет свои «+» и «-». Принцип действия зуммера основан на открытом братьями Кюри в конце девятнадцатого века пьезоэлектрическом эффекте. Согласно ему, при подаче электричества на зуммер он начинает деформироваться. При этом происходят удары о металлическую пластинку, которая и производит “шум” нужной частоты.

Устройство пьезодинамика пищалки

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

Модуль пищалки для Ардуино

Если сравнивать с обыкновенными электромагнитными преобразователями звука, то пьезопищалка имеет более простую конструкцию, что делает ее использование экономически обоснованным. Частота получаемого звука задается пользователем в программном обеспечении (пример скетча представим ниже).

Отличия активного и пассивного зуммера

Главное отличие активного зуммера от пассивного заключается в том, что активный зуммер генерирует звук самостоятельно. Для этого пользователь должен просто включить или выключить его, другими словами, подав напряжение на контакты или обесточив. Пассивный зуммер же требует источника сигнала, который задаст параметры звукового сигнала. В качестве такого источника может выступать плата Ардуино. Активный зуммер будет выдавать более громкий звуковой сигнал в сравнении с его конкурентом. Частота излучаемого звука активного зуммера составляет значения 2,5 кГц +/- 300Гц. Напряжение питания для пищалки варьируется от 3,5 до 5 В.

Активный пьезоизлучатель предпочтительней еще из-за того, что в скетче не потребуется создавать дополнительный фрагмент кода с задержкой, влияющий на рабочий процесс. Также для определения того, что за элемент находится перед пользователем, можно измерить сопротивление между двумя проводами. Более высокие значения будут указывать на активный зуммер ардуино.

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

Примеры мелодий для зуммера

Для того, чтобы разнообразить работу с новым проектом, добавить в него «развлекательный» элемент, пользователи придумали задавать определённый набор частот звука, делая его созвучным некоторым знаменитым композициям из песен и кинофильмов. Разнообразные скетчи для таких мелодий можно найти в интернете. Приведем пример мелодии для пьезопищалки для одного из самых узнаваемых треков «nokia tune»из ставших легендарными мобильников Nokia. Файл pitches.h можно сделать самим, скопировав его содержимое так, как указано в этой статье на официальном сайте.

Скетч

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

Частота нот для пищалки Ардуино

Простой металлоискатель на базе Arduino

Для постройки понадобятся:

  • одноплатный компьютер Arduino Nano;
  • зуммер (небольшой динамик-«пищалка»);
  • катушка индуктивности — покупная или намотанная самостоятельно;
  • конденсатор на 10 нФ;
  • резистор на 330 Ом;
  • резистор на 1 кОм;
  • диод типа 1N4148;
  • светодиод;
  • макетная плата;
  • источник питания на 9 В;
  • провода для соединения.

Схема устройства

Готовый металлоискатель на Arduino схематически выглядит так:

Всеми процессами управляет микрокомпьютер Arduino. О нахождении в поле «зрения» металла сигнализирует дополненный светодиодом зуммер, а катушка с конденсатором служат непосредственно для обнаружения. Импульсный диод в схеме нужен для понижения напряжения, а резистор ограничивает ток на контактах Ардуино.

Все элементы монтируются на макетной плате. Вид в сборе:

Схема действует следующим образом:

  • на выходе Ардуино мы создаем импульсы прямоугольной формы;
  • они поступают на LR фильтр верхних частот;
  • с каждым переходом уровня на катушке возникнет быстрый остроконечный импульс. Долгота его пропорциональна значению индуктивности нашей катушки.

Измеряя ширину импульса, можно замерить и саму индуктивность

Но важно учесть, что длина импульсов всего около 0.5 микросекунды, и «поймать» их по отдельности с помощью Arduino затруднительно. Поэтому в систему внедрен конденсатор: он заряжается импульсами до уровня считывания напряжения контроллером через аналоговый контакт A5

На аналогово-цифровом преобразователе из него будет получено цифровое значение. Когда напряжение считано, конденсатор разряжается подачей низкого напряжения на А5 — так называемый «логический нуль» (перед этим программа переводит контакт из режима «ввода» на «вывод».

Цикл занимает примерно 200 мс. Для большей точности его можно повторить его несколько раз и получить среднее значение, с каковым и работать. Зная приближенное значение индуктивности, плата анализирует его и выдает заданные сигналы на диод и динамик.

Прошивка

Поскольку мы делаем импульсный металлоискатель на Ардуино, мало его собрать — нужно еще залить управляющее ПО. В терминологии Arduino оно называется «скетч» и прошивается в плату при помощи входящей в комплект среды разработки.

Пример простого скетча для описанной выше схемы:

Здесь:

  • инициализируются два контакта контроллера. Первый генерирует идущие на катушку импульсы, второй — читает напряжение с конденсатора;
  • также включаются два контакта — они управляют диодом и звуковым зуммером.

При попадании в область детекции катушки зуммер издает звук, а диод часто мигает.

Прибор может быть собран в любом удобном корпусе, покупном или самодельном. В самом простом случае его можно смонтировать даже на селфи-палке.

Исправление проблем

Если датчик звука работает неправильно, попробуйте выполнить следующие действия.

  1. Дважды проверьте, что источник питания обеспечивает чистое напряжение питания. Поскольку звуковой датчик – это аналоговая схема, он более чувствителен к шуму, создаваемому блоком питания.
  2. Электретный микрофон в звуковом датчике также чувствителен к механическим вибрациям и шуму ветра. Установка с помощью эластичных/упругих материалов может помочь поглотить вибрацию.
  3. Диапазон чувствительности этого звукового датчика очень мал, возможно, всего 10 дюймов (примерно 25 см), поэтому, чтобы получить хорошую реакцию, вам нужно создавать шум намного ближе.

Более сложная схема с шестью катушками

Для лучших результатов можно использовать несколько катушек и плату Arduino Nano.

Понадобятся:

  • контроллер Ардуино;
  • 9-вольтовый источник питания;
  • счетверенный компаратор LM339 — 2 шт.;
  • макетная плата Veroboard 50 на 80 мм;
  • резисторы на 1 кОм — 5 шт.;
  • резисторы на 100 Ом — 5 шт.;
  • диод сигнальный IN4148 — 5 шт.;
  • конденсатор на 0.1 мкФ — 5 шт.;
  • конденсатор керамический на 330 пФ — 5 шт.;
  • резистор на 10К — 1 шт.;
  • светодиодная лента с резистором на 150 Ом, под напряжение 3 В — для визуальной индикации.

Проводником здесь служит медный провод сечением 0.26 мм и 25 метров в длину. Также нужны 3 мяча для пинг-понга, лист пластика, 6-мм МДФ 22 на 23 см для основы катушек (два листа), двухкомпонентный эпоксидный клей и экранированный кабель сечением 2–3 мм и длиной 30 см. Под рукоять можно взять пластиковую ручку швабры с гибким шарниром или другую похожую конструкцию.

Подготовка

Сперва создадим на картоне шаблон, нарисовав на нем круг радиусом 40 мм и разделив его на 8 одинаковых сегментов. Должна получиться шестиугольная форма. С ее помощью рисуется контур на листе бумаги. Всего должно получиться пять форм, которые следует скопировать на доску МДФ, как показано на картинке. Получившееся следует вырезать в двух экземплярах.

Далее в центре каждого шестиугольника одной из форм фрезой сверлятся отверстия под будущие катушки:

И листы скрепляются эпоксидным клеем, в результате чего появляется основа детектора.

Затем на 40-мм цилиндр наматывается 40 витков проволоки. Должно получиться пять таких катушек. Обмотки можно склеить горячим клеем, оставляя в начале и конце по 20 см для соединения с платой.

После этого в каждом узле катушки высверливается 3-мм отверстие для подвода проводов, и намотанные блоки приклеиваются на место.

Важно делать их «заподлицо» с плитой МДФ, чтобы катушки не портились при работе с прибором

Монтаж

Схема будущего металлоискателя:

Монтажная плата размечается по созданному ранее макету.

Сперва ставится контроллер Arduino и чип LM339. Затем добавляются конденсаторы и резисторы, с ними же ставится экранированный кабель.

Конденсаторы на 0.1 мкФ можно разместить прямо на МДФ для экономии места и провода, там же ставятся диоды.

Когда система собрана, ее остается разместить в корпус. Для верхней и нижней части по шаблону вырезаются пластиковые листы, из пластика же делаются боковины. В крышке сверлятся отверстия для диодов — здесь пригодятся пластиковые шарики, которые разрезаются на половинки и ставятся под отверстиями для рассеивания света. Допустимо обойтись без них — рассеивание нужно лишь для красоты.

Источник питания в данном случае заключен в контейнер на крышке.

Готовый вид конструкции: