Oppgave 4: Koble til microservo

I denne oppgaven skal du bruke micro:bit og miniservo for å lære å sette ting i bevegelse.

Du Lærer å

  • Bruke blokken “for alltid” for å kjøre et program over tid

  • Koble til servo og sette noe i bevegelse

  • Bruke pauseblokker

  • Kopiere kode

Litt om Servo(servomotor/microservo)

En servo, eller servomotor er en elektrisk motor som kan ta imot strøm og signaler for å sette noe i bevegelse. Servoen kan bevege seg i ulike hastigheter etter som hva slags signaler vi gir den. Servomotoren kan også holde en gitt posisjon om den får beskjed om det, noe vanlige motorer ikke kan. Disse funksjonene gjør de spesielt egnet innenfor programmering og robotikk, da man ofte er ute etter å kontrollere både bevegelse og posisjon.

Du trenger:

  • En micro:bit

  • En microservo

  • OLED- Display

  • Tilkoblingsbrett: Octopus:bit breakout board

Slik kobler du sammen komponentene

Sett Micro:bit inn i tilkoblingsbrettet slik som på bildet under. Bruk de medfølgende kablene til å koble servoen til tilkoblingsbrettet på Pin 1. Vær nøye med å feste kabelen på riktig måte slik at gul, rød, svart treffer gul, rød, svart på tilkoblingsbrettet

Programmering

Gå til makecode.microbit.org og trykk på “Nytt prosjekt”. Gi prosjektet ditt et navn. Her kaller vi det Servo. 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.

Utvidelsespakken vil da laste ned og legge seg i menyen til venstre for redigeringsskjermen.

Start med å hente frem basisblokken “ved start” Deretter går du inn i OLED-seksjonen og henter ut blokken som starter skjermen. Denne heter “initialize OLED with… Pass på at width er satt til 128 og height er satt til 64.

Gå så inn igjen i OLED-seksjonen og hent ut blokken “show string” I det hvilte feltet har vi skrevet inn Gøy med Servo

Vi behøver også Basisblokken “gjenta for alltid”

Trykk så på Avansert i menyen til venstre og trykk på tilkobling. Her trenger vi blokken for programmere en servo, nemlig “servo skriv til…” Husk å endre til P1 da det er her du har koblet til servoen. Sett verdien til 0. Sett så inn basisblokken for pause og sett verdien til 1 sekund. Du skal nå gjøre akkurat det samme en gang til, men denne gangen kan du forsøke å kopiere kodeblokkene isteden for å hente de ut av menyen. Høyreklikk på blokken for servo, velg kopier og sett den på plass under pause. Sett så verdien til 180. Kopier deretter pauseblokken på samme måte og sett denne under servoblokken.

Koden skal nå se slik ut:

Du har nå laget et program som får servoen til å bevege seg 180 grader

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

Når vi får strøm til micro:bit vil displayet vise “Gøy med Servo”

Servoen vil starte å bevege seg frem og tilbake 180 grader og servoarmene vil peke fra side til side i det tempoet vi har satt den til. Om vi hadde benyttet en servo som kunne rotere 360 grader, kunne vi se at servoarmene beveget seg hele veien rundt.

Prøv selv

Du har nå laget en kode som gjør at microservoen beveger seg

  • Forsøk å lage koden uten å sette inn pauseblokker. Hva skjer?

  • Endre verdiene på P1 og se hvordan servoen reagerer. Kan du få den til å ta en pause midtveis før den går videre?

Last updated