diff --git a/Rapport/Kopi af Aflevering 3.md b/Rapport/Kopi af Aflevering 3.md
new file mode 100644
index 0000000000000000000000000000000000000000..7714187f2dd25de98f7d6057c8abbfde8947afd9
--- /dev/null
+++ b/Rapport/Kopi af Aflevering 3.md	
@@ -0,0 +1,178 @@
+## NXT programming lesson 3 
+
+## MÃ¥l:
+
+Vores mål for denne aflevering er at løse uge opgaven til uge 8/9.
+
+## Exercise 1: 
+
+I denne exercise er formålet at montere NXT sound sensoren på lego robotten, placere robotten og lave nogle lyde fra forskellige afstande, for at se hvilke værdier lego robotten registrerer. 
+
+I denne øvelse har vi omsat de værdier sensoren outputter til rå data. Derudover har vi trukket 1023 fra de rå data, så den går fra 0 mod 1023 når den "senser" lyd, hvilket kan aflæses ud fra kode stumpen nedenfor: 
+
+![image alt text](image_0.png)
+
+Figur 1.1: I while løkken trækkes 1023 fra samt sættes til at læse rå data. 
+
+Som man kan se på billedet nedenfor, blev lego robotten placeret på gulvet, hvor vi målte 50, 100 og 150 cm ud fra vægen, hvorefter den ene person klappede imens den anden person kunne aflæse hvad legorobotten outputtede. 
+
+![image alt text](image_1.png)
+
+Figur 1.2: Billedet her viser forsøget med klap, hvor den målte afstand er ca. 50 cm. 
+
+Efter målte værdier af klap, prøvede vi med en anden lyd, nemlig fløjte. De aflæste værdier som lego robotten outputtede ud fra klap og fløjten kan ses i de to tabeller nedenfor. 
+
+Klap 
+
+<table>
+  <tr>
+    <td>Afstand</td>
+    <td>Målt værdi</td>
+  </tr>
+  <tr>
+    <td>50 cm </td>
+    <td>850-750</td>
+  </tr>
+  <tr>
+    <td>100 cm </td>
+    <td>600-500</td>
+  </tr>
+  <tr>
+    <td>150 cm </td>
+    <td>300-250</td>
+  </tr>
+</table>
+
+
+Fløjte 
+
+<table>
+  <tr>
+    <td>Afstand</td>
+    <td>Målt værdi</td>
+  </tr>
+  <tr>
+    <td>50 cm </td>
+    <td>260-240</td>
+  </tr>
+  <tr>
+    <td>100 cm </td>
+    <td>215-200</td>
+  </tr>
+  <tr>
+    <td>150 cm </td>
+    <td>115-90</td>
+  </tr>
+</table>
+
+
+
Man kan ud fra de to tabeller se at den målte værdi falder gradvist med afstanden, hvilket giver god logisk mening. Derudover kan man også se at Lego robotten måler relativt højere værdier for klap end fløjten. 
+
+## Exercise 2:
+
+Formålet med denne opgave er at bruge dataloggeren til at analysere de målte værdier som lego robottens lyd sensor registrere. 
+
+I dette eksperiment med dataloggeren målte vi lydværdier for fire klap, først to lave, og så to høje. Afstanden mellem lydkilden og mikrofonen er 50 cm, som kan ses på billedet nedenfor: 
+
+![image alt text](image_2.png)
+
+Figur 2.1: Lego robotten blev placeret på et bord hvor lydkilden og lego robotten havde en afstand på 50 cm. 
+
+Efter de målte klap, kunne vi plotte en graf ud fra dataloggerens sample fil, som kan ses På nedenstående graf med de målte værdier.
+
+![image alt text](image_3.png)
+
+Figur 2.2: Graf fra eksperimentet. Førsteaksen er tid i ms, og andenaksen er målte værdier.
+
+Grafen indikere de fire klap vi testede med, som man kan se på grafen kan de to små klap aflæses ved ca. 1300 og 2000, hvor de to store klap kan aflæses ved 2800 og 3300. Man kan se at grafen har et skarpt udsving ved hvert klap, dvs. at der kun er et målepunkt mellem ingen lyd og den højeste lyd, hvor den derefter har 2 - 3 målepunkter der ligger imellem stilhed og højeste lyd, hvilket måske skyldes ekko i lokalet. 
+
+## Exercise 3
+
+Formålet med denne opgave er at se hvordan lego robotten opfører sig med SoundCtrCar klassen. 
+
+I dette eksperiment fandt vi ud af at når mikrofonen registrerer en høj nok lyd, skifter bilen imellem fire tilstande opførelser. Køre fremad, dreje mod højre, dreje mod venstre, stå stille: 
+
+![image alt text](image_4.png)
+
+Figur 3.1: På billedet kan man se hvordan bilen drejer til en side, hvor personen prøver at klappe så bilen ændrer adfærd. 
+
+Vi har kigget i program koden for at forstå lego robottens opførsel, og der kunne vi se at programmets tærskel for lydværdier der får den til at skifte tilstand er 90. Programmet er opbygget ved at den efter hver "opførsel" kører en *waitForLoudSound *metode som venter på en høj lyd (højst sandsynlig en listener der venter på at tærsklen på 90 er nået), hvor den derefter påbegynder næste opførsel e.g fra at køre ligeud til højre. 
+
+## Exercise 4
+
+![image alt text](image_5.png)
+
+Figur 4.1: ButtonListener på escape-knappen, som registrerer et tryk ved at sætte flaget ‘stopped’ til true.
+
+Vi brugte klassen ButtonListener til at løse problemet som beskrevet i opgaven. De relevante ændringer kan ses på Figure 4.1, 4.2 og 4.3![image alt text](image_6.png)
+
+Figur 4.2:Version af metoden ‘Wait for loud sound’ som også stopped hvis vi har registreret et tryk.
+
+![image alt text](image_7.png)
+
+Figur 4.3: Main control loop. Som I ‘WaitForLoudSound’ metoden, stopper vi hvis der er trykket på escape, repræsenteret ved værdien af ‘stopped’
+
+## Excercise 5:
+
+Vi erstattede WaitForLoudSound med metoden WaitForClap som forsøger at genkende lyden af et klap på den måde som Sivan Toledo beskriver. På Figur 5.1 ses den ydre løkke i programmet, og på Figur 5.2 ses metoden WaitForClap.
+
+![image alt text](image_8.png)
+
+Figur 5.1: Istedet for at bruge WaitForLoudSound, venter vi nu i den ydre løkke på at metoden WaitForClap returnerer
+
+![image alt text](image_9.png)
+
+Figur 5.2: ‘WaitForClap’ er implementeret ved at måle, sammenligne og vente
+
+Metoden ‘WaitForClap’ er implementeret så enkelt som det kan lade sig gøre. Vi tager en måling, og hvis den er under tærskelværdien fra beskrivelsen, venter vi det tidsinterval på 25 ms der er specificeret og tager en ny måling. Hvis den så er *højere *end den næste tærskelværdi, er lydniveauet steget hurtigt nok til at det er plausibelt at det er et klap. Vi venter så det næste tidsinterval på 250 ms og måler igen. Hvis måling nu er under, er lyden også kortvarende nok, og vi sætter ‘clapDetected’, som får os ud af løkken. Håbet er at programmet nu er mindre sensitivt overfor tilfældig skramlen, folk der kalder og så videre.
+
+I programmet ovenfor, bliver der ikke kaldt sleep i løkken hvis støjniveauet er så højt at det første if-statement ikke indtrædes. Hvis man får store datafiler med mange logninger fra netop den linje, kan man indsætte et sleep yderst så vi måler og logger langsommere. Dog skal bemærkes at hvis baggrunds-lydniveauet er under 50, måler vi i forvejen ‘kun’ hvert 25 millisekund, og det interval skal lægges til basis-interval medmindre man indsætter det som et betinget ‘else’ statement som vist på Figur 5.3.
+
+![image alt text](image_10.png)
+
+Figur 5.3: Her tages en måling pr 25 millisekunder, uanset hvad baggrundsstøjniveauet er.
+
+Under første test af implementeringen blev de fleste klap ikke genkendt af robotten. Lydniveauet i lokalet var for højt, så værdierne ofte ikke var under tærsklen før eller efter klappet. Da vi gentog eksperimentet i et stille lokale, registrerede robotten alle klap. Forsøgsopstillingen ses på Figur 5.4
+
+![image alt text](image_11.png)
+
+Figur 5.4: Hvor vi gentog eksperimentet i et stille lokale
+
+![image alt text](image_12.png)
+
+Figur 5.5: Målinger for 4 klap. De målte værdier overstiger 85 for et klap. Den mellemliggende støj skyldes bilens motor.
+
+bemærk at bilen ikke kørte på gulvet i dette eksperiment. Når bilen kører på jorden er det sværere at klappe højt nok til at værdien overstiger 85, fordi der er større afstand mellem mikrofon og lydkilde.
+
+## Excercise 6
+
+![image alt text](image_13.jpg)
+
+Figur 6.1: Forsøgsopstilling til exercise 6. Her knipses der til venstre for bilen
+
+I dette forsøg blev der anvendt en LEGO 9797 bil som beskrevet i LEGO Mindstorms Education NXT Base Set 9797 dog med påmonteret to mikrofoner som ses på figur 6.1.
+
+Under dette forsøg bliver lydstyrken i starten målt ligesom i Exercise 5. Det bliver dog klart, at ud fra de første eksperimenter hvor vi knipser foran mikrofonen og aflæser output fra sensorerne, at værdierne ikke var de samme selvom de blev udsat for samme lydstyrke. Den ene mikrofon blev skiftet ud, hvilket gav nogle værdier der mindede mere om hinanden, men ofte kunne de ikke skelnes ordentligt. Derfor blev forsøget ændret således at det var raw-værdier der blev anvendt til opgaven. Da der blev anvendt raw-værdier, var det lettere at skelne mikrofonens signaler fra hinanden, når lyden blev genereret fra forskellige steder. 
+
+På figur 6.2 ses hvordan type og mode er blevet sat, for at det er muligt at aflæse raw-værdier fra lyd-sensorerne.
+
+![image alt text](image_14.png)
+
+Figur 6.2: Ses hvordan type og mode sættes for at aflæse raw-værdier.
+
+Vi prøvede herefter også at ændre på bilen for at give en større forskel mellem de to højttaler drejede vi dem 45 grader i hver sin retning som ses på figur 6.3.
+
+![image alt text](image_15.jpg)
+
+Figur 6.3: Modifikation af højtaler arm
+
+Dette gav hjalp med at give en større forskel mellem outputtet af de to højtalerne.
+
+På figur 6.4 ses det koden der får bilen til at følge musikken. Eksklusiv Car.java, som også blev anvendt.
+
+![image alt text](image_16.png)
+
+Figur 6.4: Sensor-værdier aflæses og bilen kører frem, drejer til højre og venstre i forhold til sensor-værdierne.
+
+Når raw-værdierne aflæses får man dem, hvor værdierne bliver lavere jo mere lyd der er, dette ændredes ved at trække den aflæste værdi fra 1023. Dette blev gjort for at få det til at virke mere logisk at arbejde med, hvor lydniveauet stiger, når der er højere musik. Først tjekkes det om den venstre mikrofons raw-værdi er mere end 30 større end højre mikrofons raw-værdi, hvis dette er tilfældet, sænkes farten på den venstre motor, så bilen drejer til venstre. Det samme gøres, hvis den aflæste højre mikrofons sensor-værdi er mere end 30 større end den venstre mikrofons. Der blev også forsøgt, hvor raw-værdierne skulle være mere end 50 større end den anden, men dette blev sænket i et forsøg på at gøre bilen mere sensitiv overfor musikken. Det hjalp en lille smule, men det fungerede stadig bedst at holde højtalerne tæt på mikrofonerne, som ses på videoen: [https://gitlab.au.dk/group16-16/Lesson3/blob/master/VID_20160229_134747.mp4](https://l.facebook.com/l.php?u=https%3A%2F%2Fgitlab.au.dk%2Fgroup16-16%2FLesson3%2Fblob%2Fmaster%2FVID_20160229_134747.mp4&h=nAQEhGJo4)
+
diff --git a/Rapport/image_0.png b/Rapport/image_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a72a764ad99e19eb8f976f9b2a9664273f20f2f
Binary files /dev/null and b/Rapport/image_0.png differ
diff --git a/Rapport/image_1.png b/Rapport/image_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..00fe0c4b863b06b793e1ac75ddea81c9a95e13b7
Binary files /dev/null and b/Rapport/image_1.png differ
diff --git a/Rapport/image_10.png b/Rapport/image_10.png
new file mode 100644
index 0000000000000000000000000000000000000000..69514d3f9b4b8d26e8a48efce8ead261b3ac3f13
Binary files /dev/null and b/Rapport/image_10.png differ
diff --git a/Rapport/image_11.png b/Rapport/image_11.png
new file mode 100644
index 0000000000000000000000000000000000000000..24c9d0f6bba6b286286bc5660ec2c2fd85bc0e43
Binary files /dev/null and b/Rapport/image_11.png differ
diff --git a/Rapport/image_12.png b/Rapport/image_12.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1cdf5b1cf3f1f12419819668be0f893d40806ac
Binary files /dev/null and b/Rapport/image_12.png differ
diff --git a/Rapport/image_13.jpg b/Rapport/image_13.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..217c9a5b48b77931dfe9ec0c80d2f060f2b74df8
Binary files /dev/null and b/Rapport/image_13.jpg differ
diff --git a/Rapport/image_14.png b/Rapport/image_14.png
new file mode 100644
index 0000000000000000000000000000000000000000..02ad42b2c29380126f619808399fbede089c994c
Binary files /dev/null and b/Rapport/image_14.png differ
diff --git a/Rapport/image_15.jpg b/Rapport/image_15.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..54df2c8ea83d8f9db9d3a40f215ac10bb0aaf403
Binary files /dev/null and b/Rapport/image_15.jpg differ
diff --git a/Rapport/image_16.png b/Rapport/image_16.png
new file mode 100644
index 0000000000000000000000000000000000000000..00fdd3d033095801fdd4f8a32e803a06375d62c9
Binary files /dev/null and b/Rapport/image_16.png differ
diff --git a/Rapport/image_2.png b/Rapport/image_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..69e05bacea0dcc83e0be5d6fbc57f9b4957676da
Binary files /dev/null and b/Rapport/image_2.png differ
diff --git a/Rapport/image_3.png b/Rapport/image_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..c15bd811425ad8647ef56b76e7e1f216b2db5e21
Binary files /dev/null and b/Rapport/image_3.png differ
diff --git a/Rapport/image_4.png b/Rapport/image_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..6baa5a01cc5d56b4c1731533b3493b3d8c1eb1f4
Binary files /dev/null and b/Rapport/image_4.png differ
diff --git a/Rapport/image_5.png b/Rapport/image_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..b41f745d5219d9d241593abb4a42f48cb5015e0c
Binary files /dev/null and b/Rapport/image_5.png differ
diff --git a/Rapport/image_6.png b/Rapport/image_6.png
new file mode 100644
index 0000000000000000000000000000000000000000..19aa961a1e00d31031cb0ed7ce57a207c2f76ae0
Binary files /dev/null and b/Rapport/image_6.png differ
diff --git a/Rapport/image_7.png b/Rapport/image_7.png
new file mode 100644
index 0000000000000000000000000000000000000000..27cf59ee0762f70cdac12018059e44bcfb889d78
Binary files /dev/null and b/Rapport/image_7.png differ
diff --git a/Rapport/image_8.png b/Rapport/image_8.png
new file mode 100644
index 0000000000000000000000000000000000000000..10dc329798af48d8dbeb0c74924ef3685ef819c0
Binary files /dev/null and b/Rapport/image_8.png differ
diff --git a/Rapport/image_9.png b/Rapport/image_9.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b44b91a75b2f862ed400fa487bb568c8d78f9cd
Binary files /dev/null and b/Rapport/image_9.png differ