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:\

  • Citeste date de la modulul MMA8452 folosit pentru a determina miscarea
  • Primeste date de la DHT11
  • Afiseaza pe display grafice si date
  • Trimite datele la modulul de bluetooth

Schema bloc

Hardware Design

Componente:

  • DHT11 senzor temperatura si umiditate
  • MMA8452 Accelerometru
  • LCD-10168 (nokia 5110)
  • HC-06 modul bluetooth
  • fotorezistenta
  • ATMega324a
  • stabilizator tensiune 3v3

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

  • Circuitele integrate sunt foarte rezistente

Download

Jurnal

  • 17 mai Am realizat montajul initial

Bibliografie/Resurse

pm/prj2018/dghilinta/sleeptracker.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0