Itseopiskelukortit Lego Spiken käyttöön
Jens Lindholm
Tehtäväkortti / CC BY-NC-ND Innokas
1
28.2.2025
Itseopiskelukorttien sisältö
Tehtäväkortti / CC BY-NC-ND Innokas
2
28.2.2025
Tässä opintokokonaisuudessa opit Lego Spiken perusteet askel askeleelta asteittain vaikeutuvien ohjeiden avulla.
Rakenna ensin ohjeiden mukaan ja tee sen jälkeen omia hienosäätöjä - näin opit parhaiten. Lykkyä tykö rakentamiseen ja ohjelmointiin!
Vinkkejä ja niksejä ongelmatilanteisiin
Tehtäväkortti / CC BY-NC-ND Innokas
3
28.2.2025
1. Ongelma: keskusyksikkö ei käynnisty
2. Ei Bluetooth-pariliitosta (kokeile näitä keinoja)
3. Ohjelma ei toimi oikein
Kun akun varaus on vähissä, voi aiemmin moitteettomasti toiminut robotti alkaa käyttäytyä oudosti. Tarkista tällöin, että keskusyksikössä on virtaa.
Mahdollisia ongelmia, joihin saatat törmätä:
Tekemällä oppiminen
Tehtäväkortti / CC BY-NC-ND Innokas
4
28.2.2025
Ohjelmointi
Korttien tavoitteena on, että opit ohjelmointia itse kokeilemalla.
Kortit on suunniteltu niin, että voit joko kokeilla itse tai kopioida valmiin ratkaisun.
Spike-sovellus toimii PC:llä, Chromebookilla ja iPadilla.
1.
2.
1.
2.
Spike helppobotti
Tehtäväkortti / CC BY-NC-ND Innokas
5
28.2.2025
Rakennustehtävä
Innokkaan verkkosivuilta löydät ohjeet yksinkertaisen robotin rakentamiseen itseopiskelua varten.
Klikkaa linkkiä ja rakenna robotti:
https://www.innokas.fi/materiaalit/lego-education-spike-helppobotti/
1.
1.
Spike-keskusyksikön toiminnot
Tehtäväkortti / CC BY-NC-ND Innokas
6
28.2.2025
Virtapainike sekä nuolinäppäimet ohjelman valitsemiseen
Kuusi porttia (A-F) moottoreiden ja sensorien liittämiseen
USB-portti ohjelmien siirtämiseen ja lataamiseen
Bluetooth-painike langattomaan yhdistämiseen
5x5 LED-näyttö
Vaikka langaton yhteys toimii hyvin, saatat joskus joutua käyttämään USB-kaapelia esimerkiksi ohjelmistopäivityksiä varten tai jos keskusyksikkö menee jumiin.
Ohjelmointi-ikuna
Tehtäväkortti / CC BY-NC-ND Innokas
7
28.2.2025
Tallennetun projektin nimi
Lohkoalue, jossa on kaikki eri komennot, joita voit käyttää. Ne ovat värikoodattuja, jotta tunnistat ne helpommin.
Play-nappi ohjelman käynnistämistä tai siirtämistä varten
Ohjelman lataaminen tiettyyn, nimettyyn keskusyksikköön
Yhdistä-symbolin alta löytyy lisäasetuksia.
Yhteyden hallinta Spike-keskusyksikköön
Tehtäväkortti / CC BY-NC-ND Innokas
8
28.2.2025
Yhdistä
Yhdistä-symbolin takaa löydät tarkempia tietoja keskusyksiköstä:
1.
1.
Laita robotti liikkeelle
Tehtäväkortti / CC BY-NC-ND Innokas
9
28.2.2025
Ohjelmointi
Yhdistä robotti Bluetoothilla tai USB-kaapelilla.
Vedä kuvassa näkyvät lohkot ohjelmointi-ikkunaan ja yhdistä ne “Kun ohjelma käynnistyy”-komentosarjaksi.
Onko komentosarjan järjestyksellä väliä?
Paina Play ja katso, liikkuuko robotti.
1.
Napsauttamalla oikeanpuoleisella hiirinäppäimellä jotakin komentoa saat lisätietoa siitä valitsemalla “Ohje”.
2.
1.
2.
Laita robotti liikkeelle
Tehtäväkortti / CC BY-NC-ND Innokas
10
28.2.2025
Ohjelmointi
Ohjelmasi voi näyttää tältä:
Lohko 1: näyttää mihin portteihin liikemoottorit on kytketty
Lohko 2: näyttää prosentteina kuinka nopeasti moottorit pyörivät
Lohko 3: näyttää kuinka monta kierrosta ja mihin suuntaan molemmat moottorit pyörivät
HUOM! Riippuen siitä, miten malli on rakennettu, voi nuoli eteenpäin todellisuudessa tarkoittaa, että robotti peruuttaa. Klikkaa silloin nuolta niin että se osoittaa vastakkaiseen suuntaan.
Kierrosten sijaan voit valita kuinka monta astetta, sekuntia, senttimetriä tai tuumaa moottorien tulee pyöriä.
1.
1.
Aja tarkalleen yksi metri
Tehtäväkortti / CC BY-NC-ND Innokas
11
28.2.2025
Ohjelmointi
Käytä samoja lohkoja kuin aiemmin, ja ohjelmoi robottisi ajamaan tarkalleen 100 cm.
Mieti tarkasti, mitä sinun tulee muuttaa ohjelmoinnissa.
Teippaa 100 cm mittainen osuus lattialle, testaile ja katso, mikä toimii.
Löydätkö fiksumpia tapoja ajaa tarkkoja etäisyyksiä?
Luo uusi lohko tarkkoja etäisyyksiä varten.
Mikä määrittää matkan, kun robotin pyörä pyörii yhden kierroksen?
Tutki, miten lohko toimii.
1.
2.
1.
2.
Tasan yksi metri
Tehtäväkortti / CC BY-NC-ND Innokas
12
28.2.2025
Ohjelmointi
Kaksi ratkaisumallia:
1. Ylemmässä ohjelmassa olen edennyt kokeilemalla ja huomannut, että 100 cm on 5.7 kierrosta.
HUOM! Piste, ei pilkku!
2. Alempaan ohjelmaan on lisätty uusi lohko. Robotin pyörän ympärysmitta on 17,5 cm, joten nyt saan helposti valittua minkä tarkan etäisyyden tahansa.
100 cm/17,5 on n. 5.7 kierrosta.
Kokeile ajaa muutamia muita tarkkoja etäisyyksiä alemman ohjelman avulla.
1.
Käänny paikallasi 90 astetta
Tehtäväkortti / CC BY-NC-ND Innokas
13
28.2.2025
Ohjelmointi
Muokkaa ohjelmaa siten, että robotti kääntyy 90 astetta paikallaan.
Tähän tarvitset uuden lohkon.
Vinkki: Vaihda kierros-asetus asteiksi ja säädä ”oikea: 30” 🡪 ”oikea: 100”.
Jos “oikea: 100” valitaan, pyörii yksi pyörä eteenpäin ja toinen taaksepäin.
1.
2.
1.
2.
Asetus kertoo, kuinka monta kierrosta, astetta tai sekuntia PYÖRÄT pyörivät!
Käänny paikallasi 90 astetta
Tehtäväkortti / CC BY-NC-ND Innokas
14
28.2.2025
Ohjelmointi
Esimerkissä nopeus on muutettu 🡪 25% ja kierrokset asteiksi.
Miten robotti kääntyy, jos “oikea: 100” muutetaan pienemmäksi arvoksi?
Harjoituksia:
1. Tee testirata, jolla robotin tulee ajaa suoraan eteenpäin, kiertää esine ja palata lähtöpaikalle.
2. Teippaa pysäköintiruutu lattialle ja laita robottisi peruuttamaan pysäköintiruutuun.
HUOM! Varo vanteita ja pysäköintiruudun vieressä jalkakäytävällä olevia ihmisiä.
Silmukka helpottaa ohjelmointia
Tehtäväkortti / CC BY-NC-ND Innokas
15
28.2.2025
Aja neliönmuotoinen reitti
Silmukka (toistolause) helpottaa ohjelmointia, sillä se toistaa siihen lisätyn ohjelman niin monta kertaa kuin haluat.
Rakenna ohjelma siten, että robotti kulkee neliön muotoisen reitin ruudussa olevien lohkojen avulla.
Sinun tulee muuttaa toistojen määrää, sivun pituutta ja kuinka paljon robotti kääntyy joka kulmassa.
1.
2.
1.
2.
Valmis ohjelma:
Paina ruutua niin näet ohjelman.
Ohjelmoi robotti ajamaan kolmion, viisikulmion yms. muotoisesti.
Valosensori pysäyttää robotin
Tehtäväkortti / CC BY-NC-ND Innokas
16
28.2.2025
Ohjelmointi
Teippaa musta viiva vaalealle lattialle. Ohjelmoi robotti löytämään viiva, pysähtymään sen kohdalle ja näyttämään iloista ilmettä.
Tarvitset ruudussa olevia lohkoja.
HUOM! Jos haluat käyttää sensoria ohjaamaan jotain robotissa, sinun tulee käyttää keltaisia “Tapahtuma”-lohkoja!
Liikelohkot, jotka sisältävät tarkkoja aikoja tai etäisyyksiä, suoritetaan aina, vaikka sensori haluaisi toisin.
1.
2.
1.
2.
Valmis ohjelma.
Klikkaa ruutua nähdäksesi valmiin ohjelman.
Harjoitus: Testaa toisia värejä ja ohjelmoi siten, että tapahtuu eri asioita, kun sensori näkee jotain.
Ultrasensori pysäyttää robotin
Tehtäväkortti / CC BY-NC-ND Innokas
17
28.2.2025
Ohjelmointi
Vaihda valosensorilohko ultraäänisensoriksi ja muuta matka sekä etäisyys senteiksi.
Sensori lähettää ultraäänen, joka heijastuu takaisin, ja keskusyksikkö laskee etäisyyden äänen kulkuajan perusteella.
Harjoitus:
1.
2.
1.
2.
Valmis ohjelma.
Klikkaa ruutua, niin ohjelma näkyy.
Ajon jälkeen kuuluu aplodit. Löydät ne äänilohkoista. Voit lisätä monia eri ääniä.
Seuraa viivaa -esimerkki
Tehtäväkortti / CC BY-NC-ND Innokas
18
28.2.2025
Ohjelmointi
Jotta robotti voi seurata viivaa, meidän täytyy käyttää useita eri lohkoja, jotka toistuvat loputtomasti.
Valosensori lukee rajapinnan valkoisen ja mustan välillä ja tekee pieniä korjauksia kulkusuuntaansa.
Rakenna lohkot yhteen ja kokeile, miten ne toimivat.
Vinkki: käytä n. 20 mm leveää sähköteippiä.
Silmukka toistaa kaikki siihen sijoitetut lohkot.
Käänny oikealle, jos näkyy musta, ja vasemmalle, jos näkyy valkoinen.
Valosensorilohko sopii jos/niin-lohkoihin
Seuraavalta sivulta löydät valmiin ohjelman.
Seuraa viivaa - valmis esimerkki
Tehtäväkortti / CC BY-NC-ND Innokas
19
28.2.2025
Ohjelmointi
Tältä voi näyttää ohjelmasi ensimmäinen versio.
Hienosäädä viivan seuraamista muuttamalla nopeutta ja sitä, kuinka suuria korjauksia robotti tekee havaittuaan mustan tai valkoisen.
Harjoitus:
.
Pysy alueen sisällä (sumoareena)
Tehtäväkortti / CC BY-NC-ND Innokas
20
28.2.2025
Ohjelmointi
Teippaa suuri ympyrä vaalealla teipillä tummalle taustalle tai päinvastoin.
Pienillä muutoksilla edelliseen tehtävään saat robotin pysymään alueen sisällä.
Ruudun alareunassa olevat liikelohkot antavat voimakkaita komentoja.
Vinkki: Käytä noin 20 mm leveää sähköteippiä.
Mitä tulisi tapahtua, kun robotti näkee mustaa?
Minkä värin robotti näkee tässä?
Tässä täytyy muuttaa lohkoa ja antaa hieman voimakkaampia komentoja, jotka ohittavat valosensorin.
Mitä robotin pitäisi tehdä, kun se näkee jotain muuta kuin mustaa?
Pysy tietyn alueen sisällä (sumoareena)
Tehtäväkortti / CC BY-NC-ND Innokas
21
28.2.2025
Ohjelmointi
Valmiissa ohjelmassa olen vaihtanut värin valkoiseksi (loogisempi, sillä se on reunaväri).
Robotti ajaa suoraan eteenpäin mustalla, kunnes se näkee valkoista. Silloin se suorittaa vuorotellen siihen liittyvät lohkot. Sen jälkeen se jatkaa mustan lukemista, sillä olemme valinneet ikuisesti-silmukan.
Harjoitus:
Kun robotti näkee valkoista, se pysähtyy, peruuttaa 17,5 cm ja kääntyy paikallaan.
Kun robotti on mustalla se ajaa suoraan eteenpäin, kunnes sensori näkee valkoista.
Auta minua löytämään avaimeni (sumoareena)
Tehtäväkortti / CC BY-NC-ND Innokas
22
28.2.2025
Ohjelmointi
Kiinnitä muutama erivärinen lappu radalle (= kadonneet avaimet).
Ohjelmoi robotti löytämään avaimet.
Käytä edellistä ohjelmointia ja lisää “tai muuten”-lohkoja allekkain silmukkaan.
Mieti tarkkaan, mihin seuraava “tai muuten”-lohko tulee lisätä.
Robotin tulee saada vahva komento päästäkseen eteenpäin jokaisen löydetyn avaimen jälkeen.
Lisää ääntä tai kuvaa jokaisen löydetyn avaimen jälkeen.
Puolivalmis ohje löytyy seuraavalta sivulta.
HUOM! Minun radallani taustalla ja reunaviivalla on eri väri.
Auta minua löytämään avaimet (sumoareena)
Tehtäväkortti / CC BY-NC-ND Innokas
23
28.2.2025
Ohjelmointi
Tämän mallin avulla voit jatkaa ohjelmaa niin, että robotti tekee eri asioita riippuen siitä, minkävärisen lapun se löytää.
En ole vielä lisännyt lohkoa siitä, mitä robotti tekee nähdessään valkoista.
HUOM! Robotin täytyy saada lyhyt, suora komento sen jälkeen, kun se on pysähtynyt lapulle, muuten se jää paikalleen.
Yhdistä kaksi sensoria (sumorata)
Tehtäväkortti / CC BY-NC-ND Innokas
24
28.2.2025
Ohjelmointi
Aseta tyhjä maitopurkki sumoradallesi. Tavoitteena on, että robotti löytää paketin ja työntää sen täysillä ulos radalta.
Käytä “pysy tietyn alueen sisällä”-ohjelmointia ja lisää kuvassa näkyvät lohkot.
Mieti tarkkaan, mihin ne tulee lisätä.
Aseta robotti radalle niin, että se ajaa poispäin purkista, ja käynnistä ohjelma.
Harjoitus
�Yhdistä kaksi sensoria (sumoareena)�
Tehtäväkortti / CC BY-NC-ND Innokas
25
28.2.2025
Ohjelmointi
Robotti kääntyy hieman kun se ajaa eteenpäin. Se pysähtyy, peruuttaa ja kääntyy valkoisen reunaviivan kohdalla.
Se mittaa koko ajan etäisyyttä ultraäänisensorilla. Jos etäisyys on vähemmän kuin 40 cm, se hyökkää suoraan eteenpäin täydellä voimalla.
Ohjelmoinnin takia robotti ei aja ulos alueelta, sillä olemme lisänneet vahvat lohkot, jotka kertovat mitä tapahtuu, kun robotti näkee valkoista.
Laita lisää esineitä radalle ja katso kuinka kauan kestää, kunnes kaikki on työnnetty ulos radalta.
Rakenna yksi robotti lisää ja pidä sumopainiottelu.
Tuunaa robottiasi niin, että siitä tulee vahvempi, nopeampi tai vain hienompi.
Lisäideoita ja haasteita
Tehtäväkortti / CC BY-NC-ND Innokas
26
28.2.2025
Ohjelmointi
Lisäideoita löydät Spiken etusivulta Rakenna- ja Jaksot-välilehtien alta.
Siellä löydät kaikkea helpoista melko vaativiinkin projekteihin.
YouTubesta löydät myös todella paljon jänniä projekteja, jotka antavat sinulle uusia rakennusideoita. Ikävä kyllä niistä harvemmin löytyy rakennusohjeita tai kuvauksia ohjelmoinneista.
Onnea rakenteluun ja ohjelmointiin!