programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mbots att användas i klassrum, när...

29
-robotprogrammering med mBot Programmering 4-6

Upload: others

Post on 09-Dec-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

-robotprogrammering med mBot

Programmering

4-6

Page 2: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

2

Lärarhandledning till Robotprogrammering med mBot

Page 3: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Innehåll o Vad är en mBot?………………………………………............................ o De olika delarna på en mBot…..……………………………………….. o Blockprogrammering…..…………………………………………………… o Vad är mBlock?....…………….……………………………………………….. o Hur ser mBlock ut?....……………………………………………………….. o Hur fungerar mBlock?....…………………………………………………… o Koppla upp mBot…..………………………………………………………….

Övningar till robotprogrammering med mBot……………….. Övning 1 – Samtalsövning……………………………………………………… Övning 2 – Introduktion av mBot..………………………………………….. Övning 3 – Kör framåt 1 sekund…………………………………………….. Övning 4 – Gör en radiostyrd bil…………………………………………….. Övning 5 – Upprepa en instruktion…………………………......………… Övning 6 – Undvika hinder…………………………………………………….. Övning 7 – Dans med discolampor………………………………………… Övning 8a – Att följa en linje………………………………………………….. Övning 8b – Lägg in skriptet direkt i Arduino…………………………. Övning 8c – Återställ din Arduino………………………………….……….. Övning 9 - Låt mBot lösa en labyrint………………………………………

s4 s5 s9 s9 s10 s11 s12 s13 s14s15 s16 s17 s18 s19 s22 s23 s25 s27 s29

Page 4: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

mBot är en ”allt-i-ett-robotbyggsats” för att få kunskap om programmering, elektronik och robotar. Den är speciellt framtagen för barn och utbildning. Roboten programmeras i programmeringsspråket mBlock (block-programmering) som är baserat på Scratch 2.0. Roboten kan styras trådlöst från en dator. Chassiet är tillverkat av aluminium och kan lätt byggas på med hjälp av övriga makeblockprodukter- samt många Legodelar. På roboten sitter en Arduino (datorplattform eller mikrokontrollerkort), hjul, två motorer, ultraljudssensor, linjeföljarsensor, kablar, batterihållare. Roboten kan också styras med en fjärrkontroll.

Vad är en mBot?

4

Page 5: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

5

De olika delarna på en mBot

Page 6: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Hjul Batterihållare

Motor

mCore (baserad på Arduino)

Chassi

6

Ultraljudssensor

Linjeföljarsensor

Trådlös överföringsmodul

De olika delarna på en mBot

Page 7: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Ultraljudssensorn är en enhet för att beräkna distans. Den har två "ögon", där ett sänder ut ultraljudvågor, medan det andra tar emot signalen som studsar tillbaka efter träff av ett hinder. På så sätt mäter mBot avståndet till hinder. Mätområde : 3cm - 400cm Upptäcksvinkel : 30 °

Linjeföljarsensorn hjälper roboten att röra sig längs en svart linje. Det finns två detektorer på mBots framdel, nertill. Genom reflektioner av det ljus som projiceras på marken, med LED, spårar mBot sin färd längs den svarta linjen. Men hjälp av programmering kan du styra hur mycket roboten får avvika från linjen förrän den skall korrigera sin kurs

2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma teknologi som trådlös mus.

Startknapp. Här slår du på roboten när du skall använda den

7

De olika delarna på en mBot

Page 8: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Programmering av roboten mBot sker med en programvara som heter mBlock. Det bygger på att foga samman olika block som har olika funktioner, så kallat ”blockprogrammering”. Istället för att skriva egen kod som från början kan vara ganska komplext klickar programmeraren ihop blocken i ett steg-för-steg-upplägg, ungefär som ett pussel. Blockens funktioner går ofta att designa själv genom att förändra värden eller byta text i textfälten. Med de olika blocken kan man sen bygga ihop en sekvens (steg för steg), selektion (valsituation) samt iteration (upprepning) och variabel (din egna byggsten). Dessa är viktiga delar att närma sig för att lära sig grunderna i programmering Blocken visualiserar programmeringen och det ger också god möjlighet att kunna söka fel om utfallet inte blir det tänkta, även för den som är ny inom området. På nästa sida är det en mer ingående beskrivning av mBlock.

