Robot Bil, del 5 – opgave

Restaurant Bane:

Vi skal have tegnet en bane, en “restaurant”!

Den skal bestå af to sammensatte A4 ark, som ses nedenfor. Vi kan enten selv tegne den (stregen skal være ca. 1.5cm), eller vi kan printe den: Bane

 

Herefter kan vi sætte de to A4 ark sammen som på billedet neden under, jeg har pyntet min som en sushi restaurant, med et køkken til kokken og et bord til gæsterne.

 

Programmering – Følg Stregen:

Kopier din kode ind i en funktion der hedder “følgStregen”:

  • Hvis højreSensor < 850:
    • Kør højre motor
  • Ellers stop:
    • Stop højre motor
  • Hvis venstreSensor < 850:
    • Kør venstre motor
  • Ellers stop:
    • Stop venstre motor

Desværre laver micro:bitten nogle fejl-læsninger, når den læser vores sensor.

Tilføj derfor denne kode, hvilken er nødvendig, men ikke en vi skal tænke så meget over lige nu (det er lidt mere avanceret):

  • Hvis sensorHøjre  > 900 og venstreMotor > 900:
    • Sæt antal til 0 
    • Så gentag (4):
      • sensorHøjre = læs (P1)
      • sensorVenstre = læs (P2)
      • Hvis sensorHøjre  > 900 og venstreMotor > 900:
        • Ændrer antal af 1 (lægger +1 til antal)
      • Ellers
        • Pause (afbryder gentagelsen)
    • Hvis antal = 4
      • Pause (afbryder gentagelse)
      •  

I alt giver det denne kode

 

 

Test at det virker:

Nu kan vi kalde “følgStregen” i vores “For altid” loop. Det vil få robotten følge stregen, men stoppe når den kommer til et kryds – herefter skal vi selv bestemme hvad der skal ske i krydset!

Test og check at det virker, herefter kan vi lave nogle opgaver 😀

 

 

Se også: https://makecode.microbit.org/_Y6s0yT4zKW71

 

 

Sushi Restauranten, del 1:

Vi skal have robotten til at køre fra det ene kryds til det andet og tilbage igen, når den er ved det andet kryds, skal robotten kaste sushien på gæsterne.

 

Del 1 – Første opgave (Guide til Servomotoren):

Vi skal lave en funktion, der får robotten til at kaste sushien på gæsterne, når den når til bordet (kryds nr. 2). Til at kaste sushien bruger vi en servomotor.

  • Sæt en servomotor til din FireFly (på pladsen “servo 1”).
    • Husk at vende ledningerne rigtigt:
      • Orange -> PWM
      • Rød -> +
      • Sort/brun -> –
  • Lav en funktion “kastSushi”:
    • Her skal du få servomotoren til at kaste sushi’en af robotten,
      og slutte i start positionen igen.

 

Del 1 – Anden opgave:

Vi skal lave en funktion, der får robotten til at køre frem henover krydset, så robotten kan fortsætte med at følge stregen, efter at have kastet med sushien.

  • Lav en funktion “kørFrem”:
    • Dette skal få robotten til at køre lige ud, i 200ms hvorefter den skal stoppe.

 

Del 1 – Tredje opgave:

Vi har nu alle vores tre funktioner: følgStreg, kastSushi, kørFrem.

  • Sæt dine funktioner ind i “når programmet starter” og placer robotten lige før køkkenet (kryds nr. 1) – se billedet nedenunder:
    • Køre over krydset
    • Følger stregen hen til bordet (kryds nr. 2)
    • Kaster sushien
    • Køre over krydset
    • Følger stregen hen til køkkenet (kryds nr. 1)

 

 

Sushi Restauranten, del 2:

Hvis vi sætter vores kode ind i for altid, vil robotten blive ved med at køre mellem køkkenet og bordet og kaste sushien. Men kokken har måske ikke haft tid til at lave ny sushi, så vi skal have lavet sådan, at kokken selv kan sætte robotten i gang, når sushien er klar.

Det vil kokken gerne gøre ved at trykke på “knap A”

 

Del 2 – Første opgave:

Inde i for altid, laver vi derfor følgende kode.

  • Brug en “Hvis”-sætning, til at opdage når der bliver trykket “på A-Knappen”
    • “Hvis” der bliver trykket på “A” skal robotten:
      • Køre over krydset
      • Følger stregen hen til bordet (kryds nr. 2)
      • Kaster sushien
      • Køre over krydset
      • Følger stregen hen til køkkenet (kryds nr. 1)