Scratch

Artificiële intelligentie en Scratch

De hieronder beschreven werkwijze is enkel getest in de browser Google Chrome. Het is dus aangeraden ook deze browser te gebruiken.

AI-model maken

Data verzamelen doe je via teachablemachine.withgoogle.com.

Druk op Aan de slag en kies je type project: er zijn drie mogelijkheden:

  1. Projectafbeelding: herkennen van objecten/mensen op afbeeldingen/camera

  2. Audioproject: herkennen van geluiden

  3. Project met houdingen: herkennen van poses

Wat je ook kiest, de werkwijze is gelijkaardig.

We kiezen hier als voorbeeld een project met houdingen.

Volg nu de instructies die worden weergegeven of bekijk de filmpjes hieronder

Data verzamelen

Bekijk onderstaand filmpje om te weten hoe je data kan verzamelen. Het filmpje is wel in het Engels maar je kan dit automatisch laten vertalen in het Nederlands door op het tandwieltje te drukken (rechts onderaan) en dan op ondertiteling te drukken. Druk nu op Engels (automatisch gegenereerd): je krijgt nu Engelse ondertiteling te zien maar dit is waarschijnlijk niet wat je wil. Druk nogmaals op Engels (automatisch gegenereerd) en klik nu op automatisch vertalen en kies Nederlands. Je krijgt nu Nederlandstalige ondertitels.

