BitBot XL gir tilfører mange moglegheiter, som ligger klart i MakeCode, men som ikkje er mogleg med micro:bit aleine. Til dømes:
Servotikopling for servoar med 3-pins tilkopling (slike du finn i Super:bit-pakken), og programmering av desse.
Rørsle/køyring basert på eigenlaga program, og/eller basert på input frå linjesensorar eller avstandssensor.
Programmering av LED stripene på sida av BitBoten
Summer til å spille av lyd (innbygd høgtalar i micro:bit versjon 2(v2)).
For å styre BitBoten må man sette ein MicroBit ned i sporet framfor batteripakka med skjermen og knappane peikande framover. Ein treng ikkje batteripakke, då micro:biten for straum frå batteria på BitBoten.
I tillegg må man laste ned ein utviding (extension) i MakeCode som gjer det mogleg å styre BitBoten. For å laste ned en utvidelse må man klikke på Avansert og så Utvidelser helt nederst.
Her er ein startkode der BitBot-utvidinga er lagt inn: https://makecode.microbit.org/_0DzPVCMuC9XW
For å finne blokkane til BitBot må du utvide rullgardina "Avansert" og deretter trykke på "Utvidelser"
Deretter veljer du utvidelsen "BitBot". Du kan søke om du ikkje ser den med ein gong.
Så snart du har trykka på denne, vil blokkane til BitBot være lagt til i MakeCode, og klare til bruk
Teikn geometriske figurar!
På same måte som med TurtleStitch, kan man nytte LØKKER og VARIABLER for å køyre og teikne geometriske figurar. Men husk at ein BitBot aldri vil køyre like presist kvar gong i den verkelege verden som en skjelpadde i eit dataprogram. Ein må derfor ikkje være alt for pirkete.
Her er nokre tips og idear på vegen:
Forsøk å lage ein "perfekt" mangekant.
Lag mange mangekantar ved å leggje til en liten rotasjon etter kvar mangekant.
Lag sirklar ved å sette farten på venstre og høyre hjul kvar for seg.
Kan du lage ein variabel som aukar/minkar farta på det eine hjulet undervegs?
Bruk ein variabel som endrar seg undervegs, og sjå om du kan lage en spiral.
Her er ein startkode der BitBot-utvidinga er lagt inn: https://makecode.microbit.org/_0DzPVCMuC9XW
Fleire idear og støtte til "teiknebot" kan du finne på denne nettsida:
https://www.vitensenter.no/superbit/laerer/bonusoppdrag/lag-en-tegnerobot/
Videoen byggjer vidare på radiostyring av BitBot, og viser korleis ein kan bruke desse i ein kamp med battlebots.
Ps. Dersom det blir mange med alle elevane på ein gong, kan man ha semifinalar kor man deler klassa i mindre grupper, slik at dei to beste frå kvar gruppe gjeng til finalen.
Nedanfor kan du sjå eit forslag til korleis ein kan feste ballongen til BitBoten for å ha BattleBots med nåler (eller noko anna spist) og ballongar – den som poppast sist vinn!
Ein annan variant av BattleBots med tusjer og papir – den som teiknar på flest av dei andre vinn.
BitBot – Sensorar
Ultralydsensoren ser ut som to auge. Den har si egen "slot" fremst på BitBoten.
NB! Ultralydsensoren kan slutte å fungere dersom man har gamle eller oppladbare batteri
Sjølv om sensoren på ein måte "ser" det som er framfor seg, så er det ikkje auge, men ein høgtalar og ein mikrofon. Man kan kalle denne sensoren for ein "flaggermussensor", da den fungerer på tilsvarande måte som det flaggermusa bruker for å "sjå" på natta. Man kan òg nemne at delfinar og kvalar bruker det same prinsippet når dei leiter etter mat i havet.
Høgtalaren sender ut ein veldig høgfrekvent lyd (ultralyd) som me ikkje kan høyre. Denne lyden sprett tilbake når den treff noko, og tida det tek frå lyden sendes ut til den sprett tilbake kan målast av micro:biten, noko som fortel microbiten kor langt unna BitBoten er ei hindring.
For å bruke programmet nedafor som utgangspunkt til å lage ditt eige program, trykker du på den blå knappen oppe til høgre.
I programmet skal me bruke både variablar, løkker og vilkår. I startprogrammet har vi laget en løkke som vi kan slå på og av med A- og B-knappen på micro:biten.
Variabel
Her bruker vi en variabel vi kallar "Gjentakelse" som kan skiftes frem og tilbake mellom sann og usann. Dette skal vi gjere med A- og B-knappen.
Løkke
I startprogrammet har vi eigentleg to løkker, ein gjenta for alltid (som alltid surrar og gjeng i) pluss ei løkke inne i denne som berre går hvis "Gjentakelse" står som sann.
Bruk "Når knapp A trykks" og kopier inn "Sett Gjentakelse til sann/usann".
Set saman og repeter det same for B-knappen.
Dette er kommando som stopper bitboten. Denne metoden er nyttig fordi dei som nytter iPad kan ha straumen på hele tiden, og berre slå løkka av og på med knappane.
Hent en Hvis/Ellers-blokk og en sammanlikningsblokk (<) frå Logikk.
Sett saman og sett inn i den grønne løkken.
Hent "les ultralydsensor som cm" fra sensor-delen av Bitbot-menyen.
I det andre feltet skriver man et tall (antall cm) man vil bruke som "grensen".
Legg inn en kort pause (50-100ms) nederst i den grøne løkka.
Pausa gjer det mulig for micro:biten å registrere at man trykker på B-knappen.
I opninga under HVIS kan man nå legge inn det som skal skje HVIS avstanden blir under 10cm.
Her bør bitboten gjøre en unnamanøver
I opninga under ELLERS legger man inn hva som skal skje resten av tiden, når bitboten ikkje har ein hindring framfor seg.
Her bør bitboten gjere ein unnamanøver
Om man har tid og vil fikle vidare med koden, kan man:
Legge inn "Vis ikon" frå Basis-menyen for å få eit smilefjes e.l. til å visast på skjermen. Unngå å bruke ikon andre stader i koden, då microbiten ikkje sjekkar sensorane mens ikonet på skjermen skiftes.
Om man har gode batteri, kan man leggje inn ulike fargar på BitBotens LED-lys langs sida, f.eks. grønt lys når den køyrer og raudt lys når den gjer ein unnamanøver.
Legg inn ein tone/lyd som spelast av når BitBoten "ser" ein hindring og svinger unna.
NB! Det å trykke på B-knappen vil ofte ikkje stoppe løkka med mindre man legg inn ein pause i løkka, då micro:biten ikkje registrerer eit trykk på B-knappen medan den sjekkar sensoren.
Under BitBoten er det to linjesensorar som kan nyttast for å lage kule program og "selvkøyrande" BitBotar. Linjesensorane er kopla til nokre lys på oversida av BitBoten som lyser når linjesensoren ser noko "mørkt" på si side.
Linjesensorane fungerer sjølv med oppladbare batteri eller litt "slitne" batteri, så desse sensorane kan nyttast sjølv om man ikkje får ultralydsensoren til å fungere som følgje av dette.
Når linjesensoren "ser" ei mørk linje, er straumen på (1) i sensorkretsen, medan den er av (0) når linjesensoren ikkje ser ein mørk linje. Dette kan vi nytte som vilkår for ulike hendingar.
Opne startkoden, som er heilt lik startkoden for ultralydsensoren.
Bruk "Når knapp A trykkes" og kopier inn "Sett Gjentakelse til sann/usann".
Sett saman og repeter det same for B-knappen.
Denne metoden er nyttig fordi dei som nytter iPad kan ha straumen på heile tida, og berre slå løkken av og på med knappane.
Hent ein Hvis/Ellers-blokk og en sammanlikningsblokk (=) frå Logikk.
Sett saman og set inn i den grøne løkka.
Hent "linjesensor venstre" frå sensor-delen av BitBot-menyen.
Legg "linjesensor venstre" i den venstre delen av vilkåret.
Skriv talet 1 i det høgre feltet på vilkåret.
Pass på at det er eit likskapsteikn(=) i midten av vilkåret.
Klikk plussteiknet nedst i hvis/ellers-blokka for å leggje inn eit nytt vilkår.
Lag ein kopi av den sekskanta vilkår-blokken og skift til "linjesensor høyre".
Når me er ferdige med denne delen, skal løkka sjå ut som på bildet til høyre, og me har tre felt der vi kan leggje inn blokker som seier kva som skal hende i dei ulike tilfella.
Lag ei bane på golvet med sort teip. Utfordringa er å få BitBoten til å halde seg innafor denne banen.
Utfordringa liknar på ultralydoppgåva, bortsett frå at me lagar to ulikehendingar, ein unnamanøver for når venstre linjesensor oppdagar linja og ein tilsvarande for den høgre.
I dette høvet, der den venstre linjesensoren oppdagar ein linje, bør BitBoten gjere ein unnamanøver mothøgre.
Den ferdige koden kan sjå slik ut:
Lag ein bane på golvet med sort teip. Utfordringa er å få BitBoten til å halde seg "på vegen" og følge den sorte teipen.
Denne utfordringa skil seg frå den andre, fordi me her ikkje nyttar tidsinnstilte unnamanøvere, men i staden angir kva måte bilen skal køyre på i dei ulike tilfella.
Når bilen er plassert midt på linja, skal ingen av linjesensorane merke linja, men om BitBoten skjenar ut mot den eine eller andre sida, vil desse aktiverast, som i videoen ovanfor.
Om elevane opplever at bilen lett hoppar av banen, vil det som regel hjelpe å skru ned farten på køyringa og svinginga. Då gjeng dette litt rolegare for seg, og sensorane får meir tid til å reagere. Det kan òg hjelpe å gjere den svarte linja jamnare og/eller breiare. Då blir det større og meir homogent område for sensorane.
Den ferdige koden kan sjå slik ut:
Og slik kan det ferdige programmet fungere:
Og slik kan det ferdige programmet fungere:
I begge desse programma er det moglegheit for å leggje inn eit ikon (ved start) som visast på micro:biten, samtidig som man programmere LED-lysa på BitBoten til å lyse opp på ulike måtar på ulike stader i programmet.
NB! Òg med dette programmet vil man kunne oppleve at det å trykke på B-knappen ikkje blir registrert medan micro:biten sjekkar sensorane. Om man vil, kan man eksperimentere med å leggje inn ein kort pause (20-50ms) i den grøne løkka her òg, men om løkka blir for lang vil risikoen for at micro:biten hopper ut av løypa auke.