Ole Caprani
Sidst opdateret 1.8.15.
Registrering af placerings- og anbringelsesstederVed starten af en kørsel med WRO Starter Bot 2015 stilles robotten, så den kan kører henover de 8 farvede felter midt på banen imellem de to sorte streger. På den måde kan robotten registrere de aktuelle farver af de farvede felter og dermed kan programmet, som styrer robotten, vælge rute, når de farvede kuber skal hentes og bringes til deres rette plads. Kørslen henover felterne ses på videoen:
Programmet, som styrer robotten på videoen, bruger den midterste farvesensor til at følge ydersiden af kanten af den sorte streg til venstre for robotten i kørselsretningen. Det betyder, at farvesensoren til højre bevæges henover de 8 farvede felter og farvesensoren kan derfor bruges til at registrere de aktuelle farver af de 8 felter. De aktuelle farver på de 8 felter kan programmet dernæst bruge til at vælge en rute, så de farvede kuber bliver hentet og anbragt de steder på banen, som er angivet af de aktuelle 8 farver. De forskellige muligheder for brug af farvesensoren er beskrevet i EV3 hjælp > Generelt > Brug af sensorer > Farve, se eventuelt introduktion til farvesensor. For at kunne registrere farverne af de 8 felter skal farvesensoren bruges i tilstand Farve: I tilstand Farve registrerer farvesensoren farven, som et tal med følgende betydning: På videoen ser de 8 felter midt på banen sådan her ud: Det betyder, at farvesensoren registrerer følgende værdier, når robotten, som på videoen kører henover de 8 farvede felter:
Prøv at køre programmet. Prøv også at bytte rundt på de farvede felter.For at kunne vise de aktuelle farveværdier på skærmen er programmet nødt til at huske værdierne efterhånden som robotten kører henover felterne. Farveværdierne huskes i såkaldte variable (EV3 hjælp > Programmeringsblokke > Data-blokke > Variabel): Programmet DisplayVar.ev3p ser sådan her ud: Programmet består af 6 blokke:
Betydningen af de 8 variable i forhold til de farvede felter er:
Situation A og B er forklaret i regler ved den danske finale. Med de 8 felter som på videoen bliver værdierne af de 8 variable altså:
Svarende til følgende placerings- og anbringelsessteder: GetPositions og GetColorsGetPositions, får robotten til at køre henover de 4 første felter, registrerer de 4 farveværdier og huske dem i 4 forskellige variable. GetColor klarer de 4 næste felter på tilsvarende vis. Den eneste forskel på indholdet af de to blokke er navnene på de variable, som de registrerede farver gemmes i. Dette kan ses her, hvor indholdet af de to blokke er vist ud for de farvede felter som registreres:De to input parametre både til GetPositions og GetColors, minPower og P, gives videre som input til de 4 ReadColor blokke: ReadColorDe to farvesensorer på henholdsvis port 3 og 4 bruges i blokken ReadColor til dels at følge kanten af den sorte streg til venstre i kørselsretningen, dels at registrere de farvede felters aktuelle farver:Åbnes ReadColor, f.eks. i en ny fane ved at dobbeltklikke på ReadColor, ser den sådan her ud: I blokken er der to såkaldte løkker ( EV3 hjælp > Programmeringsblokke > Flow-blokke > Løkker): Den første løkke, 01, udfører blokken LeftEdgeDrive, som får robotten til at følge kanten af den sorte linie, indtil farvesensoren på port 4 registrerer en af farverne rød, blå, grøn eller gul. Når en af de fire farver registreres fortsættes med den næste program blok efter løkken, altså farvesensor-blokken imellem de to løkker ( EV3 hjælp > Programmeringsblokke > Sensorblokke > Farve): Da farvesensoren på port 4 benyttes i tilstanden Farve, vil den værdi, som farvesensor-blokken registrerer altså være et af tallene, der fik løkken til at stoppe dvs 2, 3, 4 eller 5: Den anden løkke, 02, udfører ligeledes blokken LeftEdgeDrive, men nu indtil farvesensoren på port 4 registrerer farven hvid. Når hvid registreres fortsættes med den næste program blok efter løkken, altså blokken efter ReadColor. Det betyder, at ReadColor bringer robotten langs stregen til farvesensoren på port 4 er over hvid. Når så næste ReadColor udføres, f.eks. som i GetPositions, er robotten altså klar til at registrere farven på det næste farvede felt. De to input parametre til ReadColors, minPower og P, gives videre som input til de to LeftEdgeDrive blokke; output, color, er den registrerede farve fra farvesensor-blokken: |