- Необхідний матеріал
- Працює звуковий датчик
- Схема схеми датчика звуку
- Музична схема води фонтан
- Програмування Arduino Nano для Танцюючого фонтану
Є кілька фонтанів, які безумовно окроплюють воду цікавими світловими ефектами. Тож я задумався про те, щоб розробити інноваційний фонтан для води, який може реагувати на зовнішню музику та бризкати водою залежно від музичних ритмів. Хіба це не цікаво звучить?
Основна ідея цього фонтану для води Arduino полягає в тому, щоб взяти вхід від будь-якого зовнішнього джерела звуку, такого як мобільний телефон, iPod, ПК тощо, відібрати звук і розбити його на різні діапазони напруги, а потім використовувати вихід, щоб увімкнути різні реле. Спочатку ми використали модуль датчика звуку на основі конденсаторного мікрофона для виконання на джерелі звуку поділу звуків на різні діапазони напруги. Тоді напруга буде подаватися на підсилювач для порівняння рівня звуку з певною межею. Діапазон вищої напруги буде відповідати реле-реле, яке включає музичний фонтан для води, що працює під ритми та ритми пісні. Отже, ми будуємо цей музичний фонтан з використанням Arduino та звукового датчика.
Необхідний матеріал
- Arduino Nano
- Модуль звукового датчика
- Модуль реле 12 В
- Насос постійного струму
- Світлодіоди
- Підключення проводів
- Веро дошка або макет
Працює звуковий датчик
Модуль датчика звуку - це проста електронна плата на основі електретного мікрофона, яка використовується для відчуття зовнішнього звуку з навколишнього середовища. Він заснований на підсилювачі потужності LM393 та електретному мікрофоні, за допомогою нього можна виявити, чи немає звуку за встановлену граничну межу. Вихід модуля - це цифровий сигнал, який вказує на те, що звук більший або менший за порогове значення.
Потенціометр можна використовувати для регулювання чутливості модуля датчика. Вихід модуля ВИСОКИЙ / НИЗКИЙ, коли джерело звуку нижчий / вищий за поріг, встановлений потенціометром. Той самий модуль датчика звуку також може використовуватися для вимірювання рівня звуку в децибелах.
Схема схеми датчика звуку
Як ми знаємо, в модулі звукового датчика основним вхідним пристроєм є мікрофон, який перетворює звукові сигнали в електричні. Але оскільки вихід електричного сигналу датчика звуку настільки малий за величиною, що дуже важко проаналізувати, ми використовували схему транзисторного підсилювача NPN, яка буде його посилювати і подавати вихідний сигнал на неінвертуючий вхід підсилювач Тут LM393 OPAMP використовується як компаратор, який порівнює електричний сигнал від мікрофона та опорний сигнал, що надходить від схеми дільника напруги. Якщо вхідний сигнал більше опорного сигналу, тоді вихід OPAMP буде високим і навпаки.
Ви можете стежити за розділами схем Op-amp, щоб дізнатися більше про його роботу.
Музична схема води фонтан
Як показано на наведеній вище схемі схеми музичного фонтану, звуковий датчик живиться від джерела живлення Arduino Nano на 3,3 В, а вихідний штифт модуля звукового датчика підключений до аналогового вхідного штифта (A6) Nano. Ви можете використовувати будь-який аналоговий штифт, але обов’язково змініть це в програмі. Релейний модуль та насос постійного струму живляться від зовнішнього джерела живлення 12 В постійного струму, як показано на малюнку. Вхідний сигнал релейного модуля підключений до цифрового вихідного виводу D10 Nano. Для світлового ефекту я вибрав два різних кольори світлодіода і підключив їх до двох цифрових вихідних штифтів (D12, D11) Nano.
Тут насос підключений таким чином, що коли на вхід модуля реле подається ВИСОКИЙ імпульс, COM-контакт реле підключається до контакту NO, а струм отримує замкнутий контур, що протікає через насос до активізувати потік води. Інакше насос залишатиметься ВИМК. Імпульси HIGH / LOW генеруються від Arduino Nano залежно від вхідного звуку.
Після спайки повної схеми на перфборді це буде виглядати нижче:
Тут ми використовували пластикову коробку як контейнер для фонтану, а міні- насос на 5 В - як фонтан. Раніше ми використовували цей насос у протипожежному роботі:
Програмування Arduino Nano для Танцюючого фонтану
Повна програма цього проекту з фонтаном Arduino подана внизу сторінки. Але тут я просто пояснюю це по частинах для кращого розуміння:
Перша частина програми полягає у оголошенні необхідних змінних для призначення номерів контактів, які ми будемо використовувати в наступних блоках програми. Потім визначте константу REF зі значенням, яке є опорним значенням для модуля датчика звуку. Присвоєне значення 700 - це байтове еквівалентне значення вихідного електричного сигналу датчика звуку.
int датчик = A6; int redled = 12; int greenled = 11; int насос = 10; #define REF 700
У функції налаштування порожнечі ми використовували функцію pinMode, щоб призначити напрямок даних INPUT / OUTPUT контактів. Тут датчик приймається як ВХІД, а всі інші пристрої використовуються як ВИХІД.
void setup () { pinMode (датчик, ВХІД); pinMode (червоний, ВИХІД); pinMode (зелений, ВИХІД); pinMode (насос, ВИХІД); }
Усередині нескінченного циклу викликається функція analogRead , яка зчитує аналогове значення, введене з виводу датчика, і зберігає його у змінній sensor_value .
int sensor_value = analogRead (датчик);
У фінальній частині цикл if-else використовується для порівняння вхідного аналогового сигналу з еталонним значенням. Якщо він більший за контрольний, тоді всі вихідні штифти отримують ВИСОКИЙ вихід, так що всі світлодіоди та насос спрацьовують, інакше все залишається ВИМКНЕНО. Тут ми також дали затримку 70 мілісекунд, щоб розрізнити час увімкнення / вимкнення реле.
if (value_value> REF) { digitalWrite (зелений, ВИСОКИЙ); digitalWrite (червоний, ВИСОКИЙ); digitalWrite (насос, ВИСОКИЙ); затримка (70); } else { digitalWrite (зелений, НИЗЬКИЙ); digitalWrite (червоний, НИЗЬКИЙ); digitalWrite (насос, LOW); затримка (70); }
Ось як працює цей фонтан, керований Arduino, повний код із робочим відео подано нижче.