Skip to content

Activiteit

Eenvoudig AI sporthorloge

Gevorderd | MakeCode | Acceleratiemeter | AI begrijpen, Gegevens verzamelen, Machinaal leren, Menselijke rol in AI ontwerp

Een geweldig eerste project om te bouwen met micro:bit CreateAI. Maak een slimme activiteiten timer die kan vertellen hoe lang je actief of inactief bent.

Stap-voor-stap projectgids

Stap 1: Begrijp het

Hoe werkt het?

In dit project ga je een machine learning (ML) model trainen om te herkennen wanneer je aan het sporten bent en wanneer je niet aan het sporten bent.

Je gaat dat model combineren met een MakeCode programma om een activiteiten timer te maken en dit project op je BBC micro:bit te zetten. Draag je micro:bit om op te nemen hoe lang je aan het sporten of niet aan het sporten bent geweest.

Druk op knop A om te zien hoeveel seconden je actief bent geweest, en B om te zien hoe lang je inactief bent geweest.

Wat is machine learning?

Machine learning (ML) is een vorm van kunstmatige intelligentie (AI) waarbij computers kunnen leren en besluiten kunnen nemen op basis van gegevens.

De ML-modellen zijn door mensen getraind om hen te helpen deze beslissingen te nemen, bijvoorbeeld om verschillende 'acties' te herkennen wanneer je je micro:bit op verschillende manieren verplaatst.

Wat moet ik doen?

AI-systemen hebben mensen nodig om ze te ontwerpen, te bouwen, te testen en te gebruiken. Je gaat gegevens verzamelen om een ML-model te trainen, te testen, te verbeteren en te combineren met computercode om een slim apparaat te maken dat AI gebruikt. Je gaat een micro:bit en de micro:bit CreateAI website gebruiken om dit te doen.

Stap 2: Maak het

Wat je nodig hebt

Verzamel data samples

Wanneer je het project opent in micro:bit CreateAI, zie je een aantal data samples voor 'sporten', en 'niet sporten':

Je gaat je eigen voorbeelden van bewegingen toevoegen met behulp van de micro:bit's bewegingssensor of accelerometer.

In micro:bit CreateAI, klik op de 'Verbinden' knop om je data collectie micro:bit te koppelen en volg de instructies.

Bevestig de data collectie micro:bit om je pols. Beslis over sommige acties die je vaak doet tijdens het sporten zoals bijvoorbeeld ter plaatse rennen, springen, of wandelen. Klik op de eerste actie, 'sporten' en klik op 'Opnemen' om jouw eigen data samples op te nemen. Als je een fout maakt, kun je alle samples verwijderen die je niet wilt. Je kunt ook op knop B op de micro:bit drukken om de opname te starten.

Doe hetzelfde voor de 'niet sporten'-actie en zorg ervoor dat je samples verzamelt in verschillende richtingen.

Kijk de data samples na: lijken alle ‘sporten’ samples op elkaar? Zien alle 'niet sporten' samples eruit alsof je stil zit?

Train en test het model

Klik op de knop 'Train model' om het model te trainen en vervolgens te testen. Probeer wat rond te lopen en zie of 'sporten' wordt getoond als geschatte actie. ZIt stil en kijk of 'niet sporten' wordt geschat. Geef je micro:bit aan iemand anders om te dragen en kijk of het ook voor hen werkt.

Verbeter je model

De meeste modellen kunnen worden verbeterd met meer gegevens. Als het model verbeterd moet worden om je acties te herkennen, klik dan op ‘← Bewerk data samples’.

Je kunt alle data samples waarvan je denkt dat ze niet juist zijn (omdat ze er comleet verschillend uitzien ten op zichte van andere samples van dezelfde actie) of meer samples van jezelf en andere mensen toevoegen.

Train het model opnieuw en test het opnieuw.

Plaats het model en de code op je micro:bit

Klik in micro:bit CreateAI op 'Bewerk in MakeCode' om de project code te zien in de MakeCode editor.

Je kunt de code aanpassen zoals je dat zou doen in elk micro:bit MakeCode project, of het gewoon uitproberen zoals het nu is. Verbind een micro:bit met behulp van een USB-datakabel, klik op de 'Download' knop in het MakeCode scherm en volg de instructies om je AI model en de code blokken naar een micro:bit te verplaatsen. Verwijder de micro:bit, voeg een batterijpakket toe, draag het en test het.

  • Druk op knop A om te zien hoeveel seconden je hebt gesport.
  • Druk op knop B om te zien hoeveel seconden je niet aan het sporten bent geweest.
  • Reset de timer door op de reset knop aan de achterkant van de micro:bit te drukken, of ontkoppel en verbind het batterijpakket opnieuw.

Hoe de codeblokken werken

De code gebruikt twee variabelen om bij te houden hoelang je al aan het sporten of niet aan het sporten bent geweeest. Wanneer het programma voor het eerst wordt uitgevoerd, worden deze timer variabelen op 0 ingesteld.

De 'on ML... start'-blokken worden geactiveerd wanneer het ML-model besluit dat je ofwel bent begonnen met sporten of niet aan het sporten bent. Ze tonen verschillende pictogrammen op het micro:bit's LED-display afhankelijk van de actie die je doet.

De 'on ML... stop'-blokken worden geactiveerd wanneer het ML-model besluit dat je een actie hebt voltooid. Code in elk blok verwijdert het afbeelding van het scherm en voegt de duur van de actie die net is voltooid toe aan de variabele die de totale tijd voor elke actie bijhoudt.

De 'wanneer knop... ingedrukt'-blokken bevatten code om de variabelen weer te geven met de totale tijd die je hebt gesport of niet hebt gesport. De timer telt in milliseconden (duizendsten van een seconde), dus het getoonde aantal is gedeeld door 1000 om de totale duur in seconden te tonen.

Beoordeling

Hoe accuraat zijn de metingen van hoe lang je hebt gesport of gerust? Werkt het net zo goed voor verschillende mensen?

Test of de timercode goed werkt met het model in drie eenvoudige stappen:

  1. Druk op de reset knop.
  2. Sport 30 seconden.
  3. Druk op knop A. Je zou een getal van bijna 30 over je scherm moeten zien scrollen.
  • Als je het model wilt verbeteren klik op de < pijl links boven aan de MakeCode editor om meer data voorbeelden toe te voegen en het model overnieuw te trainen.

Vergelijk de eenvoudige AI sport timer met het Stappenteller project dat geen ML (machine learning): gebruikt

  • Hoe zorgt het gebruik van ML voor het maken van een nuttiger project?
  • Is AI / ML altijd nodig om nuttige projecten te maken?

Stap 3: Breid het uit

  • Verken het toevoegen van codeblokken die een '?' laten zien, wanneer het model je actie niet kan identificeren.
  • Voeg geluidsblokken toe om audio-feedback te geven wanneer sporten of niet sporten wordt gedetecteerd.
  • Probeer het AI activiteit timer project om je micro:bit te trainen om specifieke oefeningen of activiteiten en tijdsduur te detecteren.