Bird Box

Jeg så den mye omtalte Netflix-filmen «Bird Box» (2018) med Sandra Bullock for en stund siden. Bare så det er sagt så kommer det nå noen små spoilers for de som ikke har sett den. Hvis noen lurer så er filmen grei den, men jeg holder en finger på «A Quiet Place» (2018) som er litt i samme sjangeren. Dette har ikke noe med at jeg liker fantastiske Emily Blunt bedre enn Sandra, men rett og slett for at jeg synes «A Quiet Place» er mer spennende. Tilbake til Bird Box. Filmen handler om «slemminger» som får deg til å begå selvmord straks du ser dem. Så skal du overleve så er trikset å gå med bind for øyene som filmplakaten i dette innlegget hinter om. Å være blind har jo sine utfordringer når man skal navigere rundt i en apokalyptisk verden hvor alle rundt deg tar liv av seg. Historien går over flere år så karakterene får jo etterhvert mye erfaring med å være blind, men jeg synes ikke de har den rette lærekurven. De snubler og føler rundt seg meg hendene selv etter årevis med trening. Egentlig litt rart at karakterene ikke benytter seg av teknikker som blinde har brukt i årevis – nemlig mobilitetsstokk. Tilbake til sakens kjerne. Når jeg satt der i sofaen (med ei pils) og fulgte historien så gjorde jeg meg opp en del tanker om hvordan se uten å se. Det umiddelbare som slo meg var å se ting gjennom et videobilde gjerne med forsinkelse og med IR-lys. Dette ble raskt parkert da en som sitter og ser på nettopp videoovervåkning tar liv av seg. Jeg regner med at viltkamera/FLIR-kamera vil gi den samme selvmordseffekten selv om dette ikke nevnes i filmen hvis jeg husker rett i farta. Okey, hvis man ikke kan se med bilder da må man se med lyd var konklusjonen min. Filmen bekrefter akkurat dette da ingen av karakterene tar selvmord når de kikker på parkeringssensordisplayet i en bil de bruker. Jeg funderte en del på en teknisk løsning på problemet. Forresten så regnes mobilitetsstokk ikke som en teknisk løsning bare så det er sagt. Det var naturlig for meg å sette noen rammer basert på at jeg måtte klare meg med det jeg hadde i hus. Som Matt Damon sa i «The Martian» (2015): «I’m going to have to science the shit out of this.». Lydens hastighet i luft (i 22.2 °C som det var her på stua) er 344.8 m/s. Som de aller fleste av oss vet så er avstand = fart x tid og skal man måle et ekko så tar det dobbelt så lang tid. Hvis ekkotida måles i mikrosekunder og man ønsker å måle avstand i cm blir formelen slik:


s = avstand målt i cm.
c = lydens hastighet i luft (her 22.2 °C)
t = tid for ekko målt i mikrosekunder

Det man trenger nå er en eller helst flere lydsensorer, en dings til å gjøre beregningene og få presentert dataene på en fornuftig måte på et display. Det viste seg at jeg hadde alt jeg trengte liggende i boda mi. Jeg hadde kjøpt en billig parkeringssensorpakke fra Kina for et annet prosjekt som kunne passe her. Pakken kostet rett under $11 med frakt. Den består av fire sensorer (beregnet for å monteres i støtfanger på en bil), en kontrollboks (denne gjør beregningene over og sparte meg for mye arbeid. Omtales videre i innlegget som «kontroller».) og et simpelt display. Sensorene måler avstand fra 0 til 250 cm. At hele morroa går på 12V burde ikke komme som ei bombe siden dette er bilutstyr. I teorien kunne man nå ha montert sensorene på ei fjøl, koblet på et batteri og brukt det kjipe displayet til å navigere seg rundt. Problemet er at utforminga på displayet (se bildet under) ikke er optimal.

Det jeg trenger er å presentere data fra alle fire sensorer samtidig, og ikke bare høyre eller venstre side av bilen og et enkelt avstandstall. Spørsmålet nå er hva signal kontrolleren sender på monitor-porten til displayet. Jeg sjekket signalet med et digitalt oscilloskop og signalet så digitalt ut (som egentlig ikke er noen bombe) og innenfor spenningen som logikkanalysatoren min håndterer. Logikkanalysatoren genererte følgende diagram av signalet:

Systemet bruker PBM (pulsbreddemodulasjon) til kommunikasjonen. Pulser med kort pulsbredde er logisk 0, og pulser med lang pulsbredde er logisk 1. Det viser seg at det sendes en 3 byte stor pakke fra hver sensor. Den første byten forteller hvilken sensor det er og de to siste avstand i cm. Jeg fikk med andre ord data fra alle de fire sensorene ut på monitor-porten på en enkel måte. Jeg koblet monitor-porten på kontrolleren til en Raspberry Pi jeg hadde liggende. Det var ikke rare programmeringen som skulle til før jeg hadde et skjermbilde som jeg selv mener er mer intuitivt. Jeg har dessverre ikke noe godt bilde av skjermen (TV tilkoblet Raspberry Pien på HDMI), men jeg har tegnet en skisse som viser konseptet.

De fire hvite boksene representerer de ulike sensorene. Jo større en hvit boks er jo nærmere er man noe. Det man ser her er et bilde av hvordan det ser ut å kikke nedover en gang. Veggene på hver side er 50 cm unna og veggen i enden av gangen er ca 230 cm unna. De hvite boksene endrer størrelse avhengig av avstanden som sensorene måler til et objekt. Når jeg beveget meg nedover gangen ble de to boksene i midten større og større. Når jeg gikk forbi en døråpning kunne jeg se hvordan boksene endret seg i døråpningen. Får jeg tid så skal jeg montere alt på en hjelm. Utstyret vil bestå av et 12V litiumbatteri (lav vekt) og kontrolleren selvsagt. Det er mulig at jeg monterer batteri og kontroller-kortet i en mer sprutsikker boks som festes til hjelmen. Raspberry Pi (eller en annen mindre MCU f.eks. en Parallax Propeller Mini) med skjerm(er) monteres i en billig VR-brille for mobiltelefon. Sensorene monteres i front på hjelmen og vips så er man klar til dommedag!