Klap en tegning - interaktion med robotten under tegning

Sidst opdateret 27.8.12.

I byggevejledningen for robotbilen, side 24-26, ses hvordan en lydsensor - en mikrofon, kan monteres på siden af bilen og tilsluttes NXT på port 2:
Værktøjet View på NXT kan bruges til at se, hvad de enkelte sensorer måler f.eks. hvordan lydsensoren tilsluttet port 2 måler lyd omkring lydsensoren. Brug de to lysegrå knapper og på NXT til at finde View blandt de valg som kan foretages lige efter NXT er tændt:
Når View vises midt på skærmen, vil et tryk på den orange knap bringe symbolet for lydsensoren frem - Sound dB. Endnu et tryk på orange vælger lydsensoren. Dernæst bruges de to lysegrå knapper til at finde port 2 og endelig vil endnu et tryk på den orange knap vise den aktuelle lydsensor måling på skærmen:
Målingen viser, hvor kraftig lyden er omkring lydsensoren. Vises 0 er der helt stille; vises 100 registrerer lydsensoren en ganske kraftig lyd. Prøv at tale sagte, at klappe, at holde lydsensoren langt væk fra et klap eller prøv blot at puste på lydsensoren. Aflæs værdien på skærmen og få en fornemmelse af hvordan sammenhængen er imellem lyde omkring lydsensoren og lydsensorens målinger, som er de værdier, der vises på skærmen.

På side 27 i byggevejledningen er vist et program, som får robotbilen til at køre frem og tilbage styret af lyd, f.eks. klap:

Symbolet i den femte blok får programmet til at gentage det som symbolerne i de fire første bokse får robotbilen til, nemlig:
  1. kør frem mod højre,
  2. vent til lydsensoren måler en kraftig lyd,
  3. kør tilbage mod venstre,
  4. vent til lydsensoren måler en kraftig lyd.
Værktøjet NXT Program kan bruges til at lave et sådant program, som gør det muligt f.eks. med klap at bestemme, hvornår robotbilen skal skifte imellem de to bevægelser: frem mod højre og tilbage mod venstre. Brug de to lysegrå knapper og på NXT til at finde NXT Program blandt de valg som kan foretages lige efter NXT er tændt:
Når NXT Program vises midt på skærmen vil et tryk på den orange knap gøre det muligt at fylde symboler i boksene og lave et program, som ovenfor, der styrer robotbilens bevægelser ved hjælp af lyd. Prøv jer frem eller se en vejledning i at programmere en NXT uden brug af PC, såkaldt håndholdt programmering.

Se på videoen hvordan programmet får robotbilen til at bevæge sig, mens der klappen fire gange:

Robotbilen kører frem mod højre indtil første klap, derefter kører robotbilen tilbage mod venstre. Næste klap får bilen til lige at stoppe op et øjeblik men så fortsætter bilen tilbage mod venstre. Næste klap får bilen til igen at køre fremad mod højre. Sidste klap ignoreres tilsyneladende af programmet. Bilen fortsætter blot.

Det håndholdte program kan bruges til at klappe en tegning:

De fleste klap vil få robotbilen til at reagere og nogen klap vil få robotbilen til at skifte retning to gange hurtigt efter hinanden. I stedet for klap kan robotbilen under tegningen styres med musik, f.eks. fra en mobiltelefon. Prøv med forskellig slags musik og hold mobiltelefonen i forskellig afstand til lydsensoren, så musikken spilles med forskellig styrke. Når musikken spiller, kan det nogen gange se ud som om robotbilen tegner, mens den danser til musikken.

For at lave et program som reagerer mere præcist på klap end det håndholdte program, skal NXT programmeres fra en PC, se programmering. Som et første skridt forsøges med et program, der ligner det håndholdte:

De to konfigureringspanener for kør ikonerne ser således ud:
Retning er sat til frem og tilbage i de to kør ikoner. Samtidig er den hvide markering i Styring ført næsten helt ud til henholdsvis højre og venstre. Det får robotbilen til at køre frem mod højre og tilbage mod venstre i de to kør ikoner.

Vent-lyd ikonen hentes fra standardpalettens timeglas ikon:

