Ultrasonic Batgoggles (8 / 14 steg)
Steg 8: Upload kod
Koden fungerar genom att spela pip och sedan varierande mellan pip intervallen utifrån avståndet mätt av sensorn. Så om du är nära ett objekt, mellan pip intervallen minskar och Piper uppstå snabbare. Om du är långt borta från ett objekt, ökar mellan pip intervallen så bleeps sker långsammare. Styrenheten kontrollerar avståndet varje 60ms, så mellan pip intervallen ändras dynamiskt. För närvarande är det skalas så att 1 tum gör 10ms skillnad i mellan pip intervall. Detta gör glasögon fungerar bättre för närmare avstånd, men kan ökas för att fungera bättre för längre avstånd. Jag försökte en exponentiell skala som ökat utbud på närmare avstånd (med fscale men det verkade inte ändra svaret mycket i utbyte mot massor av kod, så jag skrotade den.) Sedan den tid det tar för att läsa avståndet beror på avståndet för objektet som kände (sensor returnerar pulser upp till 30ms lång) koden mäter den tid det tog för att få behandlingen och kompenserar fördröjningstiderna med detta belopp.
Varje rad på koden är kommenterade och är (förhoppningsvis) självförklarande.