Als voorbeeld gaan we hier een AI-model maken dat weet wanneer we links, midden of rechts in beeld zijn. We hebben dus 3 klassen nodig waarvoor we data zullen moeten verzamelen (lees: foto's nemen). Doe dit nu.

Data trainen

Bekijk onderstaand filmpje om te weten te komen hoe je de verzamelde data kan trainen tot een AI-model. BELANGRIJK IS DAT JE HET TABBLAD MET DE TRAINING OP HET SCHERM LAAT STAAN, DUS NIET VAN TABBLAD WISSELEN OF NAAR EEN ANDER PROGRAMMA GAAN.

Data testen + exporteren

Tijd om te testen! Bekijk eerst het filmpje hieronder en lees daarna onder het filmpje verder.

Kan jouw getraind AI-model herkennen of je links, rechts of in het midden in beeld bent? Indien het niet goed werkt dan zal je nog extra foto's moeten nemen of foto's verwijderen om je model beter te maken.

Indien je model werkt kan je het exporteren zodat we het kunnen gaan gebruiken in Scratch. Druk hiervoor op Model exporteren en daarna druk je in het nieuwe scherm dat je krijgt op Upload mijn model. Je moet nu even wachten totdat er onder Jouw deelbare link de tekst Kopiëren verschijnt. Klik op Kopiëren om de link met het model in het geheugen op te slaan zodat we het kunnen gebruiken in Scratch.

AI-model in Scratch importeren

We werken NIET met de gewone versie van scratch maar dus met een aagepaste versie:

https://stretch3.github.io/

LET OP: kies het juiste project op basis van welk type model jij hebt gemaakt. Wij kiezen er hier voor om Scratch project houdingen te gebruiken.

Uitbreiding Teachable Machine importeren

Druk bij de categorieën (waar je Beweging, Uiterlijken, ... kan vinden) helemaal onderaan op de blauwe knop met het plusteken:

Druk in het nieuwe scherm op de uitbreiding TMPose2Scratch (of TM2Scratch indien je werkt met een model met afbeeldingen of audio):

Bij de categorieën krijg je nu een extra categorie TM2Scratch met extra blokken die je kan gebruiken. We gaan nu ons model inladen.

AI-model inladen

Als ons spelletje start willen we dat ons model ingeladen wordt. Het blokje dat je nodig hebt om het model in te laden:

Tik in het witte tekstvak en plak nu je model in dit tekstvak (rechts klikken en dan plakken of ctrl+v). Kan jij er nu voor zorgen dat het model ingeladen wordt als het spelletje start?


We gaan nu kijken of we verbinding kunnen maken met ons model. Ga naar de blokjes TMPose2Scratch (of TM2Scratch). Vink volgend blokje aan:

Klik nu op het groene vlaggetje. Normaal zou je nu hetgeen het model detecteert moeten zien op je scherm:

Cool hé! We kunnen nu ons figuurtje (=sprite) laten bewegen als we zelf bewegen voor de camera

AI-model gebruiken in Scratch

Als ons AI-model links detecteert dan moeten we ons figuurtje naar links laten bewegen. Dus we hebben een blokje Als-dan nodig:

In het zeshoekje moet het blokje komen met de voorwaarde, namelijk dat links gedetecteerd wordt. Dit heeft te maken met ons AI-model dus zal je dit bij de categorie TMPose2Scratch (of TM2Scratch) moeten gaan zoeken:

Klik op any en kies hetgeen gedetecteerd moet worden, in ons geval dus Links. Plaats dit blokje op de juiste plaats. We moeten nu enkel nog ervoor zorgen dat indien links gedetecteerd wordt de sprite ook effectief naar links beweegt. Je hebt hiervoor volgende blokjes nodig:

Kan je de blokjes op de juiste plaats invoegen? Zorg er ook voor dat de sprite de juiste richting uitgaat, dus hier naar links.


Gelukt? Nu moeten we het als-dan-blok nog laten uitvoeren. Wanneer moeten we dit controleren?




JUIST! Héél de tijd! Hiervoor hebben we een handig blokje in Scratch, namelijk Herhaal:

Zorg er nu voor dat van zodra het spelletje start je sprite naar links gaat telkens je links in beeld komt.


Yesssssss!!!!!! Kan jij er nu ook voor zorgen dat je sprite naar rechts gaat als je rechts in beeld komt en blijft stil staan indien je in het midden in beeld komt?

Snoepjes sorteermachine


Vandaag gaan we een sorteermachine maken voor M&M's. Cool! Bekijk maar eens het resultaat op volgende website:

https://experiments.withgoogle.com/tiny-sorter/view

Eerst en vooral zullen we wat de handen uit de mouwen moeten steken om onze sorteermachine te bouwen.

Elektrisch schema aansluiten

Hier vind je het stappenplan. (Dit stappenplan krijg je ook afgedrukt. Van dit stappenplan gebruik je enkel het vouwen, niet hoe je de elektronica moet aansluiten). Er ligt ook een gemaakte versie.

De elektronica sluit je als volgt aan:

Zorg dat je de nodige materialen verzameld. Deze kan je vinden op een aparte tafel.

Voor het verbinden van de motor zal je eerst moeten kijken welk type je hebt en dan zal je de datasheet van het betreffende model moeten openen om te zien hoe je de kabels moet aansluiten: je hebt normaal 3 kabels (één voor de + (5V), één voor de - (GND) en één voor het signaal (hier kan je doorgeven in welke stand de motor moet staan, dit doen we via de microbit.)

De arduino gebruiken we enkel om de motor van voldoende stroom te voorzien.

De datasheets van de twee modellen:

SG90

SM-S2309S

Software instellen

Download DIT bestand naar je computer.

Ga in de windows verkenner naar de map waar je dit bestand gedownload hebt (normaal komt dit in de map downloads).

Kopieer dit bestand nu naar de microbit:


Nadat je dit gedaan hebt zie je tekst verschijnen. Na de tekst staat er een rood bolletje te knipperen op het midden van het scherm. Door je microbit te kantelen kan je je scherm volledig laten oplichten. Dit moet je doen vooraleer je de microbit kan gebruiken. Er komt een smiley als het gelukt is.

Download Scratch Link en installeer.

Indien Scratch link opgestart is moet je rechts onderaan volgend icoontje zien:

Is dit nog niet het geval dan moet je scratch link nog opstarten:

Ga naar https://stretch3.github.io/

Voeg de extensie "Micro:bit MORE" toe via de knop links onderaan.

We gaan nu verbinding maken met de microbit. Druk op volgend knopje:

Je microbit heeft een naam. Check het led display op je microbit om te zien hoe hij heet.

Klik naast de naam van je microbit op de blauwe knop verbind:

Eens verbonden druk je op de blauwe knop "ga naar editor". Er staat nu een groen vinkje bij je microbit.

Yes, eindelijk kunnen we onze M&M-sorteerder programmeren. Maar eerst nog snel even leren hoe we de motor moeten bedienen

De motor bedienen

De motor heb je normaal op pin 0 van je microbit aangesloten. Je gebruikt een servo-motor die 180 graden kan draaien. De graden kan je instellen met volgend blokje

waarbij de eerste nul de pin is en de tweede 0 het aantal graden. Dus hier kan je dus een hoek instellen tussen 0 en 180 graden. Probeer een ervoor te zorgen dat als je op het pijltje omhoog van je toetsenbord drukt de motor naar 0 graden gaat. Indien je pijltje naar beneden drukt moet de motor naar 180 graden gaan.

LET OP: NEEM DE MOTOR VAST IN JE HAND ALS JE GAAT TESTEN ZODAT DE MOTOR VRIJ KAN BEWEGEN.

M&M's sorteren

Neem twee van je favoriete M&M's kleuren. zorg ervoor dat je een dataset hebt die de twee kleuren kan herkennen. Doe dit dus via teachable machine.

Wat zou er moeten gebeuren als er geen kleur gedetecteerd wordt? Rollen de M&M's gemakkelijk naar beneden?

Eens hij de kleuren goed herkent ga je je model gebruiken in TM2Scratch.

Zorg er dus voor dat de ene kleur bijvoorbeeld naar links gesorteerd wordt en de andere kleur naar rechts.