Aboense

Kuvaus
Projektimme aiheena on lukea usealta urheilijalta hengitys- ja sydämen sykedataa ja esittää tämä data sekä urheilijan paikan sijainti nettisivun tai sovelluksen avulla reaaliajassa. Teemme projektia Aboense:lle ja sitä työstetään pääsääntöisesti sisäpelien pelaajia varten kuten esimerkiksi salibandyn. Jokaiselle pelaajalle kiinnitetään laite joka sisältää mm. Aboensen anturin joka mittaa sykettä ja hengitystä, lisäksi bluetoothin avulla saadaan tieto paikasta. Laite lähettää datan langattomasti palvelimelle, joka esittää sen visuaalisesti sovelluksen kautta reaaliajassa.

Tavoitteet
Alunperin tavoitteenamme oli pystyä loppunäytöksessä demonstroimaan projektia, jossa useammalla kuin yhdellä pelaajalla on kiinni prototyyppimme: Aboensen sensori kyljessä, kytkettynä johdoilla piirilevyyn, mikä on kiinnitettynä vyölle. Nämä laitteet mittaavat hengitystä ja sykettä samaan aikaan kun mikrokontrolleri laskee paikan koordinaatteja bluetoothin avulla. Data lähetetään käyttöliittymälle Wi-Fi:n välityksellä ja koneelta voidaan seurata pelaajien sykettä, hengitystä sekä paikkaa kentällä reaaliajassa.

Lopputuloksena saimme usealta pelaajalta tutkittua paikkaa ja esitettyä useat eri arvot käyttöliittymällä, mutta minkään saatu data ei ollut järkevää. Paikan sijaintitiedot hyppäsivät jatkuvasti kentän keskelle, koska Beaconeiden avulla toteutus oli altis signaalin heijastumiselle sekä estymiselle. Lisäksi sydämen sykkeen data oli heikkoa ja epäsäännöllistä, josta oli vaikea saada ulos selvää sykearvoa. Hengitysdatasta ei saatu myöskään järkeviä arvoja. Datan lähetys Wi-Fi:n avulla toimi ja UI kykeni esittämään datan kuten oli tarkoitus.

Komponentit
ESP32-DevKitC-32U, BLE-beaconin mikrokontrolleri
Linx ANT-2.4-PML-UFL, BLE-beaconin antenni
Clas Ohlson 3350 mAh, virtalähde BLE-beaconille
Sparkfun CAB-12970, elektrodikaapeli anturille
Aboense anturi, käsittelemämme raakadata
Adafruit HUZZAH32, piirilevyn mikrokontrolleri
TLV2372, operaatiovahvistin piirilevyllä
pintaliitosvastus 0805, piirilevyn kytkennät
pintaliitosvastus 0603, piirilevyn kytkennät
läpireikävastus axial, piirilevyn kytkennät
pintaliitoskondensaattori 0805, piirilevyn kytkennät
Turnigy 1200 mAh LiPoly, virtalähde piirilevylle

Tulokset

1. Mikrokontrollerit ja sensorit
Valmiissa versiossa piirilevyyn on kiinnitettynä kaksi ESP32-Feather -mikrokontrolleria, joista toinen toimii Bluetooth-antennina ja toinen Wi-Fi -lähettimenä. Päädyimme käyttämään kahta mikrokontrolleria helppokäyttöisyyden ja yhdistettävyyden takia: Koodia oli helppo testata USB-portin kautta ja kontrollerit oli helppo liittää toisiinsa valmiiden pinnien avulla. Virransyöttö oli myöskin helppo toteuttaa Feathereissa mukana olevan akkulaturin avulla, jonka avulla pystyi antamaan virtaa molemmille kontrollereille piirilevyn avulla.

2. Käyttöliittymä
Käyttöliittymän toteutus onnistui ja käyttöliittymä onnistuu saamaan dataa mikrokontrollerilta Wi-Fi-yhteyden kautta. Sisäisesti käyttöliittymällä on päätiedosto main.py, kaksi luokkaa player ja drawPlayer sekä data_parse datan jäsennykseen. Päätiedosto luo wifi pistokkeen, ylläpitää pelaajien datalistaa ja kutsuu piirtokomentoja. Player -luokka on datan säilytysluokka. DrawPlayer piirtää player luokan datan ruudulle käyttäen pygamea.

3. Piirilevy
Aboensen anturilla on yksi sisääntulo piirilevyn groundista ja ulostulot sydän- ja hengityssignaaleille. Hengitys on kytketty suoraan mikrokontrollerin analogipinniin A4. Sydänsignaali vahvistetaan ensin 44-kertaiseksi, jonka jälkeen se viedään alipäästösuodattimen läpi (noin 10 Hz rajataajuus) mikrokontrollerin analogipinniin A2. Teimme myös toisen piirilevyn samalla kytkennällä testausta varten, jonka alipäästösuodattimen rajataajuus on noin 30 Hz. Testeissä tämä pienempi suodatus ei tuottanut parempia tuloksia.

Yhteenveto
Emme lopulta saaneet prototyyppiä toimimaan kaikin puolin ja kesän aikana projekti osoittautui paljon haastavammaksi kuin alunperin osasimme odottaa. Loppunäytöksessä meillä oli esittää osia jotka toimivat ja osia jotka eivät toimineet, mutta opimme paljon uutta kesän aikana ja pääsimme todella perehtymään projektin eri osa-alueisiin. Jaoimme jo alussa vastuita projektiin liittyen, joten kaikki painivat lähtökohtaisesti jonkin oman ongelman kanssa ja pidimme paljon palavereita, joissa sitten annoimme tilannepäivityksen muille ryhmäläisille ja mietimme eri ratkaisumahdollisuuksia ongelmiin.

Meillä oli hyvä projektiryhmä ja sponsoriyritys, joiden kanssa työskentely oli mukavaa ja kurssista jatkamme eteenpäin hyvillä mielin, vaikka projekti ei toteutunut halutulla tavalla.

Tekijät
Sampo Vänninen
Tiia-Maria Hyvönen
Olavi Uusitalo
Samuel Johansson

Lisenssi
MIT-lisenssi koodeja varten.

Creative Commons -lisenssi
Tämä teos on lisensoitu Creative Commons Nimeä 4.0 Kansainvälinen -lisenssillä.

Linkit
Loppuraportti: loppuraportti_aboense
Git repo: https://github.com/Lerrike/Protopaja2019
KiCad: kicad_tiedostot