設(shè)計(jì)一種利用睡眠周期提高睡眠質(zhì)量的智能燈
這盞燈根據(jù)你的睡眠時(shí)間和你的目標(biāo)醒來(lái)時(shí)間,在最佳時(shí)間叫醒你,以獲得更好的睡眠質(zhì)量
這是一個(gè)智能睡眠輔助燈,可以(可能)改善你的睡眠,幫助你在早上感覺(jué)更精神。我從在線睡眠計(jì)算器和我在網(wǎng)上做的一些研究中得到靈感,想出了這個(gè)概念。
現(xiàn)在,讓我澄清一下,如果你因?yàn)檫^(guò)度工作或過(guò)度使用抖音而睡眠不足,它不會(huì)神奇地讓你感覺(jué)更好。你可以把這盞燈想象成一個(gè)增強(qiáng)版的鬧鐘替代品,它主要做兩件事:
首先,它會(huì)輕輕地喚醒你,就像初升的太陽(yáng)一樣。當(dāng)起床的時(shí)候,燈的亮度逐漸增加,從溫暖的橙色過(guò)渡到明亮的白色,在五到十分鐘的時(shí)間里模仿美麗的日出。
第二部分更有智慧。它會(huì)根據(jù)你想要的起床時(shí)間和實(shí)際的睡眠時(shí)間計(jì)算出你醒來(lái)的最佳時(shí)間,并確保你在睡眠周期結(jié)束時(shí)被喚醒。
請(qǐng)繼續(xù)閱讀以了解更多有關(guān)該概念的信息。
理論
要了解燈的工作原理,我們需要了解睡眠周期的概念。
當(dāng)你入睡時(shí),你要經(jīng)歷4個(gè)主要階段。第一階段是淺睡眠。這是清醒和睡眠之間的過(guò)渡,持續(xù)大約5-10分鐘。
然后你進(jìn)入稍微深一點(diǎn)的睡眠。在這個(gè)階段,你的體溫下降,你的心率和呼吸變得更有規(guī)律。
第三階段是深度睡眠。在這個(gè)階段很難醒來(lái),如果你醒了,你可能會(huì)感到迷失方向。
最后,你進(jìn)入快速眼動(dòng)睡眠,大多數(shù)生動(dòng)的夢(mèng)都發(fā)生在快速眼動(dòng)睡眠期間。當(dāng)你在夢(mèng)中跑馬拉松時(shí),你的肌肉會(huì)暫時(shí)癱瘓,阻止你真正站起來(lái)跑。
這四個(gè)階段構(gòu)成了一個(gè)持續(xù)約90分鐘的睡眠周期。你會(huì)在夜間經(jīng)歷幾次這樣的循環(huán)。雖然持續(xù)時(shí)間可能因人而異,但根據(jù)幾項(xiàng)研究,平均約為90分鐘。
例如,Vlasta Brezinova的一篇相當(dāng)古老的論文調(diào)查了不同年齡人群的睡眠周期持續(xù)時(shí)間。雖然持續(xù)時(shí)間有所不同,但平均持續(xù)時(shí)間約為90分鐘。其他研究論文似乎也同意這一點(diǎn)。我已經(jīng)把我的研究成果寫(xiě)下來(lái)了。
在線睡眠計(jì)算器
像這樣的在線睡眠計(jì)算器是一種簡(jiǎn)單的工具,它可以幫助你根據(jù)睡眠周期的概念找出睡覺(jué)或起床的最佳時(shí)間。
它們從你想要的起床時(shí)間向后工作:你輸入你需要醒來(lái)的時(shí)間。
他們根據(jù)睡眠周期計(jì)算最佳就寢時(shí)間:使用平均90分鐘的睡眠周期長(zhǎng)度,他們以90分鐘為單位計(jì)算出幾種可能的就寢時(shí)間。這些睡覺(jué)時(shí)間是為了讓你在鬧鐘響之前完成一定數(shù)量的完整睡眠周期。
例子:
如果你需要在早上7點(diǎn)起床,睡眠計(jì)算器可能會(huì)建議以下就寢時(shí)間:
?晚上10:00(6個(gè)完整的睡眠周期+入睡時(shí)間)
?晚上11:30(5個(gè)完整的睡眠周期+入睡時(shí)間)
?凌晨1:00(4個(gè)完整的睡眠周期+入睡時(shí)間)
?我們將做幾乎相同的事情,但方向相反。
這個(gè)概念
就像我提到的,燈會(huì)根據(jù)你想要醒來(lái)和入睡的時(shí)間,計(jì)算出你醒來(lái)的最佳時(shí)間,并確保你在睡眠周期結(jié)束時(shí)被喚醒。
讓我來(lái)解釋一下這是怎么回事。假設(shè)你晚上10點(diǎn)半睡覺(jué),你想在早上6點(diǎn)起床。這盞燈會(huì)做一些快速的計(jì)算,計(jì)算出3、4、5個(gè)睡眠周期的結(jié)束時(shí)間。也就是凌晨3點(diǎn),4點(diǎn)半,然后是6點(diǎn)。在這種情況下,燈會(huì)在早上6點(diǎn)叫醒你。
現(xiàn)在,如果你睡得晚一點(diǎn),比如晚上11:30,同樣的過(guò)程也會(huì)發(fā)生。第三個(gè)周期的結(jié)束時(shí)間是凌晨4點(diǎn),第四個(gè)周期是早上5點(diǎn)半,第五個(gè)周期是早上7點(diǎn)。因?yàn)槟愕哪繕?biāo)起床時(shí)間是早上6點(diǎn),它會(huì)檢查哪個(gè)周期結(jié)束時(shí)間最接近。這是第四個(gè)周期的結(jié)束,在早上5:30。這就是燈叫醒你的時(shí)間。
計(jì)算睡眠時(shí)間
現(xiàn)在,你可能會(huì)想,“這盞燈到底怎么知道我什么時(shí)候睡著了呢?”事實(shí)是,它并不確切知道。但是,它做了一個(gè)非常聰明的有根據(jù)的猜測(cè)。為了做到這一點(diǎn),我們做了兩個(gè)關(guān)鍵的假設(shè)。
首先,我們發(fā)現(xiàn)大多數(shù)人在睡覺(jué)前會(huì)花一點(diǎn)時(shí)間放松自己,可能是在床上刷手機(jī)或看書(shū)。其次,我們依靠過(guò)去的一些研究表明,成年人在晚上躺下后平均需要15分鐘才能入睡。你可能見(jiàn)過(guò)的那些在線睡眠計(jì)算器也經(jīng)常使用這個(gè)15分鐘窗口。
所以,我們是這樣做的:我們?cè)跓粝旅姘惭b一個(gè)小的接近傳感器。一旦你用完手機(jī)或書(shū)本,準(zhǔn)備入睡,你只需把它放在燈前,接近傳感器就會(huì)檢測(cè)到它。然后,燈會(huì)等待一小段時(shí)間,以確保你沒(méi)有把它撿起來(lái),然后它會(huì)自動(dòng)關(guān)閉。然后開(kāi)始15分鐘的倒計(jì)時(shí),假設(shè)這大概是你入睡的時(shí)間。在這15分鐘之后,喚醒時(shí)間將按照我之前描述的方式精確計(jì)算。
燈的設(shè)計(jì)
燈罩本身實(shí)際上可以3D打印。如果您對(duì)此感興趣,可以在下面找到我制作的STL文件。
現(xiàn)在,你可能注意到我的燈有這個(gè)漂亮的木制框架和底座。但它根本不是木頭!這是泡沫板!
我們需要兩個(gè)u型截面。每個(gè)底部都有一個(gè)小突起,為接近傳感器創(chuàng)造空間,中間有一個(gè)缺口,這樣它們就可以連接在一起。
然后我用一卷空的玻璃紙膠帶做了一個(gè)底座。
擴(kuò)散板
為了漫射光線,我們將使用一種有趣的材料。這實(shí)際上是從一臺(tái)壞掉的筆記本電腦屏幕上搶救出來(lái)的擴(kuò)散片。
你通??梢院苋菀椎卦诋?dāng)?shù)氐碾娮訌U品店找到這些。這張紙對(duì)我們的項(xiàng)目來(lái)說(shuō)是完美的,因?yàn)樗利惖芈涔饩€,給它一個(gè)漂亮的磨砂玻璃外觀。
逼真的木質(zhì)外觀
現(xiàn)在,讓我向你展示我是如何給泡沫板逼真的木紋外觀。首先,我混合了一種淺棕色的丙烯酸顏料,并在所有的表面涂上了它。均勻地覆蓋邊緣也很重要。完成后,讓它完全干透。
接下來(lái),我拿了一種深色的棕色水彩,用一點(diǎn)水稀釋。我用海綿輕輕地用長(zhǎng)而直線的筆畫(huà)上泡沫。確保海綿在所有表面上以相同的方向運(yùn)行,模仿木材的自然紋理。別忘了把那些邊緣也涂上深色的油漆!一旦所有的碎片都被涂上了,把它們放在一邊完全干燥。
最后,我們需要一個(gè)更深的棕色來(lái)真正帶出細(xì)節(jié)。我混合了一些棕色水彩和一點(diǎn)黑色。這一次,我比以前稀釋了一點(diǎn)。使用同樣的海綿技術(shù),我像之前一樣使用筆畫(huà),確保它們都朝著同一個(gè)方向運(yùn)行。讓它最后一次干燥,你就有了一個(gè)漂亮的木制成品!沒(méi)人會(huì)猜到下面有泡沫板!
電子產(chǎn)品
晾干的時(shí)候,讓我們把注意力轉(zhuǎn)移到電子產(chǎn)品上。在我們的燈的核心,我們將使用一個(gè)微小的ESP32板,稱為小ESP32S3。這對(duì)于從互聯(lián)網(wǎng)上獲取時(shí)間和確保led接收到正確的信號(hào)至關(guān)重要。
對(duì)于光源,我們使用高質(zhì)量的WS2813可尋址LED帶。高質(zhì)量的色帶對(duì)于準(zhǔn)確再現(xiàn)色彩至關(guān)重要,尤其是當(dāng)你想在晚上營(yíng)造出放松的環(huán)境效果時(shí)。
對(duì)于這兩款產(chǎn)品,我都使用了Seeed studio的電子產(chǎn)品,因?yàn)樗麄兊慕M件非??煽?,led的質(zhì)量也非常好。
我們還將使用一個(gè)小型紅外接近傳感器。你不需要高端的;一個(gè)基本的,負(fù)擔(dān)得起的就可以了。
讓我們開(kāi)始把我們的LED條削減到10個(gè)LED。
現(xiàn)在進(jìn)行布線-按照連接圖:
為了確保一切正常工作,我編寫(xiě)了一個(gè)簡(jiǎn)單的測(cè)試代碼,產(chǎn)生柔和、溫暖的白光。
連接
現(xiàn)在我們可以繼續(xù)連接所有的電子設(shè)備。對(duì)于小ESP32,我建議創(chuàng)建一個(gè)小插座與電線焊接到母頭。我已經(jīng)在之前的項(xiàng)目中展示了如何做到這一點(diǎn)。
不幸的是,就在這一點(diǎn)上,我的烙鐵決定放棄我!所以,對(duì)于剩余的連接,我不得不使用跳線。您可以按照這里的接線圖進(jìn)行連接。
確保留下三個(gè)母跳線連接器免費(fèi)下面的接近傳感器,我們將稍后連接。
好吧,這可能不是最漂亮的布線工作,但由于它將被藏在燈里,它目前的功能是完美的。一旦我的新烙鐵到達(dá),我肯定會(huì)整理東西與適當(dāng)?shù)暮附舆B接。
組裝
抓住橡膠膠粘劑,并適用于大量的缺口兩個(gè)U節(jié)。讓粘合劑風(fēng)干約5分鐘,然后將兩片粘合在一起。當(dāng)你把這些碎片牢牢地壓在一起時(shí),就會(huì)形成更牢固的粘合。
接下來(lái),把擴(kuò)散片小心地包裹在底座上。在重疊的兩端涂上一些橡膠粘合劑,并將它們固定在一起。對(duì)底蓋做同樣的事情。
如果你注意到,我沒(méi)有把擴(kuò)散片或基礎(chǔ)覆蓋直接粘到基礎(chǔ)本身。這是為了讓我很容易刪除他們以后,如果我曾經(jīng)需要故障排除或訪問(wèn)電子設(shè)備。
你還會(huì)注意到我在底部創(chuàng)建了一個(gè)小槽。這是專門(mén)針對(duì)USB-C電纜的,允許我們?yōu)镋SP32供電并在需要時(shí)重新編程,而無(wú)需將所有東西拆開(kāi)。
最后,小心地滑動(dòng)整個(gè)基礎(chǔ)組件之間的兩個(gè)膠合u型段。
用雙面膠帶把接近傳感器固定在下面。就這樣,我們的燈的主體結(jié)構(gòu)完成了!
代碼
現(xiàn)在是時(shí)候?qū)⒅鞔a上傳到ESP32了。它在很大程度上遵循了我們?cè)陂_(kāi)始時(shí)討論的相同原則。
該代碼使用互聯(lián)網(wǎng)獲取當(dāng)前時(shí)間。如果您使用RTC模塊,則可以消除此問(wèn)題。它有一個(gè)名為runSunriseAnimation()的函數(shù),用來(lái)模擬我之前提到的美麗的日出動(dòng)畫(huà)。函數(shù)calculateWakeTime()根據(jù)當(dāng)前時(shí)間(睡眠時(shí)間)計(jì)算喚醒時(shí)間。它假設(shè)入睡時(shí)間為15分鐘,睡眠周期為90分鐘。然后,它根據(jù)設(shè)定的理想起床時(shí)間(代碼中的上午7點(diǎn))計(jì)算最接近的叫醒時(shí)間。
現(xiàn)在,說(shuō)實(shí)話,我的代碼可能并不完美,所以我真的鼓勵(lì)您看一下它。如果你發(fā)現(xiàn)任何需要改進(jìn)的地方,請(qǐng)?jiān)谠u(píng)論中分享你的建議——我很樂(lè)意聽(tīng)到你的想法并向你學(xué)習(xí)。但現(xiàn)在,代碼的功能是預(yù)期的,將使我們的燈工作。
結(jié)論
這就是答案!我們的睡眠周期燈終于完成了!看起來(lái)是不是很棒?老實(shí)說(shuō),誰(shuí)能猜到這不是真的木頭?另外,我們給了一個(gè)廢棄的筆記本電腦屏幕一個(gè)新的生命——這是一個(gè)雙贏!
現(xiàn)在,使用它很簡(jiǎn)單。在你開(kāi)始放松之前——不管你是在看手機(jī)還是在看書(shū)——把燈打開(kāi)。然后,當(dāng)你準(zhǔn)備睡覺(jué)的時(shí)候,把手機(jī)放在它前面的桌子上,然后慢慢入睡。燈會(huì)處理剩下的事情,輕輕地關(guān)掉,在最佳時(shí)間叫醒你,所有這些都不會(huì)擾亂你的睡眠周期。不過(guò),我想要一個(gè)能發(fā)出日出效果的揚(yáng)聲器。
本文編譯自hackster.io