4. Selvkjørende robot som unngår farer

I denne oppgaven skal du lage et program slik at BitBot’en ikke kolliderer med ting og tang ved å bruke ultralydsensoren til å måle avstanden til hindringer.

Litt om ultralydsensor

En ultralydsensor, eller sonar som det også kalles, bruker lyd til å måle avstand. Den sender ut lydsignaler og måler tiden det tar før lyden reflekterer tilbake fra omgivelsene. Desto lengre tid det tar før lyden kommer tilbake, desto lengre unna er hindringen. Sonarer brukes vanligvis på alt fra ryggesensorer til ubåter.

Du trenger:

  • 1 x BitBot

  • 1 x ultralydsensor

  • 1 x micro:bit

Programmering:

Start med å laste inn de ekstra kodeblokkene du behøver for å programmere BitBot. Fra basisblokkene henter du frem “ved start” og “gjenta for alltid”

Fra menyen til venstre henter du frem blokken for høyttaler og legger inn i “ved start” blokken. Endre slik at høytaleren er satt til På. Legg så inn basisblokken “pause” og sett verdien til 100. Lag en kopi av blokken for høyttaler og velg her at bryteren står på Av. Legg til slutt til blokken for LED og velg at alle LED skal lyse rødt.

I basisblokken “gjenta for alltid” skal du legge inn blokken hvis/ellers. Denne finner du i logikkseksjonen i menyen til venstre. Deretter må vi legge til en ekstra blokk som vi også henter fra logikkseksjonen. Dette programmet vil da se slik ut:

I den første mulige variabelen setter vi så inn blokken “les ultralydsensor som” som vi finner i menyen for bitbotblokker. Pass på at at du setter betingelsen til cm. Legg så til blokken “snu til venstre” og endre fart til 60% og at den skal kjøre i 400 millisekunder.

Under ellers legger du inn blokken for “kjør” og velger fremover med fart på 60%

Programmet ditt skal nå se ut som bildet under.

Du har nå laget et ferdig program og kan laste det over til micro:bit

Trykk på last ned ikonet nederst på siden. Programmet du har laget vil lagre seg som en .Hex fil. Legg merke til hvor du lagrer filen. Når den er lastet ned kan du simpelthen dra den over til micro:bit ikonet i filutforskeren. Micro:bit blinker oransje bak når programmet lastes over, og stopper når den er ferdig. Programmet er umiddelbart klart til å brukes når micro:bit er koblet til strøm

Slik virker det:

BitBot kjører fremover inntil den kommer til en hindring og vil da ta en kjapp sving mot venstre og fortsette å kjøre rett frem. Merk at her har vi ikke satt noe variabel for tid, og BitBot vil fortsette å kjøre til du stopper den manuelt.

Prøv selv:

  1. Overfør programmet til micro:bit og test hvordan det fungerer. Gi BitBot et hinder for å se hvordan den reagerer.

  2. Test ut flere variasjoner hvor du endrer hvor mange cm unna hinderet du vil at bitbot skal reagere slik at du finner ut hva som er optimalt.

  3. Lag en labyrint med hindre og forsøk om du kan få den selvkjørende roboten til å finne veien selv. Husk at vi kun har programmert den til å svinge til venstre.

  4. Hvordan kan du lage et program hvor bitbot også kjører mot høyre?

Last updated