Indstillingen af vent-lyd ikonen sker således i konfigurationspanenet:
Under Port sættes portnummeret til 2 og under Indtil sættes den såkaldte tærskelværdi til 50. Det betyder, at lydsensoren skal måle en lydstyrke på over 50 før programmet går videre fra vent-lyd ikonen. Det er tærskelværdien, som bestemmer hvor kraftig en lyd lydsensoren skal måle inden programmet går videre. Sættes tærskelværdien op skal der klappes kraftigere, sættes værdien ned kan det være, at lyden fra motorerne får robotbilen til at skifte hurtigt imellem at køre frem og tilbage. Prøv forskellige værdier.

På videoen kan det ses, at klap kan være så sagte, at robotbilen ikke reagere på dem. Det er tærskelværdien i de to vent-ikoner som afgør, hvor kraftigt et klap skal være, før robotbilen reagerer.

På videoen kan det også ses, at klap kan få robotbilen til lige at stoppe op for derefter blot at fortsætte. Det ser ud som om robotbilen når at skifte retning to gange, selvom der blot klappes en enkelt gang. For at finde ud af om det er tilfældet, kan det være nyttigt at forstå, hvordan et klap ser ud så at sige set fra robotbilens lydsensor. Kort sagt, hvordan ser lydsensorens målinger ud, når der klappes i nærheden af lydsensoren. I A Clap Counter har Sivan Toledo undersøgt hvilke værdier en lydsensor måler, når der klappes i nærheden af lydsensoren:

Lydsensorens målinger, værdier imellem 0 og 100, er afsat som sorte punkter i et koordinatsystem med tiden i millisekunder udad x-aksen og måleværdierne udad y-aksen. Punkterne er forbundet med røde linier. Figuren til venstre viser, hvordan syv klap ser ud som lydsensor målinger foretaget over en tidsperiode på cirka 9 sekunder. Alle klap registreres som lydmålinger nær 100. Med en tærskelværdi på f.eks. 50 vil alle de syv klap altså blive registreret af vent-ikonen i programmet.

Figuren til højre viser de tre første klap i større detalje. Her ses, at et klap tager tid. Omkring 200 til 300 millisekunder. Et vent-ikon kan altså i starten af et klap registrere en lydmåling over tærskelværdien, programmet går så videre og starter bevægelsen efter vent-ikonen. Hvis dette går hurtigt nok - og det gør det, computere er hurtige, vil det næste vent-ikon kunne nå at registrere det sidste af klappet som en lydværdi over tærskelværdien og så får det samme klap programmet til at gå videre også fra det andet vent-ikon og starte den næste bevægelse. Med andre ord et klap opdages af to vent-ikoner.

Hvis det skal hindres at et klap skal registreres to gange kan programmet ændres så klap registrering foregår ved hjælp af to vent-ikoner. Det første vent-ikon venter til lydmålingerne er over en tærskelværdi, f.eks. på 50. Der ventes altså på starten af et klap. Det andet vent-ikon venter til lydmålingerne er under en anden lavere tærskelværdi, f.eks. 30. I det andet vent-ikon ventes altså til klappet er færdigt. På figurerne ses at alle målinger er under 30 når der ikke klappes. Programmet ser altså sådan her ud:

Med den lave tærskelværdi for de to nye vent-ikoner sat til 30 i det tilsvarende konfigurationspanel:
Prøv med forskellige tærskelværdier for kraftig og svag lyd.

Robotbilen reagerer på vink eller blink

I byggevejledningen side 31 og side 39 ses hvordan en ultralydssensor og en lyssensor kan monteres på robotbilen:
Med to håndholdte programmer kan robotbilen bringes til at reagere på vink og blink:
Inden de to håndholdte programmer prøves kan det være nyttigt med værktøjet View at finde ud af hvad de to sensorer måler. Prøv derefter med de to håndholdte programmer. Forklar hvad der sker.

Prøv endelig at lave to tilsvarende programmer på PC. Til det formål skal vent ikonen bruges nu med ultralydssensor og lyssensor i stedet for lydsensor og måske andre tærskelværdier end de som står i konfigurationspalelet til at starte med:

Prøv også at lave programmer som bruger flere sensorer.