Cyclus 4

Cyclus 4

Inleiding

Deze vierde cyclus gaat over stappentellers en activity trackers. Misschien heb je er zelf wel eentje: een polsband waarmee je bijhoudt hoeveel stappen je zet op een dag.

Deze horloges maken vaak gebruik van een versnellingssensor, dat is dan ook de centrale sensor in deze cyclus. De eindopdracht houdt in dat je zelf een stappenteller gaat ontwikkelen.

Stappentellers en activity-trackers

Inleiding

In het volgende filmpje zie je hoe technologie kan bijdragen aan een gezondere levensstijl van mensen en de specifiek de rol van een stappenteller.

Sensoren in stappentellers

Bekijk de onderstaande video van de consumentenbond over het testen van smartwatches en activity trackers.

Smartwatches - Hoe we testen (Consumentenbond)

Nauwkeurigheid van stappentellers

Hieronder zie je een citaat van iemand die een activity tracker heeft getest.


Nauwkeurigheid + metingen: de functie waarbij het apparaat een logboek bijhoudt en dan zelf registreert of iemand loopt, hardloopt, slaapt, etc., laat nog wel eens gebreken zien. Zo registreerde het apparaat af en toe dat ik op de crosstrainer zou hebben gestaan terwijl ik dan gewoon in stevig tempo een heuvel aan het oplopen was. Ook is hij niet helemaal nauwkeurig als het gaat om het bijhouden van de nachtrust. Zo registreert het apparaat niet altijd even goed wanneer iemand echt in slaap is gevallen waardoor de volgende dag de aangegeven duur van de slaap niet helemaal correspondeert met de werkelijkheid.
Bron: https://www.kieskeurig.nl/c/samsung_gearfit2_testpanel

Ook stappentellers geven verschillende resultaten volgens de consumentenbond:
De nauwkeurigheid laat helaas te wensen over. Na precies 100 stappen geven de stappentellers verschillende resultaten: 110, 113 en 121. Na een hele dag lopen de verschillen op tot ruim 1000 stappen. Uit een eerder onderzoek van de Consumentenbond uit 2008 bleek dat de nauwkeurigheid lijkt af te hangen van de manier van lopen, de afwijking verschilde tussen de proefpersonen.
Bron: https://www.consumentenbond.nl/smartwatch/goedkope-stappentellers#no2

 

Opdracht: activity trackers op je telefoon

Opdracht: vergelijk activity trackers op je telefoon

Er zijn allerlei activity trackers, stappentellers en pedometers als app te downloaden. Installeer drie van deze apps op je telefoon en onderzoek de nauwkeurigheid van deze apps: hoe precies bepalen de apps het aantal stappen dat je loopt? Geeft een vergelijking van de drie apps. Werk hierbij in groepjes van 2 of 3 leerlingen.

Versnellingssensor

Versnellingssensor op je telefoon

De versnellingsmeter is een sensor waarvan je vaak niet eens weet dat je die gebruikt. Zo zit er in veel smartphones een versnellingsmeter om te bepalen of een gebruiker ermee schudt. Maar ook om te bepalen hoe jij jouw smartphone of tablet vasthoudt zodat het scherm mee kan draaien. De controllers van bekende spelcomputers hebben vaak een versnellingsmeter om de bewegingen van de gebruiker te detecteren.

Er zijn allerlei apps ontwikkeld waarmee je kunt zien welke sensoren er op je telefoon zitten en wat voor gegevens deze sensoren genereren. Hieronder zie je een schermafdruk van de app ‘Sensor Kinetics’ waarbij de gegevens van de versnellingssensor (accelerometer) op de telefoon in een grafiek worden weergegeven.

 

Bron: https://play.google.com/store/apps/details?id=com.innoventions.sensorkinetics&hl=nl

 

Opdracht: installeer app

Voor deze opdracht heb je je telefoon nodig. Installeer een app waarmee je kunt zien welke sensoren op je telefoon aanwezig zijn en welke gegevens deze sensoren genereren. Zoek in de app-store bijvoorbeeld op ‘sensors’, dan vind je er genoeg. Een voorbeeld is ‘Sensor Kinetics’ voor Android telefoons.
Verken de app en bekijk welke gegevens worden getoond. Kijk specifiek naar de versnellingssensor. Probeer te bepalen wat voor gegevens deze sensoren geven en hoe je die kunt beïnvloeden.

 

Hoe werkt een versnellingssensor

Hieronder staan twee engelstalige filmpjes over de werking van de versnellingssensor (=accelerometer). Het eerste filmpje is heel toegankelijk. Het tweede filmpje gaat wat meer de diepte in.

Behing the MakeCode Hardware - Accelerometer

