PXT: Fjernstyr en venn

Skrevet av: Julie Christina Revdahl

Kurs: Microbit
Tema: Elektronikk, Blokkbasert, Spill
Fag: Programmering, Teknologi
Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
Til lærerveiledningLast ned PDF

Introduksjon

I denne oppgaven skal vi sette opp radiokommunikasjon mellom to micro:biter slik at vi kan sende instruksjoner for å navigere en venn i blinde.

Obs: Følg med på overskriftene. Du skal gjennomføre steg for enten sender eller mottaker.

Sender og mottaker: oppsett

I denne delen av oppgaven, skal vi sette opp senderen slik at den kan kommunisere med en annen micro:bit.

checkSjekkliste

Sender

Vi skal nå lage en kode som lar senderen sende et tall for å representere pilretningen mottakeren skal gå i.

checkSjekkliste

  • Bruk innebygd funksjon for helning av micro:bit til å bestemme hvilken pil som skal sendes.

  • Bruk målt akselerasjon i x-og y-retning til å avgjøre retningen (høyre: x>0, venstre: x<0, opp: y<0, ned: y>0) .

  • La trykk på kontaktene P0, P1 og P2 representere pilene venstre, høyre og opp, mens knapp A representerer pil ned.

  • Når du trykker på A vises neste pil.

input.onButtonPressed(Button.B, function () {
    let pilnummer = 0
    radio.sendNumber(pilnummer)
})

Her har vi ikke brukt knapp B til noe annet

radio.onReceivedNumber(function (receivedNumber) {
})

I variabelen receivedNumber (på norsk:mottatt tall) lagres teksten du mottar. For vår del er ikke dette viktig. Vi kan motta hva som helst som bekreftelse.

Mottaker

Denne delen av koden er for den som skal lage mottakeren. Vi skal nå sette opp micro:biten slik at tallet vi mottar blir til en pil på skjermen vår.

checkSjekkliste

  • Tøm skjermen, og vent et halvt sekund før du viser den nye pila.

  • Vis noe annet bilde på skjermen mellom hver pil.

  • Få microbiten til å lage en lyd når du mottar en ny pil. Til dette trenger du 2 ledninger og 1 buzzer. Koble GND til - på buzzeren og kontakt 0 til + på buzzeren.

Sender og mottaker: Testing

Lisens: CC BY-SA 4.0

Forbedre denne siden

Funnet en feil? Kunne noe vært bedre?

Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!