Een eenvoudig project om te personaliseren met behulp van micro:bit CreateAI. Maak een slimme timer die detecteert hoe lang je verschillende activiteiten hebt uitgevoerd.
Stap 1: Begrijp het
Hoe werkt het?
In dit project ga je een machine learning (ML)-model trainen om te herkennen wanneer je bepaalde bewegingen maakt tijdens het dragen van een BBC micro:bit.
Je gaat dat model combineren met een MakeCode programma om een activiteiten timer te maken en zowel het model als je code op je mico:bit zetten. Draag je micro:bit om op te nemen hoe lang je verschillende activiteiten aan het doen bent.
Druk op knoppen A of B om te zien hoeveel seconden je elke activiteit hebt uitgevoerd.
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, 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
Benodigdheden
- Een micro:bit V2, USB gegevenskabel, batterijpakket met 2 x AAA batterijen
- Een computer (bijv. desktop, laptop of Chromebook) met toegang tot de micro:bit CreateAI website, gebruik makend van een Chrome of Edge webbrowser.
- Als je computer Bluetooth niet ingeschakeld heeft, heb je een extra micro:bit V2 nodig
- Een band en houder, of een andere manier om de micro:bit om je pols te doen (bijv. flexibele chenille pijpreiniger of elastiekjes)
- Misschien vind je onze micro:bit CreateAI tips voor leraren nuttig
Verzamel data samples
Wanneer je het project opent in micro:bit CreateAI, zie je een aantal data samples voor 'wandelen', 'springen' en 'stil zitten':
walking
jumping
being still
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.
Koppel de gegevensverzameling micro:bit aan de binnenkant van je rechterenkel met knop B bovenaan; het is belangrijk dat alle samples in een project dezelfde plaatsing van de micro:bit op het lichaam gebruiken. Als je wilt veranderen hoe je het draagt, vervang dan gewoon alle data samples.
Voeg je eigen beweging data sample toe om te lopen, te springen en stil te zitten. Klik om de beurt op elke actie, klik vervolgens op 'Opnemen' om een korte sample van elk actie te maken. 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.
Kijk de data samples na: lijken alle ‘wandeling’ samples op elkaar? Zijn de samples van het ‘springen’ echt anders dan die van ‘lopen’ en ‘stil zitten’?
Train en test het model
Klik op de knop 'Train model' om het model te trainen en vervolgens te testen. Probeer te lopen en kijk of 'wandelen' wordt weergegeven als de geschatte actie. Probeer te springen en ook stil te zitten. Geef je micro:bit aan iemand anders om te zien of het net zo goed werkt voor hen.
Verbeter je model
Dit is de stap waarin je iteratief gaat werken. 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 je gegevensverzameling opschonen door alle data samples te verwijderen die volgens jou niet passen (omdat ze compleet verschillen van andere samples voor dezelfde actie). Je kunt het model ook verbeteren door meer samples van jezelf en andere mensen toe te voegen.
Misschien moet je zeer subtiele bewegingen toevoegen als onderdeel van je 'stil zitten' data samples om het model te helpen onderscheid te maken tussen verschillende acties. Het verzamelen van stil zitten samples met de micro:bit in verschillende oriëntaties helpt ook het model.
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 gelopen.
- Druk op knop B om te zien hoeveel seconden je hebt gesprongen.
- Druk op A & B samen om te zien hoeveel seconden je stil hebt gezeten.
- 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 drie variabelen om bij te houden hoe lang je een specifieke activiteit uitvoert. 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 een activiteit hebt gestart die het herkent. 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, zoals lopen, springen of stil zitten. Code in elk blok verwijdert de afbeelding van het scherm en voegt de duur van de actie die net is voltooid toe aan de variabele die de totale tijd om te wandelen, springen of stil zitten bijhoudt.
De 'wanneer knop... ingedrukt'-blokken bevatten code om de variabelen weer te geven met de totale tijd die je elke actie hebt gedaan. 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 een specifieke activiteit hebt gedaan? Werkt het net zo goed voor verschillende mensen?
Test of de timercode goed werkt met het model in drie eenvoudige stappen:
- Druk op de reset knop.
- Spring 30 seconden.
- Druk op knop B. 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 samples toe te voegen en het model overnieuw te trainen.
Vergelijk de AI activiteit timer met de Stappenteller of Sensitieve stappenteller projecten die geen ML (machine learning) gebruiken:
- 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
- Voeg gegevens toe voor een andere actie en gebruik de aanraaklogo knop om de timer variabele voor de nieuwe actie te bekijken.
- Voeg geluidsblokken toe om audio-feedback te geven wanneer verschillende activiteiten worden gedetecteerd.
- Kun je je nieuwe kennis over machine learning gebruiken om 'het model te breken'? Kun je op bepaalde manieren het model misleiden om onjuiste beslissingen te nemen over welke activiteit je aan het doen bent? Je zou ook kunnen experimenteren met het toevoegen van 'verwarrende' data samples en hun effect op het ML-model kunnen beoordelen. Vergelijken van wat je weet over waarom sommige data samples goed werken, terwijl andere dat niet doen, is een goede manier om je begrip van deze technologie te verkennen.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.