Blockprogrammering

Några typer av block som här är sammankopplade

8

Page 9: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

mBlock är ett innovativt sätt att lära sig och experimentera med programmering. Det är en programvara som bygger på webbverktyget Scratch – som har blivit ett sätt att lära ut grafisk programmering hos de som är nya för området. mBlock är ett mångfacetterat program som låter dig:

Vad är mBlock?

”Skriva" ditt program genom att dra och släppa block i så kallad ”blockprogrammering”

Rita bilder, berätta historier, skriva interaktiva

projekt och programmera spel Programmera och styra robotar (mBot) Ladda upp program på din mBot

Uttrycka din kreativitet genom att kombinera

mjukvara och hårdvara Konvertera blockbaserade program till Arduino-

program för att lära dig avancerade kunskaper i programmering

9

Page 10: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Hur ser mBlock ut?

Blockbibliotek Sprajtlista

Scen

Skriptyta

Överst till vänster har du en yta som kallas ”scen”. Under den visas de ”sprajtar (figurer)” som du har att arbeta med. Längst till höger visas de ”skript” som är kopplade till en vald sprajt, och i mitten har du ett bibliotek med de olika skript som finns att använda, indelade i avdelningar med olika typer av ”block”. Du kan tänka på mBlock som en teater. Teatern har en scen där allting utspelar sig. Scenen kan byta dekor (bakgrund) och på scenen ställer sig en eller flera skådespelare (sprajtar) för att agera. Skådespelarna agerar enligt sitt manus (skript).

För att starta skådespelet trycker du på :

10

Page 11: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Hur fungerar mBlock?

Under Skriptfliken finns olika typer av block med olika funktioner. Prova dra in de olika blocken på skriptytan och experimentera med dessas egenskaper, låt Pandan utföra de funktioner ni provar.

Installera programvaran som finns att hämta i

Tjänsteportalen

11

Page 12: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. mBot kopplas upp mot datorn med hjälp av en USB-sändaren som följer med roboten. Denna USB-sändaren kan bara ”prata” med den specifika roboten den tillhör. För att använda sändaren koppla in den i en ledig USB-port. Det kan ta en liten stund innan datorn har installerat sändaren.

Koppla upp mBot

2. När sändaren är inkopplad startas roboten med strömbrytaren på robotens kretskort. Om allt har fungerat skall en blå lampa på robotens ovansida lysa med ett blått fast sken.

4. mBlock används inte bara för robot-programmering, så vi måste också tala om för mBlock att vi vill programmera en mBot. Detta görs genom att välja Styrkort/mBot i menyn.

3. För att koppla upp mBlock mot roboten väljer du Anslut/2.4G Serial/Anslut Om allt fungerat skall det stå Ansluten längst upp i fönstret på mBlock.

12

Page 13: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Övningar till Robotprogrammering med mBot

13

Page 14: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Uppgift 1:

Uppgift 2:

Uppgift 1: Brainstorma kring begrepp och ord som har med programmering och digitalisering att göra.

Vilka begrepp och ord förknippar ni med datorer och programmering. Skriv dessa i det högra fältet och sök förklaringar till dem, via internet eller annan källa

Uppgift 2: Samtala vidare och resonera tillsammans

a) Kunskaper om språk och ord kan göra att vi känner oss delaktiga och tillhör en grupp eller ett sammanhang. Frånvaron av dessa ord och begrepp kan göra att vi inte känner oss delaktiga. Fundera på en situation där just dina kunskaper om ord och begrepp runt ett område gjort att du känt dig delaktig , eller inte delaktig b) Hur tror ni att kunskaper om begrepp och ord, som har sitt ursprung i programmeringens värld, gör att vi lättare förstår hur datorer fungerar? Beskriv hur ni tänker c) Vad händer om vi inte vill lära oss om hur teknik och programmeringsspråk fungerar och bara ett fåtal personer kan det? Beskriv hur ni tänker

