Brug af tryksensoren

Tryksensoren registrerer om knappen på sensorens forside trykkes ind. Du kan for eksempel bruger tryksensoren til at registrere, når robotten kører ind i noget. Du kan også trykke på en tryksensor med fingeren for at udløse en handling.
Tryksensoren kan angive, om den er trykket ind eller ej. Den kan ikke måle, hvor længe eller hvor hårdt, knappen trykkes ind. Tryksensoren kan levere logiske data (Sandt eller Falsk). Tryksensorknappens position kaldes dens Tilstand, og den er Sand, når knappen er trykket ind, og Falsk, når den ikke er trykket ind (sluppet).

Tryksensoren kan også bruges til at holde styr på, om en knap tidligere har været trykket ind og sluppet. Det kaldes Stødt og er nyttigt til for eksempel at registrere, når knappen har været trykket ind med fingeren. Se Tilstanden Stødt for at få yderligere oplysninger.
Tryksensordata
Tryksensoren kan levere følgende data:
DataTypeBemærkninger
Tilstand LogiskSandt, hvis knappen er trykket ind, Falsk, hvis den ikke er.
Trykket ind LogiskSandt, hvis knappen er trykket ind, Falsk, hvis den ikke er (det samme som Tilstand).
Sluppet LogiskFalsk, hvis knappen er trykket ind, Sandt, hvis den ikke er (det modsatte af Tilstand).
Stødt LogiskSandt, hvis knappen tidligere har været trykket ind og sluppet. Det næste tilfælde af Stødt vil derefter kræve, at en knap igen trykkes ind og slippes.
Eksempler på brug af Trykket ind
Nedenfor er vist eksempler på, hvordan du kan bruge dataene for Trykket ind i et program.
Eksempel 1: Kør, indtil en tryksensor trykkes ind
Dette program får en robot til at køre lige fremad, indtil en tryksensor trykkes ind, hvorefter robotten stopper. Det bruger Vent-blokken i tilstanden Tryksensor– Sammenlign – Tryktilstand til teste, om den er trykket ind.
Tips og tricks
Husk at bruge tilstanden Til på Bevægelsesstyring-blokken, når du vil køre, mens du venter på en sensor.
Eksempel 2: Kør en motor, mens tryksensorens knap er trykket ind (metode 1)
Dette program får en motor til at køre, når knappen på tryksensoren er trykket ind og holdes inde. Motoren stopper, når knappen slippes. Programmet bruger Vent-blokken i tilstanden Tryksensor– Sammenlign – Tryktilstand til at teste, om den er trykket ind. Testresultatet bruges til at vælge, om motoren skal slås til eller fra. Testen gentages konstant i en løkke.
Eksempel 3: Få indikatorlampen for klodsstatus til at blinke, når tryksensoren er trykket ind
Dette program tænder indikatorlampen for klodsstatus med orange lys, og får lyset til at blinke, når tryksensoren er trykket ind. Det bruger Tryksensor-blokken i tilstanden Mål til at hente tryksensorens tilstand. Resultatet forbindes med inputtet Blink i Betjeningsknapper-blokken ved hjælp af et logisk datakabel.
Eksempler på brug af Sluppet
Nedenfor er vist eksempler på, hvordan du kan bruge dataværdien for Sluppet i et program.
Eksempel 4: Bip ved hvert tryk på tryksensoren
Dette program udsender en kort tone, hver gang tryksensoren trykkes ind. Der udsendes kun en tone for hvert tryk. Programmet bruger en Vent-blok i tilstanden Tryksensor – Sammenlign – Tryktilstand for at teste for Sluppet og derefter en anden Vent-blok til at vente på Sluppet, før det lader løkken fortsætte.
Tips og tricks
Hvis du sletter Vent-blokken i tilstanden Sluppet fra programmet, kan du høre, at tonen gentages lige så længe tryksensoren holdes inde. Det skyldes, at Vent-blokken i tilstanden Trykket ind øjeblikkeligt fortsætter til den næste blok, hvis tryksensoren allerede er trykket ind. Prøv det!
Eksempel 5: Kør en motor, mens tryksensorens knap er trykket ind (metode 2)
Dette program får en motor til at køre, når knappen på tryksensoren er trykket ind og holdes inde. Motoren stopper, når knappen slippes. Programmet bruger en Vent-blok i tilstanden Tryksensor – Sammenlign – Tryktilstand til at vente på Trykket ind for at starte motoren og derefter en anden Vent-blok til at vente på Trykket ind, før det stopper motoren. Processen gentages i en løkke.
Tips og tricks
Dette program gør det samme som programmet i eksempel 2 ovenfor blot med en anden metode.
Tilstanden Stødt
Ud over at fortælle, om knappen på tryksensoren er trykket ind eller sluppet, holder tryksensoren også styr på, om knappen har været trykket ind og sluppet tidligere. Det kaldes Stødt. Det gør det nemt at finde ud af, om tryksensorens knap har været trykket på som en trykknap uden konstant at skulle kontrollere, om den er trykket ind og så vente på, at den slippes.

