BitBot - Sensorer

Når man skal over på å bruke sensorer, er det mange artige muligheter som åpner seg.

Utstyr

  • PC / iPad

  • Micro:bit

  • BitBot

  • USB-kabel

  • Ultralydsensor (sonar)

Linjesensorene

Under bitboten er det to linjesensorer som kan brukes for å lage morsomme programmer og "selvkjørende" bitboter.

Linjesensorene fungerer selv med oppladbare batterier eller litt "slitne" batterier, så disse sensorene kan brukes selv om man ikke fikk ultralydsensoren til å fungere.

Linjesensorene er koblet til noen lys på oversiden av bitboten som lyser når linjesensoren ser noe "mørkt" på sin side.

Når linjesensoren ser en mørk linje, er strømmen på (1) i sensorkretsen, mens den er av (0) når linjesensoren ikke ser en mørk linje. Dette kan vi bruke som vilkår for ulike hendelser.

Bruk A-knappen for å starte en "gjenta for alltid"-løkke.

Det kan være upraktisk at BitBoten programmet starter, som er tilfellet med en "gjent for alltid"-løkke. Dette kan løses ved å la løkken startes av at man trykker på A-knappen. Da kombinerer man bare en "Når knapp A trykkes" med en "gjenta hvis sann"-løkke, som på bildet til høyre, så får man den samme funksjonen.

Fremgangsmåte - linjesensorer (grunnleggende)

1) Lag en knappaktivert "gjenta for alltid"-løkke, som vist over.

4) Hent en Hvis/Ellers-blokk og en sammenligningsblokk (=) fra Logikk.

5) Sett sammen og sett inn i den grønne løkken.

6) Hent "linjesensor venstre" fra sensor-delen av Bitbot-menyen.

Last først inn BitBot-utvidelsen (under Avansert) hvis dette ikke er gjort allerede.

7) Legg "venstre linjesensor" i den venstre delen av vilkåret.

8) Skriv tallet 1 i det høyre feltet på vilkåret.

9) Pass på at det er et likhetstegn(=) i midten av vilkåret.

10) Klikk plusstegnet nederst i hvis/ellers-blokken for å legge inn et nytt vilkår.

11) Lag en kopi av den sekskantede vilkår-blokken og skift til "høyre linjesensor".

Når vi er ferdige med denne delen, skal løkken se ut som på bildet til høyre, og vi har tre felter der vi kan legge inn blokker som sier hva som skal skje i de ulike tilfellene.

  • hvis
    • Hva som skal skje hvis venstre linjesensor ser en mørk linje.
  • ellers hvis
    • Hva som skal skje hvis den høyre linjesenoren ser en mørk linje.
  • ellers
    • Hva som skal skje når ingen av sensorene ser en mørk linje.

Med utgangspunktet i disse vilkårene kan man nå gjøre to ulike utfordringer.

Selvkjørende Bitbot

Lag en bane på gulvet med sort teip. Utfordringen er å få Bitboten til å holde seg "på veien" og følge den sorte teipen.

Denne utfordringen skiller seg litt fra den andre, fordi vi her ikke bruker tidsinnstilte unnamanøvere, men i stedet angir hvilken måte bilen skal kjøre på i de ulike tilfellene.

20210609_085222.mp4

Når bilen er plassert midt på linja, skal ingen av linjesensorene merke linja, men hvis bitboten skjener ut mot den ene eller andre siden, vil disse aktiveres, som i videoen over.

Hvis barna opplever at bilen litt lett hopper av banen, vil det som regel hjelpe å skru ned farten på kjøringen og snuingen. Da går det litt roligere for seg, og sensorene får litt mer tid til å reagere.

Den ferdige koden kan se slik ut:

Og slik kan det ferdige programmet fungere:

20210609_113902.mp4

Robotgressklipper

Lag en bane på gulvet med sort teip. Utfordringen er å få Bitboten til å holde seg innenfor denne banen.

Utfordringen ligner litt på ultralydoppgaven, bortsett fra at vi lager to ulike hendelser, én unnamanøver for når venstre linjesensor oppdager linjen og en tilsvarende for den høyre.