Övning 1 Gruppuppgift

Samtalsövning: begrepp och ord

14

Page 15: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. Introducera mBot! Förklara vad robotar är och att robotar kan programmeras. Visa de olika delarna på roboten. Finns förklarade på sid 6-7 i lärarhandledningen. 2. Ge sedan eleverna en överblick av mblock-programvaran. Visa dem hur de drar och flyttar de olika blocken (dra-och-släpp) för att ge olika kommandon till roboten. 3. Dela eleverna i grupper och låt först eleverna bekanta sig med mBlock och dess funktioner. Låt eleverna experimentera fritt och vara kreativa för att skapa intresse och engagemang.

4. Avsluta lektionen genom att gruppen/grupperna får dela med sig av sina erfarenheter.

Introduktion av mBot Lektionsmål: I den här övningen kommer eleven att introduceras för roboten mBot, en programmerbar robot som kommer hjälpa eleven att lära sig problemlösning genom datorteknik. De kommer också att få en överblick av mBlock som är ett visuellt dra-och-släpp-verktyg för programmering. mBlock ger en god förutsättning att eleven börjar tänka kring möjligheterna att programmera och styra robotars beteende, hur de responderar på kommandon och utför dessa. Överblick: Gruppstorlek: 2-3 elever Tidsåtgång: ca 60 min

Övning 2

15

Page 16: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. Lägg till händelse-block. Klicka på Händelser i Skriptfliken för att visa händelseblocken. Dra in ett När [mellanslag] trycks ned-block på arbetsytan. Ändra mellanslag till uppåtpil 2. Kör framåt. För att kontrollera roboten måste vi klicka på Robotar i Skriptfliken för att visa alla block som kan användas för att programmera mBot. Dra in blocket Kör framåt och anslut det till det tidigare blocket vi skapade. Ändra hastigheten till 100. Lägg till ett vänta X sekunder -block från Kontroll, sätt värdet till 1 sek. Till sist ett Kör framåt-block där hastigheten sätts till 0. 3. Provkör! Vad händer? Prova att förändra värden i blocken för ett förändrat rörelsemönster.

Kör framåt 1 sekund Övning 3

16

Lektionsmål: I den här övningen kommer eleven att lära sig kontrollera mBot och hur de kan förändra värden för ett förändrat rörelsemönster hos roboten. Varje kommando innebär en rörelse eller en icke-rörelse (paus, stopp). Överblick: Gruppstorlek: 2-3 elever Tidsåtgång: ca 30-60min

Page 17: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. Skapa ett skript där flera händelse-block används. 2. Till varje händelse-block lägger du in ett Robot-block. 3. Testa dig fram till den bästa hastigheten. 4. Bonusuppgift: Byt ut Robot-blocken ”sväng vänster” och sväng höger” till att istället svänga genom att stänga av vänster och höger motor.

Lektionsmål: I den här övningen får eleverna använda sin kreativitet att programmera mBot utifrån vad de lärt dig i övning 3. De ska nu programmera sin mBot så den kan köra framåt, bakåt, svänga vänster och höger samt stanna. Överblick: Gruppstorlek: 2-3 elever Tidsåtgång: ca 30-60 min

Gör en radiostyrd bil Övning 4

17

Page 18: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. Lägg till händelse-block. Klicka på Händelser i Skriptfliken för att visa händelseblocken. Dra in ett När [ ] klickas på-block på arbetsytan.

2. Lägg till repetera-block Välj här hur många ggr (2) som mBot skall upprepa förloppet. Fortsätt och bygg upp din programmering med kör framåt-block och anslut det till det tidigare blocket vi skapade. Ändra hastigheten till 100.

3. Lägg till ett vänta X- sekunder-block från Kontroll, välj här 2 sek.

4. Fortsätt med ett kör bakåt-block där hastigheten sätts till 100.

5. Lägg till ett till vänta X- sekunder-block från Kontroll, välj här 2 sek.

6. Avsluta med ett kör framåt –block med hastighet 0. 7. Provkör! Prova även att förändra värden i blocken.

