Звукова адаптивна лампа за настроение - микроконтролери и технологии

настроение

Лампа за настроение е малка декоративна лампа за маса, която периодично и произволно променя цвета си. Мрежата е пълна с различни опции за домашно приготвени лампи за настроение (включително AVR), но само случайната промяна на цвета е достатъчно скучна. В тази статия ще ви покажа как да направите обикновена лампа за настроение, която да реагира на звука.

Идея

Идеята е да оборудваме позната лампа за настроение с микрофон и да я накара да променя цвета си не просто произволно, а в зависимост от това какво „чува“ през този микрофон. Лампата ще работи в три режима (режимът се превключва с един бутон):

- Прост режим или режим на нормална лампа за настроение. Лампата само периодично променя произволно цвета.
- Реакция на остър звук. В този режим лампата не променя спонтанно цвета си, но го прави само когато чуе остър звук, като плясък, силен писък или лек удар по тялото или масата на ламата.
- Анализ на звуковата честота. В този режим лампата променя цвета си в зависимост от честотата на звука, който „чува“, тоест нещо като цветна музика.

Изпълнение

С идеята ясна, нека да се пристъпим към изпълнението За такава лампа ще ви трябват поне три неща: ярък трицветен светодиод, който да светне, микрофон за чуване и микроконтролер за управление на всичко това домакинство.

Светодиод

За светодиода използвах 3W супер ярък трицветен (RGB) светодиод (1W за всеки цветен компонент). Самият светодиод е монтиран върху алуминиева плоча на радиатора и изглежда така:

микроконтролери

Той свети достатъчно ярко и има широк „ъгъл на гледане“ - в средата няма ярко петно.

За съжаление няма да работи свързването на такъв светодиод директно към краката на микроконтролера, тъй като се нуждае от около 200Ma ток на канал и например максимално допустимият ток през крака на контролера ATMega8 е само 40Ma. Затова поставям транзистор на всеки канал на светодиода - контролерът отваря/затваря транзистора, променяйки напрежението в основата. А транзисторът свети/гаси светодиода, защото максимално допустимият ток на транзистора е цели 800Ma (за BC337), което е достатъчно, за да светне светодиода.

Микрофон

Като микрофон се използва конвенционален електретен микрофон (капсула), свързан към ADC на микроконтролера чрез усилващ етап.

технологии

По принцип може да се използва цифров микрофон, но се оказа много по-лесно да се намери електронен микрофон на нашия радио пазар.

Микроконтролер

Тук изборът изглеждаше съвсем очевиден - ATMega8. Няма да можете да използвате нещо по-слабо, тъй като имате нужда от три ШИМ канала (по един канал за всеки от трите LED цвята). Изглеждаше, че няма смисъл да се използва нещо по-мощно. Ето защо избрах микроконтролера ATMega8.

Но тук ме чакаше гребло. Факт е, че за да приложа програмата с контролна лампа, трябваше да използвам аритметика с плаваща запетая, а AVR, за съжаление, нямат FPU. Следователно за дробни числа се използва софтуерна реализация на FPU, която заема много място в паметта на микроконтролера. В резултат на това паметта ATMega8 беше претъпкана до капацитет. Ако сега реших да сглобя друга лампа, сигурно щях да инсталирам поне ATMega32.

Схема и печатни платки

Разбрахме основните компоненти, сега остава да комбинираме всичко това заедно:

технологии

Тръбопроводите на микроконтролера са стандартни: захранване, бутон за нулиране, конектор на програмист.

За да стартира контролера с максимална честота (16 MHz), се добавя кварцов генератор (в долния ляв ъгъл на веригата).

LC филтър (дросел и кондензатор) е свързан към аналоговия входящ ток (AVCC), както се препоръчва от листа с данни ATMega8 (вижте раздела с технически данни за аналогови шумопотискащи техники). Вярно, както се оказа, намирането на подходящ дросел на нашия радио пазар е доста проблематично, затова сложих това, което намерих, а именно стар съветски дросел със 120μH.

Бутон БУТОН използва се за превключване на режимите на лампата.

Светодиод DBG_LED е използван за отстраняване на грешки на фърмуера и не е необходимо да го инсталирате.

Етап на усилвател за свързване на микрофон към ADC на микроконтролера е показан в горния десен ъгъл на диаграмата. Самият микрофон е свързан към конектора MIC.