En micro:bit kan også styre en eller flere motorer. For å få til det, er det både programmering og kobling. Mange motorer krever mye strøm, mer enn det en microbit kan gi. Vi må derfor ofte bruke et rele eller transistor som strømbryter. Enten må man koble, eller så finnes det motorkontrollere som ordner det for oss. Det finnes flere typer motorer og vi må velge motor etter det vi skal gjøre. Servomotorer er litt mer nøyaktige og kan brukes til å skru på kraner eller andre ting. Det letteste for en vanningsautomat, er å bruke en pumpe, så det er det vi bruker i dette eksempelet.
Kodeblokkene vi bruker for å kjøre motorer finner vi under avansert - tilkobling. Skriv digital gir enten 0 eller 1. Enten er motoren av eller på. Skriv analog kan vi gi verdier mellom 0 og 1023, og dermed ikke kjøre på fullt hele tiden. Ulempen er at den styrkejusteringen ikke vil fungere hvis vi har et rele eller transistor som motorstyring - de vil uansett overse det og sende full strøm til motoren.
Når vi bruker disse kodeblokkene, må vi passe på at programmet passer til hvor vi har koblet på ting. På micro:biten er det flere tilkoblingspinner som vi kan bruke som innganger eller utganger. Pinne 0, 1 og 2 er store og enkle å koble til, men med et tilkoblingsbrett, er det flere pinner vi kan bruke. Du velger hvilken utgang i nedtrekksmenyen.
Når vi trykker på A skal motoren på pinne 2 kjøre på full styrke i 2 sekunder.
Det er ulike typer pumper. Noen pumper er nedsenkbare, de er beregnet for å være nedi en vanntank, mens andre skal suge opp. Vi må finne ut hvor lenge de må de kjøres for at vi skal få passe mengde vann. Her kommer det veldig an på hva slags pumpe og hvor lang slange det er. Noen pumper har en tilbakeløpsventil - vannet vil bli værende i slangen når pumpen stopper, mens andre pumper slipper vannet ut. Dette må vi sjekke når vi skal finne ut hvor lenge pumpen må gå. Når vi sjekker hvor lenge pumpen må gå, må vi ta hensyn til det.
Det andre vi må være oppmerksom på er hevert-effekten. Dersom en utløpet til en slange fra en vannkar er lavere enn vannnivået i vannkaret, vil slangen suge vannet. Det gjelder både for der vi pumper vann fra og der vi pumper vann til. Dersom slangen ligger nedpå jorden, kan den suge med seg jord tilbake.
Nå må vi teste ut hvor lenge pumpen må gå for å pumpe passe vann.
Når vi trykker på A skal det pumpes passe mengde vann fra beholderen til potten.
Hvor lang pause skal vi ha mellom hver test?
En servomotor kan styres til en nøyaktig stilling og kan brukes til å skru på enkle kraner, eller dytte til en lysbryter. Det finnes servomotorer som er enkle å koble til en Micro:bit.
Det er to måter å programmere en servomotor på. Det enkleste er å bruke servo skriv til som finnes under avansert - tilkobling. Verdien sier i hvilken posisjon skal stå - 0 til 180 grader.
Det finnes også utvidelsesfunksjoner for servomotorer som kan lastes inn. De finner du med å trykke på utvidelser og søke etter servo. Denne utvidelsen begrenser tilkoblingsmulighetene til P0, P1 og P2, så vi bruker heller blokken over.
Koble en servomotor til microbit. (Se videoen) Hvor står armen på motoren ved ulike posisjoner?
Bruk kartong for å lage feste til motoren, slik at den kan trykke på en lysbryter.
Når vi trykker på A skal den skru lyset på.
Når vi trykker på B skal den skru lyset av.
Og hvis du har lyst: Lag et program som måler hvor lyst det er. Hvis noen slår på lyset, slår micro:biten av lyset etter 20 sekunder...
Nå kan du lage det store programmet for dyrkingsautomaten.
Hvert minutt skal dyrkingsautomaten sjekke og logge temperatur, lys og fuktighet.
Dersom potten er for tørr, skal det pumpes vann en passe periode. Det skal logges om det pumpes vann eller ikke.
Når micro:biten mottar et signal fra en annen micro:bit (tilkoblet datamaskinen) skal den sende loggen.
Dersom du har koblet på en lampe, programmerer du inn den også.
Hvis det er mørkt, skal lampen lyse. Dersom det er lyst, skal lampen slukke. Micro:bit skal logge om lampen er på eller av.
Her kommer løsningsforslag: https://makecode.microbit.org/_aM2dYPKufhpj
(NB! Sjekk at den er koblet på riktige pinner.)