Upprepa en instruktion Använda loopar

18

Övning 5

Lektionsmål: I den här övningen kommer eleven att introduceras för loopar som är ett sätt att upprepa händelseförlopp utan att behöva lägga in ett nytt block för varje gång som förloppet skall repeteras. Att använda loopar effektiviserar arbetet för den som skall programmera då vi talar om för datorn/roboten att göra samma sak utan att behöva skriva en onödigt lång kedja av kommandon.

Överblick: Gruppstorlek: 2-3 elever Tidsåtgång: ca 20-30 min

Page 19: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Lektionsmål: I den här övningen kommer eleven att introduceras för begreppen variabel och villkorssats. Variabel är en identifierare (ett namn) i ett program som representerar en minnesposition där ett värde lagras när programmet körs.

Villkorssats gör det möjligt att välja mellan en eller flera alternativa satser beroende på om ett villkor är uppfyllt eller inte, Om (distans mindre än 10) då …….annan……

Överblick: Gruppstorlek: 2-3 elever Tidsåtgång: ca 30-60 min

1. Skapa en variabel (ex distans )

för att hålla ett avstånd till hinder, uppgifter om hinder detekteras av ultraljudssensor hos mBot. Välj Data&Block och skapa en variabel som ni döper till dis. 2. Bestäm vad som skall hända när mBot möter ett hinder genom att lägga till ett händelse-block och där bestämma vad som händer. Om distansen är mindre än 25, så låt de två olika motorerna rotera i olika riktning och mBot svänger. Om distansen är mer än 25 så roterar motorerna i samma riktning och mBot kör rakt fram. 3. Skapa sedan ett steg som innebär på vilket sätt mBot skall avsluta programmeringen och lägg det bredvid.

Bilder till övning finns på nästa sida

Undvika hinder Använda loop, variabel och villkorssats

Övning 6

19

Page 20: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. Skapa en variabel 2. Bestäm vad som skall hända när mBot möter ett hinder (villkorssats)

3. Det färdiga skriptet för att undvika hinder

4. Skapa ett sätt att avsluta skriptet och lägg upp det bredvid

(Undvika hinder) Övning 6

20

Page 21: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

(Undvika hinder)

Så här kan ett något mer komplicerat skript för att undvika hinder

se ut.

Skapa egna skript för att undvika hinder

Övning 6

21

Page 22: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. Bestäm start av skript med hjälp av händelse-block.

2. Skapa ett skript för ledbelysning genom att arbeta med blocken i de olika blockmenyerna . 3. Avsluta med ett Kör framåt-block och sätt där hastighet till 0.

4. Prova att förändra värden och lägg till andra block för att hitta en egen version. Var kreativ och experimentera, visa sedan er programmering för de andra grupperna.

Bonusuppgift: Byt språk i mBlock till Engelska och utför

uppgiften på nytt.

Lektionsmål: I den här övningen bekantar sig eleven med hur de kan styra mBots belysning, här skall det symbolisera en form av discosekvens. Genom att förändra värden i ledbelysningens färguppsättning får vi fram ett skript som tillsammans med några rörelse-block ger helheten.

Överblick: Gruppstorlek: 2-3 elever Tidsåtgång: ca 30-60 min

Dans med discolampor

Övning 7

22

Page 23: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. Välj Robotar och mBot program för att Arduino ska förstå att det är ett mBotprogram. 2. Skapa ett skript för att följa en linje genom att använda loop, variabel och villkor. På samma sätt som tidigare så skapar ni variabeln i Data&Block. Bilder till detta finns på nästa sida 3. Vik ut den medföljande banan med svart linje och placera mBot på linjen. 4. Innan du kan köra detta skript måste du göra övning 8b. Du får då lära dig att föra över skriptet via usb-kabeln.

Lektionsmål: I den här övningen bekantar sig eleven med hur de kan programmera mBot att följa en linje med hjälp av den inbyggda optiska sensorn som läser av den svarta linjen. Denna gång ska eleven även föra över skriptet med usb-kabeln samt återställa arduinon. OBS! Övning 8a, b och c hör ihop. Överblick: Gruppstorlek: 2-3 elever Tidsåtgång: ca 30-60 min

