introduksjon_til_bitbot
Forskjeller
Her vises forskjeller mellom den valgte versjonen og den nåværende versjonen av dokumentet.
| Neste revisjon | Forrige revisjon | ||
| introduksjon_til_bitbot [2018/02/21 11:23] – opprettet royeven | introduksjon_til_bitbot [2022/11/30 08:09] (nåværende versjon) – ekstern redigering 127.0.0.1 | ||
|---|---|---|---|
| Linje 1: | Linje 1: | ||
| + | ====== Bit:bot ====== | ||
| + | {{microbit: | ||
| + | |||
| + | Programmeringen gjør du i en vanlig nettleser, adressen er [[https:// | ||
| + | |||
| + | 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 " | ||
| + | |||
| + | **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.** | ||
| + | |||
| + | ====== Fjernkontroll ====== | ||
| + | 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, | ||
| + | |||
| + | ==== Oppdrag 1a. Radiosender ==== | ||
| + | Nå skal du programmere den micro:biten du skal holde i og bruke til å styre bit: | ||
| + | |||
| + | 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. | ||
| + | |||
| + | <hidden Tips 1:>Du velger kanal ved å bruke kommandoen "radio sett gruppe" | ||
| + | {{url> | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 1b. Sende data ==== | ||
| + | Les av akselerometerets x- og y-verdi og send disse ut på den valgte radiokanalen. Bit:bot må få hyppige oppdateringer fra fjernkontrollen. | ||
| + | <hidden Tips 1:>I Inndata-menyen kan du finne en kommando for å lese akselerometerets verdier.</ | ||
| + | <hidden Tips 2:>Du trenger å sende en // | ||
| + | <hidden Tips 3:>I Radio-menyen finnes det mange måter man kan sende data på. F.eks. kan du bruke kommandoen "radio send verdi" til å spesifisere en identifikator.</ | ||
| + | {{url> | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 1c. Sende ekstra data ==== | ||
| + | Dette er et oppdrag for avanserte brukere. Programmer radiosenderen til også å sende kommandoer for knappetrykk og andre input. | ||
| + | |||
| + | ====== Motta data ====== | ||
| + | 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: | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 2a. Nytt prosjekt ==== | ||
| + | Gi programmet du laget til fjernkontrollen et fornuftig navn, f.eks. " | ||
| + | <hidden Tips:>Du kan lage et nytt prosjekt ved å velge Prosjekt-> | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 2b. Laste ned bibliotek ==== | ||
| + | For å styre bit:bot må vi å laste ned et // | ||
| + | <hidden Løsningsforslag:> | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 2c. Radiomottaker ==== | ||
| + | Lag et program som mottar på samme radiokanal som fjernkontrollen sender på. | ||
| + | <hidden Løsningsforslag:> | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 2d. Motta data ==== | ||
| + | Lag et program som mottar data fra den valgte radiokanalen og finner x- og y-akselerasjon og legger tallene i hver sin variabel. | ||
| + | <hidden Tips 1:>Du kan bruke kommandoen "når radio mottar" | ||
| + | <hidden Tips 2:>Du kan bruke Hvis-setninger til å filtrere om den mottatte meldingen inneholder x- eller y-verdi: \\ {{microbit: | ||
| + | <hidden Løsningsforslag:> | ||
| + | |||
| + | \\ | ||
| + | ====== Styre motorer ====== | ||
| + | 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. | ||
| + | {{microbit: | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 3a. Bruke datavariabel til å styre motorer ==== | ||
| + | Lag et program som bruker y-verdien fra akselerometeret til å styre motorene fram og tilbake. | ||
| + | <hidden Tips 1:>Det er én motor for hvert hjul, og med tanke på at bit:bot før eller senere skal kunne svinges må disse hjulene kunne kjøres med hver sin hastighet. Det vil være en fordel for deg om du lager to variabler (f.eks. kalt " | ||
| + | <hidden Tips 2:>I Bitbot-biblioteket finner du en kommandom som heter "Kjør motor" | ||
| + | <hidden Tips 3:>Legg merke til fortegnet til akselerometerets verdier. Y-verdien fra akselerometeret er negativ hvis du tilter fjernkontrollen forover og positiv dersom du tilter den bakover. Dette må du ta hensyn til når du skal bruke verdien til å styre motorene.</ | ||
| + | <hidden Løsningsforslag:> | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 3b. Svinge ==== | ||
| + | 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å. | ||
| + | <hidden Tips 1:> | ||
| + | <hidden Tips 2:> | ||
| + | <hidden Løsningsforslag:> | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 3c. Endre følsomhet ==== | ||
| + | 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. | ||
| + | <hidden Tips 1:> | ||
| + | <hidden Tips 2:> | ||
| + | <hidden Tips 3:>Du kan bruke absoluttverdikommandoen fra Matematikk-menyen til å ignorere fortegnet. Absoluttverdien av 40 er 40. Absoluttverdien av -40 er også 40.</ | ||
| + | <hidden Løsningsforslag:> | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 3d. Forbedre svinging ==== | ||
| + | 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. | ||
| + | |||
| + | \\ | ||
| ====== Neopixler ====== | ====== Neopixler ====== | ||
| - | 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å den. | + | 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" |
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 4a. Lage lys ==== | ||
| + | Bruk neopikslene til å lage blinkende blålys til bit:bot. | ||
| + | <hidden Løsningsforslag 1:> | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 4b. Lage regnbue ==== | ||
| + | Programmer bit:bot til å la neopixlene skifte farge hele tiden. | ||
| + | <hidden Tips 1:>Du kan bruke regnbue-funksjonen i bitbot-biblioteket til å sette forskjellige farger.</ | ||
| + | <hidden Tips 2:>Du kan bruke "roter lysdioder" | ||
| + | <hidden Løsningsforslag:> | ||
| + | |||
| + | <hidden Avansert ekstraoppgave:> | ||
| + | <hidden Tips>I matematikk-menyen finner du funksjoner for å finne helt tilfeldige tall.</ | ||
| + | <hidden Løsningsforslag:> | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 4c. Av/ | ||
| + | Dette er et oppdrag for avanserte brukere. Greier du å lage en fjernstyrt av/ | ||
| + | |||
| + | \\ | ||
| + | ====== Buzzer ====== | ||
| + | Bit:bot er utstyrt med en buzzer som kan lage lyd. | ||
| + | |||
| + | ==== Oppdrag 5a. Lage lyd ==== | ||
| + | Endre programmet ditt slik at du får en sirene når bit:bot kjører bortover. | ||
| + | <hidden Tips 1:>Du kan bruke kommandoen "buzz lyd" fra bitbot-menyen til å lage lyd. Dersom "buzz lyd" settes til 1 får du en høy, skjærende sirene. Hvis den settes til 0 blir det deilig stille. Ikke sett denne kommandoen til 1 unødvendig lenge!</ | ||
| + | <hidden Tips 2:> | ||
| + | <hidden Løsningsforslag 1:>Bare sirene, uten blålys: \\ {{microbit: | ||
| + | <hidden Løsningsforslag 2:> | ||
| + | <hidden Løsningsforslag 3:>Bruk fortrinnsvis løsningsforslag 1 \\ {{microbit: | ||
| + | |||
| + | \\ | ||
| + | ==== Oppdrag 5b. Lage av/ | ||
| + | Dette er et oppdrag for avanserte brukere. Greier du å slå lyden av og på med fjernkontrollen? | ||
| + | |||
| - | For å gjøre det enkelt å programmere neopixlene trenger vi å laste ned et // | + | ====== Videre oppdrag ====== |
| + | 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? | ||
| - | For å bruke neopixlene på bit: | + | ====== Lenker ====== |
| + | Her kan du lese om detaljert montering og styring av bit: | ||
| - | {{microbit:neopixel1.png}} | + | Her kan du lese mer om hvordan du kan styre bit:bot ved hjelp av bluetooth: [[https:// |
| - | I programmet over lages det en variabel som heter " | ||
introduksjon_til_bitbot.1519212192.txt.gz · Sist endret: (ekstern redigering)
