Ole Caprani
Sidst opdateret 22.9.18.
MissionRotér observatorium til præcis positionSe på videoen, hvordan robotten fra en startposition i basen kører til oservatoriet og drejer det ved at skubbe til pinden:RedskabDer skal ikke bygges et redskab, men armen skal være i en position lige over baneoverfladen, så armen kan skubbe til pinden på observatoriet.Der skal monteres to farvesensor foran på robotten som beskrevet i byggevejledningen for basisrobotten, side 69. Farvesensoren på venstre side skal tilsluttes port 1, farvesensoren i højre side til port 4. ProgramProgrammet som styrer robotten på videoen, ser sådan her ud:Programmet består af tre dele og der bruges udelukkende brugerdefinerede blokke:
Brugerdefinerede programmeringsblokke: MoveCm, SpinDegree, ToDark, ToBright og ToLeftDarkHvis ikke de brugerdefinerede programmeringsblokke havde været brugt, ville programmet bestå af 27 programmeringsblokke. Det kan umiddelbart virke uoverskueligt. Ved at bruge brugerdefinerede programmeringsblokke kan nogle af blokkene grupperes til en ny programmeringsblok, der gives et navn som f.eks. ToDark, der fortæller, at blokken får robotten til at køre indtil en lav lysprocent registreres, f.eks. en sort streg. Brugen af de fem blokke betyder, at programmet bliver mere overskueligt, da det nu består af blot 9 blokke. Se eventuelt EV3 Hjælp > Funktioner > Min blokbygger:En anden fordel ved de brugerdefinerede blokke er, at de fem brugerdefinerede blokke kan bruges andre steder i programmeringen af robotten. Blokkene kan findes i den turkis mappe: MoveCm og SpinDegreeI Programmering af kørsel langs en rute beskrives de to blokke MoveCm og SpinDegree.ToLeftDarkVed dobbeltklik på blokken ToLeftDark åbnes et faneblad, så indholdet af ToLeftDark kan ses:Det er de tre blokke i ToLeftDark, som får robotten til at køre fra den første sorte streg hen til den anden sorte streg, sådan her: Den første blok får robotten til at køre lige ud, den næste blok er en vent-blok, som får programmet til at vente på, at farvesensoren på port 1 registrerer en lysprocent som er under den tærskelværdi som er givet som parameter til ToLeftDark, altså her 10 %. Sker det, fortsætter programmet med blokken efter vent-blokken som får robotten til at standse. Se eventuelt EV3 Hjælp > Programmering > Flow-blokke > Vent: ToDark, ToBrightIndholdet af blokken ToDark ser sådan her ud:og blokken ToBright indeholder: Indholdet i de to blokke er helt ens bortset fra ulighedstegnet i ventblokkene. I begge blokke er der to sekvenser af tre blokke som udføres parallelt. Det betyder, at de to motorer C og B startes samtidigt i de to første blokke i de to parallelle sekvenser. Mens robotten kører vil de to vent-blokke dernæst samtidigt vente på om farvesensoren på port 4 (øverste sekvens) eller port 1 (nederste sekvens) registrerer en lysprocent som er under (for ToDark) eller over (for ToBright) tærskelværdien, der er givet som parameter til blokken. Hvis det er ToDark og farvesensoren på port 4 registrerer en lav lysprocent først, vil motor C i samme side som lyssensoren blive stoppet, mens motor B vil blive ved med at køre indtil en lav lysprocent også registreres på port 1. Det betyder, at ToDark får robotten til at stoppe ved en sort streg med begge lyssensorer på stregen. ToBright gør noget lignende ved en hvid streg. På videoen ses hvordan robotten først stopper på den hvide streg og dernæst på den sorte streg: |