Универсално учебно дистанционно управление
Отдавна исках да имам малко дистанционно за управление на различни домакински уреди. И ето, че най-накрая се сдобихме с него и имаше достатъчно свободно време, за да създадем собствено универсално дистанционно! Опитах се да го направя по-малък, по-удобен, по-красив ... като цяло, вижте какво се получи!
1 Принцип на действие.
Универсалните дистанционни, които имам за продажба в голямата си част работят на принципа на предварително инсталирани IR команди. Тоест, в паметта на дистанционното управление се записва голяма база данни от протоколи на различни конзоли и нейният код се въвежда, за да изберете желания (книга с кодове е прикрепена към дистанционното управление). Предимството на този подход е, че за да конфигурирате всички клавиши на дистанционното управление, трябва да наберете един код. Недостатъкът е очевиден - дистанционното управление ще може да работи само с онези домакински уреди, от които има запаметени команди в паметта (в случай, че в брошурата не е намерен необходимия модел домакински уреди, производителят на универсалното дистанционно управление препоръчва да опитате най-близкия подходящ модел или всичко подред).
Тръгнах по другия път. За да не създавам огромна база данни от команди от различни дистанционни, реших да запиша IR команди от оригиналното дистанционно управление в паметта на микроконтролера и след това да ги възпроизведа (вид запис на глас за IR команди). Дистанционното управление, което се обучава, не се интересува какъв протокол използва оригиналното дистанционно управление, няма значение какъв формат и дължина на IR командата, то записва цялата информация, предадена от оригиналното дистанционно управление в необработена (RAW) форма и я възпроизвежда по същия начин.
Разбира се, има ограничения и някои дистанционни не могат да бъдат проучени по обективни причини: - обучаващото се дистанционно получава IR съобщения с TSOP, работещи на честота от 36 или 38 kHz (по-голямата част от дистанционните работят в този диапазон) - това не прави възможно възприемането на съобщение от дистанционното управление, чеработи на носител, много различен от носителя TSOP (напр. 30 или 56 kHz); – протоколите за дистанционно управление с обратна връзка (например, като климатици), по очевидни причини, не могат да бъдат възпроизведени; - нестандартни протоколи, които имат специфична конструкция на IR командата (например командата е разделена на няколко съобщения).
2 Дизайнът на конзолата.
Учебното дистанционно е малка кутия със сензорни бутони. Цялата конструкция се захранва от триволтова 2032 батерия. На тялото има 9 сензорни бутона, 6 от тях се използват за управление на оборудване (дистанционни клавиши), а останалите 3 - за избор на набор от команди (съответно можете да записвате и възпроизвеждате до 3 набора от команди по 6 команди всеки). Има и бутон за часовник за преход между режимите на работа. Структурно конзолата се състои от две дъски:
- първият е таблото за управление. – втората е сензорната платка (описанието й ще намерите по-долу в текста). Двете платки са свързани една с друга с конектори, образувайки компактен дизайн от една част.
2 Схема на дистанционното управление (щит на универсалното дистанционно управление).
Фигурата показва диаграма на универсална платка заедно с щита на учебното дистанционно управление. Различни микроконтролери от серията ATmega48/88/168 могат да бъдат инсталирани на основната платка. Компонентите на веригата не са критични по отношение на рейтингите и позволяват леки вариации. Вероятно ще трябва да изберете охлаждащ резистор за IR LED. Колкото по-ниска е стойността на този резистор, толкова по-силен е сигналът на дистанционното управление, но батерията ще се изтощи по-бързо.
Първоначално устройството за дистанционно управление трябваше да се захранва от три AAA батерии в отделение за батерии, прикрепено към дъното на дистанционното управление, но полеви тестове показаха, че малка батерия 2032 3 волта е достатъчна зазадоволително представяне. Разбира се, мощността на инфрачервения сигнал намалява донякъде, но остава в рамките на комфортната работа. В тази връзка разпечатката на сензорната платка беше леко променена, където беше добавено място за закрепване на батерия 2032.
Но имайте предвид, че не всички TSOP могат да работят със захранващо напрежение от 3V. Ако вашият TSOP не работи с 3 волта или имате нужда от мощен IR сигнал, който може да работи на големи разстояния, отскачайки от стени и тавани, тогава прикрепете отделение за батерии с три AAA към дъното на дистанционното управление (затворено отделение за батерии дори няма да развали външния вид) и ще получите мощно дистанционно управление и дълготрайна работа.
3 PCB
4 Монтаж на конструкцията
След като се убедите в целостта на релсите на екрана, ние запояваме компонентите. Там няма нищо специално за запояване, но има някои нюанси: - индикаторните SMD светодиоди (има два от тях паралелно) трябва да бъдат запоени настрани, така че блясъкът им да се вижда през платката.
Първоначално се смяташе, че тези светодиоди трябва да бъдат насочени вътре в корпуса и да осветяват цялата равнина на сензорите с отразена светлина, но за да се спести батерията, токът на светодиода трябваше да бъде намален и подсветката стана трудно видима.
Между другото, светодиодите не трябва да са SMD. Можете да пробиете дупка на удобно място на дъската и да инсталирате там обикновен светодиод, като дърпате захранване към него с проводници.
- Друг проблемен елемент за монтаж е пиезо емитер. Размерите на пиезоизлъчвателя не позволяват да се монтира на определено място (той просто не пасва), така че ще трябва да сте креативни при инсталирането му. Например, изрязах стандартна пиезо плоча с ножица до удобен размер и запоих плочата към дъното на конзолата.
Ако нищо не работи с пиезо излъчвателя,вместо него можете да инсталирате светодиод, като не забравяте да поставите гасителен резистор (300 - 1000 Ohm) последователно с него.
- Сензорната платка има три странични стени, които са запоени перпендикулярно (четвъртата крайна стена е запоена към универсалната платка). Когато свързвате универсалната платка и сензорната платка, страничните стени не трябва да се търкат или заклинват една в друга. За да направите това, трябва да нагласите дъските една към друга - трябва да работите с файл :).
5 Фърмуер на микроконтролера
Основната платка се флашва през стандартния конектор за програмиране ISP-6 (той е средният отстрани на основната платка).
Напомням: За Algorithm Builder и UniProf отметките са поставени както на снимката.
За PonyProg, AVR Studio, SinaProg квадратчетата за отметка са обърнати.6 Декорация на конзолата. Изработка и закрепване на тъч панел.
След мигане на микроконтролера и проверка на работоспособността на дистанционното управление започваме да работим върху външния вид на нашето устройство. Тъй като външно пътеката е правоъгълна гладка кутия, сгъната от печатни платки, декорирането няма да бъде трудност. Можете да дадете „презентация“ на дистанционното управление по различни начини, например да го боядисате със спрей боя и след това да нанесете шаблон от клавиши или да отпечатате снимка на предния панел на хартия и да я залепите и т.н.
Разпечатах чертежи на предния и задния панел на дистанционното с помощта на цветен лазерен принтер върху самозалепваща хартия, залепих чертежите на дистанционното управление и го покрих със защитен слой отгоре (залепих широка самозалепваща лента отгоре).
Получава се доста интересно, особено след като можете да изберете дизайна на клавишите в контекста на вашите интереси или предвидените домакински уреди, за които е предназначено дистанционното управление.Ето някои основни основни опции за дизайн.
6 Обучаване на работа с дистанционно управление
Дистанционното е готово, сега ще ви кажа как да работите с него.
За да започнете с работата на дистанционното управление - контролите:
- хардуерният (контактен) ключ Set служи за различни цели, но основните са преход между режимите на работа, заспиване и събуждане на дистанционното управление; - индикатор Led (на снимката е малко не на място, но всичко тече, всичко се променя ...) служи за индикация на различни режими на работа + осветление на сензора; - сензорни бутони за смяна на програми и промяна на нивото имат автоматично повторение (функции: сила на звука, превключване на канали, яркост, тон, ...); – Сензорните клавиши за захранване и заглушаване нямат автоматично повторение (необходимо за единични действия: включване-изключване, отваряне-затваряне, ...); – сензори за избор на група команди активират един от трите възможни комплекта (по 6 броя) сензорни команди (например: 1-телевизор, 2-усилвател, 3-светлина); - има и пиезо излъчвател Buzzer (вътре в кутията), той издава звук при натискане на клавиши и извършва редица други действия.
Ето и самия алгоритъм на работа: - Когато дистанционното управление се включи за първи път (включване), то ще започне процедурата за автоматично настройване на сензорите. Преди настройка, с кратки паузи, ще прозвучат два дълги и един къс звуков сигнал. Веднага след кратък звуков сигнал сензорите ще се настроят автоматично. По време на автоматичната настройка тъчпадовете трябва да са свободни. – След това конзолата превключва в режим на възпроизвеждане на команди от първата група команди. Ще прозвучи дълъг звуков сигнал, последван веднага от кратък звуков сигнал (първият набор от команди). LED ще светне. Ако сега натиснете сензорите за избор на група команди, ще прозвучи дълъг звуков сигнал и веднага след него, в зависимост от номера на групата, броят на късите.Превключвателите на командната група работят еднакво във всички режими. - Когато се натисне в режим на възпроизвеждане на сензора за команди, ще се издаде кратък звуков сигнал (пик) и ще бъде издадена IR команда. – Ако дистанционното управление не бъде докосвано известно време, то автоматично ще премине в режим на заспиване. Можете да въведете дистанционното управление в режим на заспиване, като натиснете принудително Set за кратко време. Кратко натискане на Set in sleep mode събужда дистанционното и то ще сигнализира номера на активната група команди (за да не си боцкаш пръста за пореден път;)). - Ако задържите Set за дълго време в режим на възпроизвеждане, дистанционното управление ще влезе в режим на обучение, като издаде два кратки звукови сигнала и светодиодът ще започне да мига постоянно. Когато натиснете който и да е сензор, светодиодът ще изгасне, ще прозвучи дълъг сигнал и дистанционното управление ще изчака инфрачервено съобщение от оригиналното дистанционно управление. Ако пакетът бъде получен, ще прозвучи дълъг звуков сигнал, дистанционното управление ще запомни командата и ще се върне в режим на обучение. Ако няма колет за дълго време, ще прозвучи кратък сигнал и дистанционното управление ще премине в режим на обучение самостоятелно. Освен това изчакването за IR-изпращане може да бъде отменено чрез кратко натискане на Set. В режим на готовност на IR-send на оригиналното дистанционно управление можете да изберете други сензори или групи. Действията на сензорите за избор са подобни на режима на възпроизвеждане. – Можете да се върнете в режим на възпроизвеждане, като задържите Set за дълго време (ще последват два кратки звукови сигнала) или след известно време на неактивност дистанционното управление само ще превключи в режим на възпроизвеждане.
7 Отстраняване на неизправности. Структурно отстраняване на грешки.
EEPROM: &01 Нагоре &02 Надолу &03 Плюс &04 Минус &05 Мощност &06 Заглушаване &07 Sel1 &08 Sel2 &09 Sel3 Чрез четене на таблицата за чувствителност от EEPROM с помощта на програмиста, можете индиректно да оцените качество на сензорите и диагностика на проблеми в работата им.
А именно: - Нормалночувствителността е в рамките на стойностите: 20-50. Тези стойности не са абсолютни, тъй като много фактори влияят на чувствителността на сензорите: – Стойности близки до 0 показват, че сензорната подложка има течове на „+ захранване“ (няма късо съединение, тъй като програмата просто няма да започне да работи в този случай (сигнал за грешка ще се генерира непрекъснато). - Стойности близки до 255 показват изтичане към земята (до късо съединение) или отворена верига в сензорната подложка - крак на микроконтролер, или прекъсване на издърпващия резистор (този, който е 1 MΩ). – Стойностите на чувствителността на сензорите трябва да са приблизително еднакви.Твърде голямото разминаване на стойностите, въпреки че не е недвусмислен индикатор за неправилната им работа (сензорите се обработват и настройват индивидуално), но показва, че има някои проблеми.
EEPROM: &00 Чувствителност
При мигане на дистанционното управление, EEPROM се изчиства и всички клетки (включително нула) получават стойности 255, което автоматично задава номиналната чувствителност.
8 Щит за Arduino
Тъй като дистанционното управление е сглобено на микроконтролер, използван в платки като Arduino, Freeduino и други подобни, е логично да се направи универсален щит за дистанционно управление за тях. За да ви помогне, основата на щита Arduino в Sprint Layout.