Att följa en linje Övning 8a

23

Page 24: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. Välj mBot program för att Arduino ska förstå att det är ett mBotprogram.

2. Ni vill att mBot kontinuerligt skall följa linjen, så sätt in ett Loop-block.

3. Linje-följar-sensorn är kopplad till variabeln ”linje”.

4. Om ”linje” är 0 , betyder det att mBot kör längs den svarta linjen och mBoten kör framåt i vald hastighet.

5. Om ”linje” är 1 , betyder det att mBot är på gränsen till höger om linjen och skall svänga vänster.

6. Om ”linje” är 2 , betyder det att mBot är på gränsen till vänster om linjen och skall svänga höger.

7. Om ”linje” är annan än 0, 1 eller 2 betyder det att din mBot är helt utanför linjen och skall direkt hitta tillbaka till linjen.

(Att följa en linje)

24

Övning 8a

Page 25: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Lägga in skriptet direkt i Arduino Hittills har du skickat skript via USB-sändaren. Nu skall du istället skicka över skriptet via USB-kabeln. Det gör vi av två anledningar: - Ibland hinner inte sändaren skicka skriptet tillräckligt snabbt. - Ibland vill du att mBoten ska fungera utan tillgång till en dator.

Då gör du så här: 1. Stoppa i USB-kabeln i din dator och i din mBot.

2. Starta om mBlock och starta din mBot och välj Redigera – Arduino läge.

(Att följa en linje)

25

Övning 8b

Page 26: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

3. Välj Anslut – Koppla ifrån anslutningen 2.4G Serial.

4. Välj Anslut och rätt Serieport (troligen com 4 eller 5 – det går att se vilken som är rätt i kontrollpanelen – Enhetshanteraren – Portar och LPT – den ska heta CH340).

5. Ladda upp skriptet till Arduino. OBS!!! Håll i din mBot under tiden. När laddningen är klar kan den börja köra. (Steg 2 - 5 kan ibland behöva upprepas.)

(Att följa en linje)

26

Övning 8b

Page 27: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

Återställ din Arduino För att efter övning 6 kunna skicka skript via USB-sändaren behöver du återställa Arduino. Det gör du på följande vis:

1. Stäng av din mBot. Sätt i USB-kabeln.

2. Starta om mBlock. Starta din mBot. Välj Anslut – Välj rätt serialport (troligen com 4 eller 5 – går att se rätt i kontrollpanel – egenskaper – portar och LPT – ska stå CH340).

(Att följa en linje)

27

Övning 8c

Page 28: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

3. Välj Anslut – Reset huvudprogram mBot för att få bort skriptet i Arduino. (Steg 2 och 3 kan ibland behöva upprepas.)

4. Dra ur USB-kabeln och slå av din mBot.

5. Starta din mBot. Anslut 2.4G Serial. Nu kan du köra nya skript via USB-sändaren igen.

(Att följa en linje)

28

Övning 8c

Page 29: Programmering 4-6€¦ · 2.4 trådlös-modul är avsedd för mBots att användas i klassrum, när flera människor använder trådlös kommunikation samtidigt. Den använder samma

1. Skapa en labyrint i rummet med hjälp av det material ni har att tillgå 2. Skapa ett skript utifrån den erfarenhet ni nu har av att arbeta med mBot. Prova att använda olika typer av block för att låta mBot köra igenom er labyrint. 3. Köra igenom labyrinten i den andra färdriktningen. Hur behöver ni förändra ert skript? Kan nu utgå ifrån det tidigare eller behöver ni börja om från början?

Lektionsmål: I den här övningen får eleverna använda sin kreativitet att programmera mBot utifrån de erfarenheter de nu har inhämtat. Uppmuntra eleverna att använda olika typer av block och funktioner. Överblick: Gruppstorlek: 2-3 elever Tidsåtgång: ca 30-60 min

Låt mBot lösa en labyrint

29

Övning 9