I dette tilfellet, der den venstre linjesensoren oppdager en linje, bør bitboten gjøre en unnamanøver mot høyre.

Den ferdige koden kan se slik ut:

Og slik kan det ferdige programmet fungere:

20210609_112432.mp4

I begge disse programmene er det muligheter for å legge inn et ikon (ved start) som vises på microbiten, samtidig som man kan la LED-lysene på Bitboten lyse opp på forskjellige måter på ulike steder i programmet, f.eks. slik og slik.

Ultralydsensor (sonar)

NB! Ultralydsensoren fungerer bare hvis man har nokså nye "vanlige" batterier (ikke oppladbare).

Ultralydsensoren ser ut som to øyne, og settes ned i sporet foran på bitboten.

Selv om sensoren på en måte "ser" det som er foran seg, så er det ikke øyne, men en høytaleren og en mikrofon. Man kan fin kalle denne sensoren for en "flaggermussensor", da den fungerer på tilsvarende måte som det flaggermusen bruker for å "se" på natten. Spør gjerne barna om hva de husker om dette. Man kan evt. også nevne at delfiner og hvaler bruker det samme prinsippet når de leter etter mat i havet.

Høytaleren sender ut en veldig lys lyd (ultralyd) som vi ikke kan høre. Denne lyden spretter tilbake når den treffer noe, og tiden det tar fra lyden sendes ut til den spretter tilbake kan måles av microbiten, noe som forteller microbiten hvor langt unna bitboten er en hindring.

Bruk A-knappen for å starte en "gjenta for alltid"-løkke.

Det kan være upraktisk at BitBoten programmet starter, som er tilfellet med en "gjent for alltid"-løkke. Dette kan løses ved å la løkken startes av at man trykker på A-knappen. Da kombinerer man bare en "Når knapp A trykkes" med en "gjenta hvis sann"-løkke, som på bildet til høyre, så får man den samme funksjonen.

Fremgangsmåte - Sonarstyrt BitBot

1) Lag en knappaktivert "gjenta for alltid"-løkke, som beskrevet over.

2) Hent en Hvis/Ellers-blokk og en sammenligningsblokk (<) fra Logikk.

3) Sett sammen og sett inn i den grønne løkken.

4) Hent "les ultralydsensor som cm" fra sensor-delen av Bitbot-menyen.

Last først inn BitBot-utvidelsen (under Avansert) hvis dette ikke er gjort allerede.

4) I det andre feltet skriver man et tall (antall cm) man vil bruke som "grensen".

  • hvis
    • Her legges det som skal skje hvis sensoren oppdager en hindring mindre enn 10 cm unna.
  • ellers
    • Her legges det som skal skje hvis det ikke er noen hindringer som er så nærme.

Slik kan den ferdige koden se ut (fasit)

Hvis man har tid og vil utvide koden litt, kan man:

  • Legge inn "Vis ikon" fra Basis-menyen "ved start" for å få et smilefjes e.l. til å vises på skjermen. Unngå å bruke ikoner andre steder i koden, da microbiten ikke sjekker sensorene mens ikonet på skjermen skiftes.

  • Hvis man har gode batterier, kan man legge inn ulike farger på LED-lysene på de ulike stedene, f.eks. grønt lys når den kjører og rødt lys når den gjør en unnamanøver.

  • Legge inn en tone/lyd som spilles av når bitboten merker en hindring og svinger unna.

HVIS BITBOTEN BARE STÅR OG SNURRER, ER DET FOR LAV SPENNING PÅ BATTERIENE.

  • Fjern unødvendige deler av koden, spesielt ting som kan stjele spenning, som lys.

  • Ta ut micro:biten og sett den ned i en bitbot til noen som har fått det til for å sjekke at det ikke er noe annet som er problemet.

  • Prøv å skifte batterier, men ikke kast de "gamle" batteriene. De kan fortsatt brukes, bare ikke til akkurat dette.

Alt-i-ett - Løsningsforslag

Programmet under inneholder alle de tre programmene over i ett program.

  • Knapp A Linjesensor - Selvkjørende bil

  • Knapp B Linjesensor - Robotgressklipper

  • Knapp A+B Ultralydsensor - Robotstøvsuger