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