Thursday, September 16, 2010

Lego labøvelse 3


SoundSensorTest
I starten af øvelsen monterede vi lydsensoren på fronten af vores robot så vi kunne teste vores første testprogram SoundSensorTest.java. Dette program er meget lige UltraSonicTest.java hvor vi ændrede Sensor porten til SoundSensor og læste dB i stedet for distance.

Ved at stille robotten på et punkt hvorfra vi ændrede vores afstand til robotten kunne vi aflæse at dB værdien ændrede sig alt efter hvor langt eller tæt på vi var fra robotten.

SoundSensorTest.java

Datalogger
Tilføjelsen af dataloggeren til vores robot gik smertefrit. Det samme kan også siges om testen af selve loggeren. Til selve graf repræsentationen af vores indsamlede data krævede det dog at vi ændrede en smule i datalogger klassen så den skrev ud i et format vi kunne bruge sammen med GnuPlot.

DataLogger.java

Vi har lavet et plot hvor vi laver lidt forskellige lyde:













Sound controlled car
Ved testen af SoundCtrCar.java fandt vi ud af at robotten står og venter på at registrere en høj lyd, i koden er det speciferet til at være 90 dB (LeJOS defination af dB). Efter at have registreret en høj lyd cykler robotten igennem en prædefineret sekvens af bevægelser: frem, højre, venstre, stop.

For at løse problemet med at escape er i det yderste loop laver vi en button listener hvis funktion er at lytte efter tryk på bestemte knapper og på den måde bryde vores loop.

SoundCtrCar.java

Clap controlled car
Ved implementationen af vores klap kontrollerede bil fandt vi ud af at det er noget vanskeligere at definere et klap i forhold til bare at registrere en høj lyd. Nogen af de problemer vi løb ind i var at timingen skulle være rigtig for at definationen var korrekt. Desuden så var der også den faktor at vi sad i et stort lokale med masser af andre grupper der larmede, hvilket vores robot selvfølgelig også registrede.

ClapCar.java

No comments:

Post a Comment