Når tryksensoren fortæller, at den har været stødt, fortæller den det ikke igen, indtil tryksensorens knap trykkes ind og slippes på ny. Derved bliver det for eksempel nemt at sikre sig, at hvert tryk svarer til en handling, der kun sker én gang.

I nedenstående tabel er vist et eksempel på, hvordan en tryksensor trykkes ind og slippes i en række trin. Tabellen viser resultatet af et program, der tester for Trykket ind, Sluppet og Stødt efter hver handling
TrinHandlingTrykket indSluppetStødt
1 Knappen starter som sluppetFalskSandtFalsk
2 Knappen trykkes indSandtFalskFalsk
3 Knappen slippesFalskSandtSandt
4 Knappen er stadig sluppet, og programmet tester tryksensoren igenFalskSandtFalsk
5 Knappen trykkes ind for anden gangSandtFalskFalsk
6 Knappen holdes inde, og programmet tester tryksensoren igenSandtFalskFalsk
7 Knappen slippesFalskSandtSandt
8 Knappen er stadig sluppet, og programmet tester tryksensoren igenFalskSandtFalsk
Bemærk, at når knappen holdes inde, fortsætter tryksensoren med at angive, at knappen er trykket ind, hver gang programmet tester den. Når knappen først er sluppet, angiver sensoren imidlertid kun Stødt den første gang, programmet tester den for Stødt. Sensoren angiver ikke Stødt igen, indtil den trykkes ind og slippes på ny.
Eksempler på brug af Stødt
Nedenfor er vist eksempler på, hvordan du kan bruge dataene for Stødt i et program.
Eksempel 6: Skift displaytekst, når tryksensoren trykkes ind
Med dette program vises teksten "Zero", efterfulgt af teksten "One" og derefter efterfulgt af teksten "Two" på EV3 klodsens display. Teksten på displayet ændres, hver gang tryksensoren stødes (trykkes ind og derefter slippes).
Tips og tricks
Hvis du ændrer Vent-blokkene i programmet, så der testes for Trykket ind i stedet for Stødt, vil du se, at displayteksten skifter fra "Zero" og direkte til "Two" og springer "One" over. Prøv det! Det skyldes, at Display--blokkene udføres så hurtigt, at når den anden test med Vent i tilstanden Trykket ind foretages, holder din finger stadig knapppen inde fra det første tryk, så den anden Vent-blok afsluttes øjeblikkeligt. Når du tester for Stødt, efterfølges hvert tryk kun af én test.
Eksempel 7: Kør i et mønster, indtil en tryksensor trykkes ind
Dette program får en robot til at gentage et mønster med at køre lige ud og derefter dreje, indtil en tryksensor, der fungerer som "stopknap" på robotten, trykkes ind. Når tryksensoren trykkes ind, stopper robotten, næste gang den har drejet. Programmet bruger en løkke i tilstanden Tryksensor til at gentage kørslen, indtil tryksensoren stødes (trykkes ind og derefter slippes).
Tips og tricks
Hvis du prøver at bruge dette program med Trykket ind i stedet for Stødt, vil du se, at når du trykker tryksensoren ind, får det normalt ikke robotten til at stoppe Prøv det! Det skyldes, at løkken kun tester sensoren kortvarigt, efter at de to Styring-blokke er afsluttet. Hvis du trykker sensorknappen ind og slipper den, mens Styring-blokkene kører, registreres tilstanden Trykket ind ikke. Ved brug af Stødt husker tryksensoren, at den tidligere har været trykket ind og sluppet.
Tryksensor-blokke og deres tilstande
I nedenstående tabel er vist alle de programmeringsblokke og tilstande, du kan bruge med tryksensoren.
BlokTilstandAnvendelse
VentTryksensor – SammenlignVent, indtil tryksensoren trykkes ind, slippes eller stødes.
VentTryksensor – SkiftVent, indtil tryksensorens tilstand ændres.
LøkkeTryksensorGentag en sekvens af blokke, indtil tryksensoren trykkes ind, slippes eller stødes.
ForgreningTryksensorVælg mellem to bloksekvenser alt efter, om tryksensoren er trykket ind eller ej, sluppet eller ej eller stødt eller ej.
TryksensorMålFå tryksensorens aktuelle tilstand (Trykket ind eller ej) på et logisk datakabel.
TryksensorSammenlignTest, om tryksensorens knap er trykket ind, sluppet eller stødt, og få resultatet på et logisk datakabel.
DataloggingSe Datalogging.
Tryk
Hurtige link