Oppgave 2:Såpebobler

I denne oppgaven skal du bygge på den koden vi laget i oppgave 1. Vi legger til den koden vi trenger slik at vi får bevegelse i servo og motoren beveger en vifte.

Programmering

Steg1: Viftemotoren

Vi ønsker å lage et program som starter viftemotoren når vi trykke på A-knappen på micro:bit.

Vi legger derfor til blokken “når knapp… trykkes” Denne finner du i seksjonen for inndata.

Motoren er koblet på venstre side og kalles for M0. Den er tilkoblet P0 på micro:bit. For å styre den, må vi derfor bruke blokken “skriv analog til…”. Her kan vi velge en hastighet mellom 0 og 1023, der 0 er stans, og 1023 er maksimal hastighet. Prøv en hastighet mellom 100 og 300, det skal være tilstrekkelig. Her har vi lagt inn 100 som verdi

Steg 2: Servomotoren

Vi ønsker at armen skal bevege seg ned i vannglasset og opp til vifta slik at viften blåser boblene ut i rommet. Armen er koblet til en servo som kan bevege seg 180 grader. Vi må derfor gi den beskjed om i hvilke grader den skal bevege seg.

Vi vil også at den skal starte ved a vi trykker inn B-knappen på micro:bit.

Vi henter derfor ut blokken “når knapp… trykkes” og endrer til “B”

Vi ønsker at armen skal hente såpeboblevann 4 ganger, og setter derfor inn en løkke som sier “gjenta 4 ganger” Vi bruker løkker når vi ikke ønsker å skrive den samme koden gjentatte ganger.

For å bevege servoen går vi til tilkoblingsseksjonen igjen og henter ut “servo skriv til…” og setter inn i løkke-blokka. Servoen er koblet til P2 og vi endrer derfor til P2 på blokken. Fordi startposisjonen til armen er 180 grader skriver vi inn verdien 180. Vi legger så inn en pauseblokk og skriver inn 5000. Dette betyr at armen står nede i vann i 5 sekunder før den beveger seg opp til vifta.

Lag så en kopi av de to siste blokkene og legg de under de to første. Endre verdien til gradene på servoen til 110. Nå vil armen bevege seg opp til vifta og stå der i 5 sekunder før den igjen beveger seg ned til vannet.

Steg 3: Stoppe motorene

Til slutt ønsker vi å legge inn en kommando som sier hvordan vi skal stoppe motor og servo.

Vi legger derfor inn en ny “når knapp… trykkes” -blokk og endrer til A+B

I denne legger vi inn to tilkoblingsblokker: “Skriv analog til” og “servo skriv til”

Husk å endre til P0 på blokken for viftemotoren og endre verdien til 0. Blokken for servomotoren skal merkes P2 og ha en verdi på 180.

Det ferdige programmet kan se slik ut

Du har nå laget et program som kan sette i gang en liten motor og en servomotor i tillegg til å få LED-lampe til å lyse.

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 du slår på strømmen starter LED-lampen å lyse i det tempoen du har valgt

  • Når du trykker på A-knappen begynner motoren og vifta å gå

  • Når du trykker på B-knappen beveger servoen seg mellom to posisjoner 4 ganger før den stopper

  • Om du trykker på A og B knappen samtidig vil både motor og servomotor stoppe

  • For å skru av strømmen på maskinen må du koble fra batteriet. Varsellampen vil da slutte å lyse.

Prøv selv

  1. Lag såpeboblevann og sett en liten beholder slik at såpeboblearmen treffer vannet før den går opp til vifta

  2. Om armen ikke beveger seg helt slik du ønsker, endre innstillingene på servoen ved å legge inn passende verdier (grader). Ved behov kan du også løfte av armen og sette den på igjen i en mere passende stilling. OBS! Ikke tving servoen til å rotere rundt, det kan skade tannhjulene inne i servoen. Om du ønsker å fjerne armen, dra den forsiktig rett ut fra servohodet.

  3. Forsøk å endre kraften på viftemotoren. Observer hva som skjer.

Utfordringer

  1. micro:bit v2 har innebygget mikrofon og høyttaler. Lag et program hvor du aktiverer motor og servomor ved hjelp av lydsignaler. Tips: se blokker i menyen for inndata.

  2. Hvor lav hastighet kan du kjøre vifta på for å få størst mulig såpebobler?

Last updated