Stary mysz komputerowa zamienia się w aparat cyfrowy

Förr i tiden, när jag fortfarande var en pojke, hade våra datormöss kulor. De var mekaniska enheter som mätte bollens rotation i två axlar. Sedan dök optiska möss upp och allt förändrades. De hade bättre precision, högre hastighet och krävde inte rengöring. Till och med moderna trackballs, som den jag använder för att skydda mina handleder, använder optiska sensorer. Dessa optiska sensorer liknar de som finns i digitala kameror, så Doktor Volt gjorde något naturligt och omvandlade en gammal optisk mus till en fungerande digitalkamera.

De optiska sensorerna i en datormus och CMOS-sensorn i en modern digitalkamera liknar varandra till ytan, eftersom de båda producerar en tvådimensionell matris av pixlar. Den optiska musen analyserar skillnaderna mellan bilderna för att avgöra hur långt den har flyttats och i vilken riktning. Därför fungerar optiska möss inte bra på väldigt släta, enhetliga ytor: pixlarna ser alla likadana ut, så den kan inte uppfatta skillnaderna mellan bilderna. Men en optisk mus behöver inte en mycket hög upplösning eller färg för att utföra sin uppgift, så dessa sensorer är inte ens jämförbara med de billigaste digitala kamerorna från några decennier sedan.

I det här fallet använde Doktor Volt en sensor från en äldre optisk mus, som har en upplösning på 18×18 pixlar. Med sin pålitliga oscilloskop läste han utdata-signalen från denna sensor. Sensorn ger en tabell med hexadecimala värden för var och en av de 324 pixlarna för varje bild. Han använde sedan en ESP32-utvecklingskort för att läsa dessa data och visa dem som en bild på ett tidigare skapat webbgränssnitt för ett annat projekt.

Den råa pixelsignalen direkt från sensorn är praktiskt taget obegriplig för den mänskliga ögat på grund av dess låga upplösning. Det är därför Doktor Volt beslutade att använda interpolering för att uppnå bättre resultat. Interpoleringsalgoritmer skapar nya datapunkter baserat på en begränsad uppsättning data. Det finns många olika algoritmer som passar för specifika tillämpningar. Doktor Volt upptäckte att kubisk interpolering fungerar bra i det här fallet. Det är lite som scenerna där man ”förbättrar videon!” i CSI-program och kan skapa en högre upplösning baserat på lågupplösta bilder.

Det fungerade för föremål direkt under sensorn, men Doktor Volt ville använda den som en kamera. Därför 3D-printade han en hållare för CS-monterad lins till Raspberry Pi. Detta gjorde det möjligt för kameran att fokusera på föremål som placerades på måttligt avstånd.

Resultatet är fortfarande inte perfekt – det är långt ifrån den förlorade Game Boy Camera från 90-talet. Men det är coolt att se igenkännbara bilder komma från en datormus.

FAQ:

The source of the article is from the blog girabetim.com.br