How a Smartphone Knows Up from Down (accelerometer)

Grillige data

Piekdetectie

Sommige sensoren geven duidelijke informatie. Een aanraaksensor geeft aan of de sensor wordt aangeraakt/ingedrukt (het resultaat is 1) of niet (het resultaat is 0). De versnellingssensor geeft echter niet direct zulke duidelijke informatie. Stel je wilt de versnellingssensor gebruiken om het aantal stappen te tellen dat iemand zet. De versnellingssensor zal echter niet het aantal stappen als output geven. De output van een versnellingssensor ziet er eerder uit zoals hieronder. De data komt van een versnellingssensor die is gebruikt bij het (hard)lopen. De data is grillig.

Bron: https://www.youtube.com/watch?v=wluRtoi3S9Q

 

Je zult nu op basis van deze data moeten bepalen wanneer er een stap is gezet. Daarvoor moet je het aantal pieken in de grafiek tellen. Of beter gezegd, je moet een programma maken dat bepaalt wanneer een piek is bereikt. Dat heet ook wel ‘peak detection’. Je kunt daarvoor een threshold (drempelwaarde) gebruiken. Elke keer als de waarde van de sensor boven de threshold uitkomt wordt het aantal stappen verhoogd. Je ziet dat weergegeven in de onderstaande figuur.

Bron: https://itp.nyu.edu/physcomp/labs/labs-arduino-digital-and-analog/lab-sensor-change-detection/

 

Opdracht: toestandsdiagram om het aantal pieken te tellen

Maak een toestandsdiagram waarmee het aantal pieken wordt geteld. Op basis van zo'n toestandsdiagram kun je een stappenteller maken.

De mogelijke gebeurtenissen zijn:

  • Versnelling is onder de drempel (threshold)
  • Versnelling is boven de drempel (threshold)

Er is maar één mogelijke actie:

  • aantal stappen + 1

 

Ruisdetectie

Helaas is de output die een versnellingssensor geeft niet een nette grafiek. De grafiek bevat veel ruis (engels: noise), er zitten allerlei kleine, lokale pieken tussen die niet moeten worden meegeteld. Het herkennen van de ruis wordt wel ‘noise detection’ genoemd.

Bron: https://itp.nyu.edu/physcomp/labs/labs-arduino-digital-and-analog/lab-sensor-change-detection/


 

Opdracht: teken een grafiek

Teken een voorbeeld van een grafiek met een lokale piek en een threshold, waarbij het toestandsdiagram dat je eerder maakte niet goed werkt: er worden te veel pieken geteld.

 

Er zijn allerlei technieken en algoritmen om zinvolle en betrouwbare informatie te kunnen halen uit dit soort data dat vol met ruis zit. Zie ook: https://itp.nyu.edu/physcomp/labs/labs-arduino-digital-and-analog/lab-sensor-change-detection/

Toestandsdiagram met twee drempelwaarden

Om het probleem van een lokale piek op te lossen kun je werken met twee thresholds (drempelwaarden) in plaats van één. Je gebruikt dan een bovengrens en een ondergrens, zoals hieronder.

Bron: https://itp.nyu.edu/physcomp/labs/labs-arduino-digital-and-analog/lab-sensor-change-detection/

 

Opdracht: toestandsdiagram voor twee drempelwaarden

Maak een toestandsdiagram waarmee het aantal pieken wordt geteld op basis van twee drempelwaarden.

De mogelijke gebeurtenissen zijn (je hoeft ze niet per se allemaal te gebruiken):

  • Versnelling is onder de onderste drempel
  • Versnelling is boven de onderste drempel
  • Versnelling is onder de bovenste drempel
  • Versnelling is boven de bovenste drempel

Er is maar één mogelijke actie:

  • aantal stappen + 1

Oefenopdracht: stilzitalarm

Opdracht: toestandsdiagram voor stilzitalarm

Mensen die veel achter de computer zitten bewegen tussendoor soms te weinig, en dat is slecht voor hun nek en schouders. Maak een toestandsdiagram voor een systeem met een versnellingssensor dat een signaal (bijvoorbeeld een zoemer) geeft zodra iemand te lang stil zit. Zodra die persoon in beweging komt gaat het signaal uit.

De mogelijke toestandsovergangen zijn:

  • Beweging gedetecteerd (versnelling > drempelwaarde)
  • Geen beweging gedetecteerd (versnelling < drempelwaarde)
  • Timer loopt af

De mogelijke acties zijn:

  • Start de timer 
  • Zet signaal aan (zoemer)
  • Zet signaal uit

Terug naar voorpagina

Ga terug naar de voorpagina met verwijzingen naar alle hoofstukken voor deze module.