Съдържание:

LED будилник за изгрев с персонализирана аларма за песен: 7 стъпки (със снимки)
LED будилник за изгрев с персонализирана аларма за песен: 7 стъпки (със снимки)

Видео: LED будилник за изгрев с персонализирана аларма за песен: 7 стъпки (със снимки)

Видео: LED будилник за изгрев с персонализирана аларма за песен: 7 стъпки (със снимки)
Видео: "Златният Будилник" 2024, Ноември
Anonim
LED будилник Sunrise с персонализирана аларма за песен
LED будилник Sunrise с персонализирана аларма за песен

Моята мотивация Тази зима приятелката ми имаше много проблеми със събуждането сутрин и изглежда страдаше от САД (сезонно афективно разстройство). Дори забелязвам колко по -трудно е да се събудиш през зимата, тъй като слънцето още не е изгряло. Симптомите на тежка САД могат да включват раздразнителност, преспиване, но все пак умора, невъзможност за ставане от леглото, депресия и дори някои физически проблеми като болки в ставите и намалена устойчивост към инфекции. Бях чувал за аларми за изгрев на слънцето, които симулираха изгрева на слънцето и реших, че това може да бъде възможно решение на проблема й. Спомних си, че видях инструкция (https://www.instructables.com/id/Blue-LED-dawn-simulator- for-Soleil-Sun-Alarm/) за промяна на алармата за изгрев слънце, за да осигури синя светлина с помощта на светодиоди, тъй като синьото трябва да е добрата светлина, която да ви помогне. Идеята ми хареса, но начинът, по който микроконтролерът се използва в тази инструкция, ме плаши, тъй като имам ограничен опит с програмирането след разработването на кода. Това също не реши другото ми притеснение: харченето на 80 долара за будилник и модифицирането му, не че приятелката ми не си заслужава: D Първо си помислих да разработя часовник от нулата с помощта на микроконтролер. Изградихме двоичен часовник за броене в един от моите колежи, така че бях запознат с логиката. По -късно се отказах от тази идея, тъй като нямаше да използвам същия език за програмиране и щях да отделя много време за разработването на кода. Тогава ми хрумна идеята да използвам евтин цифров будилник, който да се надяваме да осигури напрежение, когато алармата се включи. Мога да взема това напрежение и да го използвам като превключвател с микроконтролер. Когато алармата се включи и напрежението се повиши, процесът на затъмняване ще започне. Ако бутонът за отлагане е натиснат или алармата е изключена, напрежението ще намалее и процесът на затъмняване ще спре, като изключи светлините. Изследвах тази идея и установих, че е възможно да се използва напрежение от часовник и да се използва с микроконтролер! Един човек беше завършил подобен проект, който отваряше щорите автоматично сутрин (https://hackaday.com/2008/11/18/alarm-clock-automated-blinds/). Микроконтролерът Идеите започнаха да текат и всичко, което имах трябва да изберете микроконтролер, който да използвате. Видях статия на sparkfun.com, която премина през процеса на изграждане на верига за стартиране на ATMega168. Прочетох внимателно и реших, че изглежда достатъчно просто и че това е микроконтролерът, който искам да използвам. При по -нататъшно проучване открих това нещо Arduino, което всеки използва за своите проекти „направи си сам“. Използваше ATMega168, беше с отворен код и имаше множество помощни форуми и начални примери; идеално за начинаещи. Реших да го използвам, за да програмирам моя ATMega168 и да го трансплантирам в пробивна дъска, която съдържаше най -важното, за да работи ATMega168. С последното парче от пъзела в ръка, можех да започна. Бърза забележка: Преди да започна, просто искам да благодаря на всички източници, които използвах. Опитах се да се уверя, че съм свързвал всяка справка, която съм използвал в инструкциите. Кодът е просто манипулиране на примерите, включени в средата на Arduino, и малко от моите, така че благодарение на хората, които ги кодираха! Също така, това е първият ми проект за микроконтролер. Сигурен съм, че не направих всичко напълно правилно, като например добавяне на капачки на филтри към места и други различни части към моите схеми. Ако видите нещо, което може да се подобри, уведомете ме! Със сигурност ще го актуализирам или ще го отбележа. Наслади се!

Стъпка 1: Проверка на изходната верига на часовника и алармата

Сондиране на изходната верига на часовника и алармата
Сондиране на изходната верига на часовника и алармата
Сондиране на изходната верига на часовника и алармата
Сондиране на изходната верига на часовника и алармата
Сондиране на изходната верига на часовника и алармата
Сондиране на изходната верига на часовника и алармата

Сондиране на часовника Това е часовникът, който избрах. Взех го в Walmart и беше евтин, така че ако не можех да го използвам, нямаше да се разстроя. Той също така има резервно зареждане на 9v батерия в случай, че токът изчезне. По -късно разбрах, че алармената последователност от ATMega168 все още изгасва! Така че все още ще ви събуди, ако няма сила! Когато изтощи батерията, предният дисплей се изключва и превключва към друг вътрешен часовник, който е по -малко точен, но все пак работи добре. При повторно включване на захранването часовникът може да се наложи да се регулира, но настройките за алармата ще останат. Часовникът се разпада доста лесно. Има четири винта в долната част и три винта, които държат платката на платката с бутони прикрепена към горната част на корпуса на часовника. За да свалите горната част и да получите по -добър достъп до LCD дисплея, трябва да прокарате 9v скобата през отвора в долната половина. Предният LCD дисплей изскача и при проверка имаше няколко различни части. Намерих трансформатор, пиезоелектрически високоговорител за алармата, някои диоди за токоизправителната верига, някои бутони за входовете и часовник, който изглежда имаше под себе си цялата схема на часовника. Намерих земята и започнах да изследвам. ВНИМАВАЙТЕ ДОКАТО ПРАВИТЕ ТОВА НА ВАШИЯ ЧАСОВНИК, ИМА ИЗКЛЮЧЕН ТРАНСФОРМАТОР, КОЙТО ЩЕ ДОСТАВИ ХЕТЕТДЕСЕН ШОК. Отбелязах напреженията на всеки щифт, когато алармата беше изключена и когато алармата беше включена. Надявах се на щифт, който да осигурява приятно 5v логическо напрежение, когато алармата е включена и 0v, когато алармата е изключена. Нямах такъв късмет, но напрежението, което отиде до високоговорителя, осигури напрежение, което варираше от 9.5v-12.5v. Реших, че мога да използвам това. Намерих и щифт с надпис VCC, който осигурява напрежение, което варира от 10v-12v. Това влиза в действие по -късно при изграждането на захранването за микроконтролера. Изходна верига за аларма запоявах проводник към земята и един към алармения щифт и започнах да работя по верига за изравняване на напрежението. Реших, че мога да използвам 5v регулатор, но имах само регулируем регулатор. Направих малко математика и стойностите ми осигуриха напрежение малко под 5v. Поисках малко и размених съпротивленията, докато осигури 5V, от които се нуждаех. Използвах кондензатор 470uF на входа, за да изгладя напрежението. С кондензатора напрежението варира само от 10.5v-10v. По -долу е схемата на схемата, която използвах за кондициониране на алармения ми изход и снимка на частите заедно на макет.

Стъпка 2: Захранваща верига, LED верига на водача и окабеляване

Захранваща верига, LED верига на водача и окабеляване
Захранваща верига, LED верига на водача и окабеляване
Захранваща верига, LED верига на водача и окабеляване
Захранваща верига, LED верига на водача и окабеляване
Захранваща верига, LED верига на водача и окабеляване
Захранваща верига, LED верига на водача и окабеляване

Захранваща верига Ако трябва да закача микроконтролера направо към Vcc на часовника, бих го взривил (ами не наистина, но ще го направя безполезен). Трябваше да настроя напрежението и да го сваля до 5v. Използвах обикновена регулаторна верига, която използва само два кондензатора и 5v регулатор. Отидох в училищната лаборатория и разположих 5V регулатор в купчината за боклук. Свързах веригата и я тествах. Той осигурява хубава и стабилна 4,99V. LED драйверна верига Тъй като ATMega168 може да доставя само около 16mA ток към всеки от своите цифрови изходи, е необходим регулатор на тока за захранване на светодиодите. Открих тази схема във форумите за помощ на Arduino и изглежда като доста често срещана и проста схема. За да насоча светлината на светодиодите, реших да използвам рефлектор от фенерче. Фенерчето, което купих, имаше три дупки за три светодиода. Реших да ги смила по -големи и сложих по четири във всяка дупка, като по този начин обясних начина на изчертаване на веригата. Окабеляване След като разбрах, че мога успешно да използвам Vcc на часовника и алармения изход, реших да запоя някои тънки проводници и резба извадете ги през дупка отстрани. Имах и идеята да добавя цикъл в програмата си за микроконтролер, за да пусна песен вместо оригиналната аларма. Запоях два по -дълги проводника към пиезоелектрическия високоговорител и ги извадих отстрани. Използвах няколко машинки за подстригване, за да изрежа малка прореза в горната половина на часовника и отново завинтвам всичко.

Стъпка 3: Свързване на ATMega168 и изграждане на прототипа

Свързване на ATMega168 и изграждане на прототип
Свързване на ATMega168 и изграждане на прототип
Свързване на ATMega168 и изграждане на прототип
Свързване на ATMega168 и изграждане на прототип
Свързване на ATMega168 и изграждане на прототип
Свързване на ATMega168 и изграждане на прототип
Свързване на ATMega168 и изграждане на прототип
Свързване на ATMega168 и изграждане на прототип

Свързване на ATMega168 Има само няколко пина, които трябва да бъдат свързани, за да работи ATMega168. Намерих този извод на ATMega168 на https://www.moderndevice.com/Docs/RBBB_Instructions_05.pdf връзките са както следва: Към Vcc-Pin 1 към Vcc с 10k резистор. -Pin 7 и Pin 20 към Vcc Към заземяване-Pin 8 и Pin 22 към Ground-Pin 21 към Земята с.1uF електролитен кондензатор Входният щифт 4 (цифров щифт 2) е свързан към моя алармен проводник Изход-Pin 15 към отрицателен проводник на пиезоелектрик високоговорител-щифт 16 към входа на веригата на LED драйвера Часовник-16Mhz кристал-единият крак към щифт 9 другият крак към пин 10-11 връзки като цяло-Забележка: Вярвам, че бих могъл да закача някои капачки към краката на кристала, но тъй като моята програма не се нуждае от много точен часовник, оставих го такъв, какъвто е. Използвах на случаен принцип цифровия щифт на алармата, всеки друг цифров щифт трябва да работи. Пиезоелектрическият високоговорител и светодиодите трябва да бъдат свързани към цифров ШИМ пин или няма да работят. Също така не можах да намеря добър модел в Eagle за 28 -пиновия модел, така че просто MS нарисувах всичко заедно: D Съжалявам, ако изглежда объркващо. Задавайте въпроси, ако трябва! Направих и блокова диаграма, за да ви помогна да разберете откъде отива или идва. Изграждане на прототип --- списък на части --- алармена изходна верига -LM317T Регулируем регулатор на положително напрежение (Можете да използвате 5V регулатор, просто имах това един) -1k Ohm резистор -3.8k Ohm резистор -470uF електролитен кондензатор Захранване -UA7805C 5v регулатор -100uF електролитен кондензатор -10uF електролитен кондензатор LED верига на водача -2N3904 -150 Ohm (Можете да експериментирате с по -ниски или по -високи стойности на резистора в зависимост от вашия светодиод) -1k Ohm ResistorMicrocontroller -28 Pin Socket (По избор, но многократно препрограмирах ATMega168 с моя Arduino) -ATMega168 -.1uF електролитен кондензатор -16 MHz кристал -10k Ohm ResistorMisc. Консумативи -Прототипиране на Perf Board -Прототипиране на крака и винтове -Кабел Когато прототипирах схемата си, изградих всяка секция на макет, тествах я и я прехвърлих на перф дъската. Започнах с изходната верига на алармата и се уверих, че работи правилно. След това преминах към захранващата част, след това към LED драйвера и завърших с веригата на микроконтролера. Но като се има предвид, че не е нужно да тествате веригата и да се уверите, че концепциите работят, тъй като вече съм го направил, можете просто да изградите цялата схема. Уверете се, че получавате правилните напрежения на правилните места. 0v на изхода на алармената изходна верига, когато алармата е изключена и 5v, когато е включена. 5v на изхода на захранващата верига. Все още не поставяйте ATMega168 в контакта, той трябва да бъде програмиран. Можех да използвам по -малка перф дъска или да отрежа моята, но реших да я оставя на мира. Не е изключително голям. След като веригата е прототипирана, конструкцията на LED крушката може да започне.

Стъпка 4: Изграждане на LED "крушка"

Изграждане на LED
Изграждане на LED
Изграждане на LED
Изграждане на LED
Изграждане на LED
Изграждане на LED
Изграждане на LED
Изграждане на LED

Тройната четворна LED крушка !!!! "'Ако искате, можете да пропуснете тази стъпка и да използвате един светодиод, за да тествате веригата си. Можете да се върнете към това, когато веригата е потвърдена и работи. Също така използвах бял цвят Светодиоди, тъй като нямах повече синя яркост. Чувал съм, че синьото помага по -добре с ЕАД. Отидох в магазина за долари, за да взема евтино фенерче, защото имах нужда от рефлектор, който да насочва светлината на светодиодите. Фенерчето I закупени съдържат три светодиода. Реших да натъпча четири светодиода във всеки отвор и имах нужда от начин да ги свържа всички. Измислих този процес, който споява четири светодиода заедно и след това свързва три от тези "четири светодиода" заедно. Всички светодиоди са успоредни, като поддържат напрежението същото като един светодиод и повишават тока. Това осигурява схемата на драйвера за светодиоди. Подсказка: Малки иглени клещи помагат Стъпка 1: Дръжте два светодиода заедно с докосването на земните проводници. Плоските ръбове на светодиодите трябва да седнат един до друг. Заредете върха на поялника си n с малко спойка, така че върху върха има капка течна спойка. Бързо докоснете двата заземителни проводника с поялника си възможно най -близо до светодиода. Ако оставите накрайника там дълго, проводниците ще се нагреят и няма да се чувстват чудесно. седнете до друга двойка зачервена. Шлифовах светодиодите, за да помогна за малко разсейване на светлината. Сега огънете проводниците, както е показано. Трудно се правят снимки на процеса, но по принцип се огъват положителните проводници навън. Огънете отрицателните проводници към сплесканите страни и право нагоре, така че когато сложите два чифта заедно, четирите отрицателни проводника се събират заедно като един голям отвод. Като вземете два чифта, дръжте ги заедно. Всички отрицателни щифтове ще бъдат в центъра. Докоснете ги с поялника, за да ги слеете заедно. Сега огънете един от положителните проводници около външната страна на четириъгълния светодиод, запоявайки при всяка връзка. Изрежете всички с изключение на един от положителните отводи, оставяйки един положителен и един отрицателен. Готово! Сега направете още два:] След като имате три четири светодиода, време е да ги поставите в рефлектора на фенерчето. Купих това фенерче за 3 долара в доларовия магазин. Това е драскотина и всички части се усукват, така че е лесен достъп до всички части. Използвам сребърния рефлектор и черния конус назад. Черният конус може да бъде отстранен от металните си части, оставяйки само пластмасовото парче. Използва се по -късно за закрепване на крушката към регулируемата шийка. В зависимост от фенерчето, което намерите, може да се наложи да поставите светодиодите си по регулируемата шийка по различен начин. Опитах се да намеря генерично фенерче, което да се предлага на много места. Стъпка 4: Използвах дремел, за да разширя трите дупки в отражателя. След това натиснах всеки от четирите четириядрени светодиода в дупките им с отрицателните проводници отвътре. Огънете и запоявайте отрицателните и положителните проводници заедно, като завършите ТРОЙНАТА ЧЕТИРИ LED ЛАМПА! След това запоявах два дълги тънки проводника, които по -късно ще се подават по регулируемата шийка и запоени към основната платка. Също така сложих малко лепило върху всеки четириядрен LED пакет, за да се уверя, че ще останат на мястото си.

Стъпка 5: Регулируем врат и основа

Регулируема врата и основата
Регулируема врата и основата
Регулируема врата и основата
Регулируема врата и основата
Регулируема врата и основата
Регулируема врата и основата

Регулируемата шия За да насоча "слънчевата светлина", която будилникът генерира, избрах да добавя регулируема шия. Първоначално мислех, че мога да използвам тръбопровод за шията, но тъй като имам ограничени инструменти и хардуер в колежа, не можах да го закрепя много добре към основата. Освен това беше доста трудно да се огъне и не се регулира твърде добре. В крайна сметка използвах само един от проводниците вътре в тръбопровода. Оказа се доста добре. Успях да го закрепя без хардуер, само с дупка в основата. Започнах, като извадих една жица от тръбата и я обвих навън, създавайки хубава спирала. След това усуках само проводника от тръбата. След това го разтегнах и го свързах с черния конус, който споменах по -рано. Черният конус идва с някаква схема от фенерчето, прикрепено към него, но лесно се отстранява. Сега, когато имате само пластмасовото парче конус, направете два отвора по краищата, всеки достатъчно голям, за да може кабелът да премине. Хранех го нагоре, а след това надолу и навън от другата страна, като го навивах под него. След това използвах тънката, гъвкава жица от тръбопровода, за да я закрепя допълнително. Двата дълги проводника, които бяха запоени по -рано, могат да бъдат подадени през черния конус назад и крушката може да бъде усукана на място. Добавих малко лепило, за да го закрепя. Основата За да прикрепите регулируемата шия, пробих 7/64 инчов отвор в дървената основа и забих телта. Тя прилепва доста плътно, така че не е необходимо лепило, но е достатъчно хлабаво, така че гърлото да бъде обърнато и усукано. Двата LED проводника могат да бъдат увити около врата и запоени към прототипиращата платка. За да прикрепя платката, използвах четири стойки за печатни платки. Имах на разположение свредло за резба, но не беше необходимо. Ако нямате накрайник с резба, просто пробийте дупка, която е по -малка от винта и я завъртете с помощта на клещи. Прикрепих часовника към основата с помощта на велкро. Не го прецаках, тъй като часовникът ми има резервна батерия и когато батерията се изтощи, ще трябва да се смени. Накрая добавих гумени крачета към ъглите.

Стъпка 6: Програмата

Програмата
Програмата

Програмата За да програмирате вашия ATMega168 с USB връзката и платката Arduino, ще ви е необходим чип ATMega168, на който вече е стартиращият Arduino. Това беше най -простият начин, който можех да намеря, да програмирам микроконтролера. Когато закупих дъската си, взех допълнителен ATMega168 с буутлоудъра от същия доставчик. Може да се наложи да платите малко повече за предварително програмиран чип, но си заслужаваше, тъй като не исках да се забърквам с адаптери за сериен кабел и т.н. Прикачих кода като.txt файл и.pde файл. Не исках да направя тази инструкция дълго, като публикувам целия код. Използвах най-новата среда за програмиране на Arduino: arduino-0015. Това, което харесвам в дъските на Arduino е, че има много примери, включени в средата, програмната среда е безплатна и има някои много страници за проекти и помощ. Също така е супер лесно да изградите пробивна дъска, за да стартирате програмата си самостоятелно. Опитах се да коментирам кода доколкото разбирам, така че ще сведа описанията до минимум. Използвах примера „Fading LED“от BARRAGAN, за да се запозная с широтно -импулсната модулация (PWM), на която ATMega168 е способна. Имам три изявления „ако“. Първото избледнява при по-ниските нива на затъмняване (0-75 от 255) по-бавно, тъй като по-високите нива изглеждат еднакво. Втората избледнява в горните нива на затъмнение по -бързо. Цялото избледняване в процес отнема 15 минути. След като светодиодите достигнат пълна яркост, цикълът на песента ще се възпроизвежда, докато алармата не бъде изключена. Първоначалната аларма беше доста досадна. Това беше просто типичният звук на будилника, който всички мразят. Помислих си, защо не използваш високоговорителя, за да направиш приятна песен, за да се събудиш? Тъй като приятелката ми обича The Beatles и знаех, че Hey Jude има доста проста мелодия, решавам да я използвам. Генерира се квадратна вълна и след това PWM се използва за възпроизвеждане на нотите на Hey Jude върху пиезоелектрическия високоговорител. За да програмирам песента, манипулирах примера „Melody“от примерите за среда Arduino. Открих няколко прости ноти и ги преведох в бележки в кода. Трябваше да увелича броя на нотите, които се свирят, до 41 и да направя математиката, за да разбера по -ниска нота от предложената „c“. След това имплантирах този код в основния си код. За да програмирате чипа, първо ще трябва да инсталирате USB драйверите, предоставени със средата Arduino. След това изберете дъската от падащото меню и изберете подходящия COM порт. Целият този процес е подробно описан тук: https://arduino.cc/en/Guide/Windows И това е всичко! След програмиране на ATMega168, той може да бъде изваден от Arduino и да се появи в прототипираната схема!

Стъпка 7: Заключение

Заключение
Заключение
Заключение
Заключение
Заключение
Заключение

Възможни подобрения След като приключих с алармата за изгрев слънце, имах предвид някои подобрения или допълнителни функции, които бих могъл да добавя. Една от идеите, които измислих, беше превключвател за включване на крушката с пълна яркост, така че да може да се използва като лампа за четене. Друг ключ може да се използва за включване или изключване на звука на алармата. Платката също може да е била много по -малка. Току -що пуснах този и реших да го оставя в едно парче. Крайният продукт Ето го! Добавих няколко снимки на това как изглежда, когато светлините избледняват. Направих и видео на алармата, която свири „Хей, Джуд“. Отново, ако имате въпроси относно този проект, просто попитайте, обичам да помагам!

Препоръчано: