Table of Contents

Vlad-Andrei BĂDOIU (78692) - SleepTracker

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul isi propune sa determine caliatea somnului si a oferii diferite informatii despre anumiti parametrii care il afecteaza(temperatura, umiditate, etc.).

Ideea de plecare a fost necesitatea de a avea un somn mai odihnitor.

Scopul proiectului este acela de a determina calitatea somnului si a ajuta utilizatorul sa o imbunatateasca.

Descriere generală

Sistemul va masura miscariile din timpul noptii folosind accelerometrul. Pe langa acest lucru sunt urmariti si urmatorii senzori de mediu: luminozitate, temperatura, umiditate.

In urma colectarii datelor din timpul noptii, sistemul va afisa statistici si grafice pe LCD. De asemenea, exsista si o comunicare cu telefonul(bluetooth) in care utilizatorul va putea aduga diferite clase (eg. a fost X diferit inainte de a se culca sau X s-a culcat mai tarziu decat de obicei) iar aplicatia va detecta eventualele corelatii.

Partea hardware presupune un circuit al cărui nucleu este reprezentat de un microcontroller ATmega128. Funcțiile microcontroller-ului:\

Schema bloc

Hardware Design

Componente:

Schema EAGLE:

Hardware Setup

Software Design

Comunicarea cu accelerometru este realizata prin I2C. Cea cu modulul de bluetooth prin seriala. Iar cu LCD-ul folosind SPI.

Compilarea a fost realizata folosind avr-g++ pe Linux folosind VIM. In cadrul aplicatiei am utilizat o serie de biblioteci 3rd-party modificate pentru problema de fata.(lista bibliotecilor se regaseste la resurse) Citirea senzorilor se face la intervare diferite in functie de fiecare senzor.

In primul rand am determinat cand utilizatorul efectueaza o miscare in functie de datele receptate de la accelerometru. Apoi in functie de lungimea intervalului de timp pe care se face esantionarea calculez o rata a miscarii.

Pentru a realiza graficul pe LCD am setat pixelii pana la inaltimea determinata prin procedeul anterior. Cand contorul ajunge la pixelul din capatul celalalt al ecranului se efectueaza o resetare si se incepe de la inceput. Se poate realiza o intreaga reprezentare pe display in functie de intervalul de esantionare ales.

Comunicarea cu modulul de bluetooth am efectuata prin USART(8 biti de date, 2 de stop, fara paritate) dupa modelul din laborator.

Rezultate Obţinute

Am reusit sa obtin un sleep tracker care afiseaza datele din timpul noptii pe display si le trimite prin bluetooth catre telefon.

Concluzii

Download

V1 badoiu_vlad-andrei_-_sleep_tracker_2018.zip V2 badoiu_vlad_andrei_sleep_tracker.zip

Aplicatie android pentru receptia datelor applicatie.zip

Jurnal

Bibliografie/Resurse