Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Deci, acest Lazy Old Geek (L. O. G.) a achiziționat recent un modul termic IR, MLX90614 de la AliExpress.com. Vezi poze
Acesta este același tip de senzor folosit în termometrele pentru frunte și urechi prezentate în a treia imagine. Acestea sunt numite fără contact, deoarece elementul senzor real nu intră în contact cu pielea.
Am vrut să încerc asta pentru a-mi măsura temperatura pielii când dorm. Cred că consensul general este că temperatura corpului tău scade când dormi, apoi crește pe măsură ce te trezești.
Iată un articol interesant:
www.sleep.org/does-your-body-temperature-c…
„Până când atinge punctul său cel mai scăzut cu câteva ore înainte să te trezești dimineața. „
„Deoarece temperatura este o parte atât de importantă a determinării momentului în care adormim, este interesant faptul că, în timpul somnului cu mișcare rapidă a ochilor (REM), celulele care reglează temperatura creierului se opresc și lasă temperatura corpului să fie determinată de cât de cald sau de rece este dormitorul tău.”
Iată altul:
www.tuck.com/thermoregulation/#:~:text=Wha…
„De la vârful temperaturii corporale la începutul serii până la punctul cel mai scăzut chiar înainte de trezire, experimentați o scădere a temperaturii corpului de bază de 2 grade Fahrenheit.
Temperatura creierului și a corpului scade în timpul somnului NREM. Cu cât episodul NREM-sleep este mai lung, cu atât temperatura scade. În schimb, temperatura creierului crește în timpul somnului REM. Controlul temperaturii corpului și creierului este strâns legat de reglarea somnului.”
Așa că am vrut să-mi măsoar temperatura corpului pe tot parcursul nopții.
Pasul 1: Proiectați termometrul IR
Proiectul meu este să folosesc un senzor de temperatură MLX90614 IR cu un distanțier, astfel încât distanța de la piele să rămână constantă. Așa că port o mască CPAP pentru somn și voi atașa senzorul IR la acesta. (Ați putea folosi doar o bandă de susținere). Locația ideală este (aparent) artera temporală, dar mă interesează mai mult schimbarea temperaturii decât temperatura reală.
Senzorul IR va stoca informații la intervale fixe pe tot parcursul nopții (am început cu 30 de secunde, dar acum folosesc 5 minute). MLX90614 măsoară, de asemenea, temperatura ambiantă a senzorului.
De asemenea, voi folosi un senzor de temperatură / umiditate DHT22 pentru a monitoriza condițiile ambientale ale camerei. Datele vor fi stocate pe un card microSD.
Un DS3231 RTC (Ceas în timp real) va ține evidența timpului.
INFORMATIE DESPRE DISPOZITIV:
MLX90614 Senzor IR Temp
Tensiune: 3V (Există, de asemenea, o versiune de 5V)
Interfață: I2C (SCL / SDA)
Biblioteca Arduino: biblioteca Adafruit
DS3231 Ceas în timp real RTC
Tensiune: 3.3-5.5V
Interfață: I2C (SCL / SDA)
Caracteristici: baterie de rezervă
Biblioteca Arduino:
adaptor microSD
Tensiune: 3,3 V (modificat)
Interfață: SPI (SCK / MISO / MOSI / CS)
Caracteristici: convertor de nivel IC
Biblioteca Arduino: SPI
DHT22
Tensiune: 3,3-6V
Interfață: magistrală digitală cu un fir
Caracteristici:
Biblioteca Arduino: biblioteca adafruit / DHT-senzor
3,3V Micro Pro Arduino
Tensiune 3.3V
Caracteristici: microcontroler ATmega32U4
MODIFICARE: DS3231
Modulul AliExpress pe care l-am cumpărat ar trebui să fie conceput pentru a utiliza o baterie reîncărcabilă, LIR2032. Circuitul de încărcare nu funcționează. Am încercat-o. După aproximativ o zi, bateria era descărcată.
Ei bine, după câteva căutări pe Internet, am găsit acest articol:
www.onetransistor.eu/2019/07/zs042-ds3231-…
Sunt de acord cu această analiză, dar am crezut că LIR2032 se va încărca în mod adecvat, dar nu excesiv. M-am înșelat. DS3231 al meu, deși marcat și ca ZS-042, ca în articol, a fost ușor diferit de al său, dar aproape la fel. Așa că am desoldat dioda văzută în imagine și am instalat o baterie CR2032. Fără diodă, modulul nu va încerca să încarce bateria. Acum, DS3231 ține timpul corect chiar și cu puterea deconectată, iar bateria ar trebui să fie bună timp de mulți ani.
MODIFICARE: adaptor microSD
Așa că am cumpărat acest adaptor microSD de la AliExpress.com. Este proiectat să ruleze cu un microcontroler de 5V și include chiar și un circuit de schimbare a nivelului IC. Pentru aplicația mea folosesc o putere de 3,3V, așa că am scurtcircuitat intrarea la ieșirea regulatorului de tensiune. (Schimbătorul de nivel pare să funcționeze bine cu semnale de 3,3V). Marcez conversiile de 3,3V cu oja galbenă. Schema este atașată.
Pasul 2: Hardware
HARDWARE:
Chiar acum consider că acest lucru este mai mult un studiu de fezabilitate, așa că am proiectat schema și am analizat circuitul pe schemă. A doua imagine prezintă părțile majore.
Pasul 3: IR și mască
Pentru senzorul IR, MLX90614, am construit un cablu cu 4 fire pentru a-l conecta la panou. Am lipit la cald un distanțier pe senzorul IR. Senzorul este la aproximativ 2 mm de marginea distanțierului.
Am atașat o bucată de velcro adezivă pe partea din spate a senzorului IR. Pe partea laterală a măștii CPAP am atașat o bandă adezivă de Velcro. Acum senzorul IR este ținut în poziție cu Velcro. Masca CPAP o ține pe pielea mea.
FYI: De la aceste imagini, am mutat senzorul în partea dreaptă, deoarece în general mă întind pe partea stângă și a fost incomod.
Locație: Termometrul pentru frunte, numit uneori termometru pentru artera temporală, ar trebui să fie măturat pe frunte:
www.researchgate.net/figure/Scanning-the-t…
Imaginea atașată este de pe această pagină web.
Acum presupun că senzorul meu IR este mai mult la locația 12 sau 14, dar pentru scopurile mele nu-mi pasă de temperatura. Cel mai mult mă interesează schimbările de temperatură în timp, așadar locația nu ar trebui să fie critică.
Pasul 4: Software Arduino
Schița folosește DS3231 pentru a spune timpul. Schița are un timp de începere (începe înregistrarea), un timp de oprire și un interval de înregistrare. Înregistrează data, ora (zecimală), temperatura DHT22, RH, temperatura ambiantă MLX90614 și temperatura IR într-un fișier CSV (valoare separată prin virgulă). (Folosesc Microsoft Excel pentru a citi acest fișier)
Ora de vară a fost o problemă pentru mine. Am dat peste următoarele de JChristensen:
forum.arduino.cc/index.php?topic=96891.0
github.com/JChristensen/Timezone
Pentru a utiliza acest lucru, trebuie mai întâi să setați RTC la UTC (Timpul universal coordonat), aceasta este ora în Greenwich, Anglia. Ei bine, nu știam cum să fac asta, dar am găsit acest articol:
www.justavapor.com/archives/2482
Rescrieți-l pentru ora Mountain (atașat) UTCtoRTC.ino
Aceasta setează DS3231 la ora UTC cu 6 ore mai târziu decât ora munte
Apoi am încorporat fusul orar în schița mea. Sincer să fiu, nu l-am testat așa doar presupunând că funcționează.
Configurare software / hardware
Biblioteci suplimentare necesare:
github.com/PaulStoffregen/DS1307RTC
github.com/JChristensen/Timezone
github.com/adafruit/Adafruit-MLX90614-Libr…
github.com/adafruit/DHT-sensor-library
Instalați o baterie CR2032 în DS3231 RTC. Conectați-vă la Arduino Pro Micro de 3.3v.
Rulați UTC către RTC.ino. Aceasta setează DS3231 la UTC (Greenwich Mean Time).
Formatați un card microSD. Folosesc Windows, formatul este FAT32. Introduceți-l în adaptorul cardului microSD.
Configurați și conectați senzorul IR.
Încărcați schița, Infrared.ino
După o noapte, puteți scoate cardul microSD și îl puteți conecta la un computer.
Night.csv poate fi deschis cu Excel (există o modalitate de a-l deschide cu Libre Office (gratuit))
Pasul 5: Testare și concluzie
Am citit cardul microSD cu MS Excel. În foaia de calcul, fac o altă coloană numită Diferență, care este IRTemp -96. Aceasta arată variația temperaturii în jurul valorii de 96F. Apoi creez o diagramă folosind Ora în zecimal comparativ cu Diferența. Graficul arată schimbarea temperaturii pe tot parcursul nopții (nu temperaturile reale).
Pentru august 18, am inclus fișierul și graficul cu comentariile mele.
Unii sugerează că noaptea tipică este când temperatura scade până la câteva ore înainte de a se trezi când începe să crească din nou. Graficul pare să urmeze acel tipar.
Ceea ce mi se pare mai interesant este momentul în care începe să urce, care poate fi de fapt somn REM. Am date despre somn de pe covorul meu de somn Withings pentru aceeași noapte care spune că am fost în somn REM între orele 15:15 și 04:50. Aceasta corespunde îndeaproape graficului IR atunci când a crescut ușor. Withing arată, de asemenea, REM de la 1:30 la 2, care nu este la fel de larg ca spectacolele IR.
Avertisment: acest lucru nu este deloc de acord cu inelul meu Fitbit sau Go2Sleep.
Pentru august19, am inclus graficul cu comentarii. Aceasta a fost o noapte neobișnuită, deoarece am avut ferestrele deschise, dar a fost un foc sălbatic la aproximativ 10 mile distanță, suflând în fum și cenușă. Când m-am dus să dorm, eram pe partea caldă și nu dormeam prea bine.
CONCLUZIE:
Așadar, configurarea mea pare să facă ceea ce am vrut să facă.
Sunt deosebit de fericit să văd o posibilă legătură între temperatura IR și somnul REM și intenționez să fac câteva teste suplimentare.