Her kan du laste ned ferdige hex-filer for å programmere din bit:bot, eller du kan følge bruksanvisningen under for å programmere bit:bot selv. Les mer her om hvordan du programmerer en micro:bit.
Programmeringen gjør du i en vanlig nettleser, adressen er https://makecode.microbit.org/#. Du må muligens gå til innstillinger-menyen for å velge språk. Dersom det allerede ligger ferdige prosjekter på nettsiden kan du lage nytt prosjekt ved å velge Prosjekter→Nytt prosjekt.
Etter å ha overført programmet til micro:bit kan du slå på bit:bot. Merk at du må løfte opp bit:bot fra underlaget når du slår på; bit:bot har lyssensorer på undersiden, og dersom det er mørkt under bit:bot ved oppstart vil den gå i “pairing mode” (for bluetooth). Dersom du løfter den litt opp mot lyset ved oppstart unngår du denne modusen og ditt program vil starte i stedet.
Til hvert trinn i oppskriften finnes et løsningsforslag. Trykk på HTML-knappen for løsningsforslag med javaskript, eller trykk på Result-knappen for løsningsforslag med blokker.
For å kunne styre bit:bot via fjernkontroll trenger vi en micro:bit med batteri. Denne skal vi programmere til å sende kommandoer til en annen micro:bit som er festet til bit:bot og som skal styre bit:bot. Lag et program som kan sende akselerometerets x- og y-verdier til bit:bot. Du trenger ikke regne på kreftene eller akselerasjonen, bare sende verdiene.
Nå skal du programmere den micro:biten du skal holde i og bruke til å styre bit:bot.
Bruk kommandoer fra Radio-menyen til å lage en radiosender. Du må velge deg en kanal du kan sende meldinger på, og du skal bruke samme kanalnummer som nummeret på datamaskinen du bruker. Dersom datamaskinen din heter Trigger-03 skal du bruke kanal nummer 3.
Les av akselerometerets x- og y-verdi og send disse ut på den valgte radiokanalen. Bit:bot må få hyppige oppdateringer fra fjernkontrollen.
Dette er et oppdrag for avanserte brukere. Programmer radiosenderen til også å sende kommandoer for knappetrykk og andre input.
Nå skal du programmere den micro:biten som skal sitte i bit:bot og motta kommandoer fra den håndholdte micro:biten med batteri. Her må du benytte enkel matematikk for at fjernkontrollens akselerometer kan styre motorene på bit:bot.
Gi programmet du laget til fjernkontrollen et fornuftig navn, f.eks. “Fjernkontroll” og lagre det. Lag deg deretter et nytt prosjekt, for bit:bot må programmeres annerledes enn fjernkontrollen du hittil har jobbet med. Gi det nye prosjektet ditt et fornuftig navn.
For å styre bit:bot må vi å laste ned et bibliotek med kommandoer spesiallaget for bit:bot. Et programbibliotek er en samling med ferdiglagde kommandoer som vi kan laste ned slik at vi slipper å lage alt selv, og dette biblioteket finner vi ved å først åpne Avansert-menyen, deretter trykke på “Hent tilleggsfunksjon”. Der søker du etter “bitbot” og trykker på biblioteket som heter “BitBot - Official Microsoft MakeCode package for the Bit:Bot robot https://4tronix.co.uk/bitbot/”. Dette biblioteket inneholder kommandoer for å styre bit:bot.
Lag et program som mottar på samme radiokanal som fjernkontrollen sender på.
Lag et program som mottar data fra den valgte radiokanalen og finner x- og y-akselerasjon og legger tallene i hver sin variabel.
Tanken er å bruke fjernkontrollens akselerometer-verdier til å kontrollere bit:bot. Akselerometerets verdier er vist på figuren under. Dersom mikro:biten blir tiltet i pilenes retninger (se bilde til venstre) sender akselerometeret positive verdier, og dersom den blir tiltet motsatt av pilene sendes negative verdier. Jo mer tiltet akselerometeret blir, jo større blir tallet som blir sendt.
Lag et program som bruker y-verdien fra akselerometeret til å styre motorene fram og tilbake.
Modifiser programmet slik at du kan bruke x-verdien fra akselerometeret til å svinge. Både x- og y-verdien vil variere mellom -1023 og +1023. Ved å bruke enkel regning (pluss og minus) kan vi beregne hvor fort hvert hjul skal gå.
Test bit:bot med programmet ditt. Du kommer til å merke at fjernkontrollen er veldig følsom. Bit:bot står i ro bare når fjernkontrollen ligger helt flatt. Det er derfor vanskelig å få bit:bot til å stå rolig. Endre programmet ditt slik at det blir enklere å få bit:bot til å stå i ro.
Dette er et oppdrag for avanserte brukere. Test bit:boten din grundig. Du vil muligens merke at jo høyere fart bit:bot har, jo vanskeligere er den å styre. Hva kan årsaken til dette være? Forsøk å forbedre svinge-funksjonen slik at det blir enklere å kontrollere bit:bot.
Bit:bot er utstyrt med 12 neopixler; en neopixel er en programmerbar lysdiode (LED) hvor ditt program kan bestemme hvilken farge den skal ha, og programmet ditt kan også skifte farge på lyset. Først må du bruke en eller flere av kommandoene for å endre på lyset (sett lysdioder til, nullstill lysdioder, skift/roter lysdioder eller sett styrke på lysdioder). Etterpå må du kjøre kommandoen “vis lysdioder”. Det er denne kommandoen som “oppdaterer” diodene, og hvis den ikke blir kjørt vil ingenting skje.
Bruk neopikslene til å lage blinkende blålys til bit:bot.
Programmer bit:bot til å la neopixlene skifte farge hele tiden.
Dette er et oppdrag for avanserte brukere. Greier du å lage en fjernstyrt av/på-knapp til blålysene?
Bit:bot er utstyrt med en buzzer som kan lage lyd.
Endre programmet ditt slik at du får en sirene når bit:bot kjører bortover.
Dette er et oppdrag for avanserte brukere. Greier du å slå lyden av og på med fjernkontrollen?
Nå har du lært å bruke alle de viktigste funksjonene til micro:bit og bit:bot. Nå kan du fritt leke deg med å få bit:bot til å oppføre seg slik du vil. Greier du å få bit:bot til å sende meldinger tilbake til skjermen på fjernkontrollen? Dersom du bruker MI:powerboard til fjernkontrollen inneholder dette kortet en høyttaler. Greier du få bit:bot til å spille musikk på fjernkontrollen? Greier du å programmere bit:bot til å detektere bråstopp og spille en alarm når den krasjer i veggen?
Her kan du lese om detaljert montering og styring av bit:bot: http://4tronix.co.uk/blog/?p=1490
Her kan du lese mer om hvordan du kan styre bit:bot ved hjelp av bluetooth: https://ukbaz.github.io/howto/bitbotRemoteControl.html