Oppgave 5: Veibom med bevegelsessensor

I denne oppgaven skal du lage din egen veibom ved hjelp av en miniservo og en bevegelsessensor. Bommen skal åpne seg automatisk når et kjøretøy nærmer seg.

Innføring i servo

Litt om veibom

En veibom er en sperring som hindrer kjøretøy å kjøre videre på veien. Noen veibommer er laget for å hindre ferdsel på privat vei, mens noen veibommer kan åpnes ved for eksempel å betale for å kjøre gjennom. Denne veibommen reagerer på bevegelse, slik at når kjøretøyet nærmer seg vil veibommen åpnes. Vi programmerer den slik at kjøretøyet rekker å kjøre gjennom bommen før den lukker seg igjen.

Slik fungerer veibommen:

Bevegelsessensoren registrerer bevegelse og sender disse signalene til micro:bit. micro:bit sender videre signaler til miniservoen og setter bommen i bevegelse slik at den hever seg når kjøretøyet nærmer seg. Når kjøretøyet har kjørt igjennom senker bommen seg igjen.

Du lærer

  • Bruke logikkblokken hvis/ellers

  • Viktigheten av å sette inn pauser

  • Bruke servo for å skape bevegelse

  • Bruke bevegelsessensor for å gi signaler

Dette trenger du:

1 micro:bit

Tilkoblingsbrett: Octopus breakout board

2 tilkoblingskabler

miniservo

bevegelsessensor

USB kabel for overføring fra PC

papp

Veibom av Papp

Start med å klippe eller skjære ut delene av papp slik som vist på bildet under.

Sett delene sammen, og plasser servoen i hullet. Her har vi benyttet en skrue til å feste bommen til servoarmen, men man kan også benytte tape om man ønsker.

Slik kobler du komponentene sammen:

Sett micro:bit inn i koblingsbrettet. Bruk en tilkoblingskabel og fest bevegelsessensoren på P1. Vær nøye med å feste kabelen på riktig måte slik at gul, rød, svart treffer gul, rød, svart på koblingsbrettet. Fest koblingsledningen fra servoen på P2.

Programmering:

Gå til makecode.microbit.org og trykk på “Nytt prosjekt”. Gi prosjektet ditt et navn. Her kaller vi det veibom. Vi må legge til de ekstra kodeblokkene vi trenger for å gjøre dette prosjektet med ElecFreaks Tinker Kit. For å gjøre dette trykker man på Avansert og scroller ned til Utvidelser/ Add Package. Det åpner seg da en ny meny hvor vi velger tinkercademy-tinker-kit.

Sett inn basisblokken gjenta for alltid. Vi bruker denne blokken fordi vi vil at veibommen vår skal fungere hver gang bevegelsessensoren fanger opp bevegelse. Sett så inn logikkblokken hvis/ellers inni denne.

Fra Tinkercademy-menyen henter du blokken for motion detector. Husk å sette at bevegelsessensoren er på P1. For å hente blokken vi trenger til miniservoen må vi trykke på avansert og gå inn på tilkoblinger. Her henter vi ut blokken servo skriv til …. Her må vi endre til P2 da det er her vi har koblet til microservoen på tilkoblingsbrettet. Vi setter også inn verdien 90. Dette betyr at servoen skal bevege seg 90 grader og servoarmen vil da stå rett opp.

Vi behøver også å legge inn en pauseblokk for å unngå at servoarmen vil gå ned igjen til 0 grader umiddelbart. Pauseblokken er en basisblokk og vi har satt den til å holde en pause i 5 sekunder.

Til slutt trenger vi en ny blokk for servoen. Høyreklikk på servoblokken og velg kopier. sett så den nye blokken inn under ellers. Husk å endre verdien til 0, noe som betyr at servoen vil være helt i ro.

Se eksempel under

Slik virker det

  • Bommen er nede så lenge det ikke er noe bevegelse i nærheten av sensoren. Tips: Sensoren kan være litt følsom, det kan være lurt å “gjemme den” litt bort, kanskje lage et eget lite hus rundt den

  • Når bevegelsessensoren merker bevegelse vil bommen åpne seg og være åpen i 5 sekunder før den lukker seg igjen.

Prøv selv

  1. Få et kjøretøy, for eksempel en Bitbot til å kjøre mot veibommen og se om den åpner seg

  2. Hvordan fungerer pauseblokken? Forsøk å endre på pauselengden slik at den passer akkurat for det kjøretøyet som skal passere.

  3. Legg til et varsel når kjøretøyet nærmer seg. Utfordring: hvordan kan du legge til et buzzersignal i koden?

Last updated