Automatiserad digitalisering av diabilder

Berätta om dina pågående projekt.
mAVRick
Inlägg: 319
Blev medlem: 19 mars 2013, 12:43:43
Ort: Östersund

Automatiserad digitalisering av diabilder

Inlägg av mAVRick »

Tänkte jag skulle skriva av mig lite om mitt senaste projekt. Det är mest för min egen skull som jag 'dokumenterar' projektet här, men kanske det kan intressera någon annan också.
Jag började med att söka runt på nätet efter hur man skulle kunna gå till väga. Tilläggas bör kanske, att jag själv är inte minsta fotointresserad (men frugan hade en period för några år sedan).
Det verkade iaf finnas en del lösningar, men jag fastnade för att fotografera av dem med frugas digitala systemkamera. Jag hade sett att det fanns de som använt en diabildsprojektor för att automatisera jobbet och det blev således planen, kanske mest för att det är sånt jag själv tycker är kul. Jag spenderar hellre en vecka på att bygga automatik, än en vecka med manuellt arbete.

Till det här behövs ett makroobjektiv. Frugan hade inget makro och jag hade ingen lust att hosta upp stålarna för att köpa ett. Så, första problemet var att fixa makro på en budget.
Lösningen blev mellanringar. För 135kr, ropade jag in en uppsättning mellanringar av lägsta möjliga made-in-china kvalitet från eBay UK.

Medan jag väntade på på leverans, så kunde jag inte hålla mig, utan köpte även en beg. projektor på blocket för 400kr.
1_carousel_s.jpg
Har var det västtysk kvalitet istället. Byggd för att hålla kan man lugnt säga. Jag fick testköra projjen vid inköpstillfället, men naturligtvis gick lampan så fort jag skulle dra igång den hemma.
Ingen jättepanik, för det sitter normalt en 150W halogen i den. Det är lite i mesta laget för det jag vill använda den till, så jag började leta ersättningslampa. Det var inte helt enkelt, men till slut hittade jag den här:
https://e-lampor.se/osram-halostar-24v-gy6-35-50w.html

Linsen på projektorn kan man bara skruva ur, så det som var kvar att lösa på projektorn, var diffusering av ljuset bakom diabilden. Nu var det så fint löst, att i (iaf den här) projektorn fanns det en ledig plats för ett filter. Så jag klippte helt sonika ut en passande plastbit ur ett gammalt glasspaket (av märket Sia) och stoppade in det på rätt plats.
2_diffusering.jpg
Och nu kommer vi till själva projektet med automatiseringen. Projektorn har en fjärrkontrollingång av typen DIN-6 hona.
3_din6.png
Efter en hel del googlande, lyckades jag ändå inte hitta en pinout. Det enda jag lyckades hitta var att det möjligen kunde röra sig om pin 1, 2 och 3 och att det antagligen är så enkelt som att kortsluta några av dessa tåtar för att byta bild. Med multimeter och knapparna på projjen, mätte jag mig fram till att 3 antagligen var 'common', 2 framåt, och 3 bakåt. (För att vara helt ärlig, så lyckades jag ändå blanda ihop framåt och bakåt när jag lödde ihop prylarna, så tittar man på filmen längre ner, så går karusellen baklänges...)

Kameran har också en remote-ingång (2.5mm stereoplugg)
4_canon.png
Och samma där, det ska tydligen duga med att kortsluta pinnarna för att simulera knapptryck.

Så det som behövs göras är att sluta en kontakt (till projektorn) i några hundra millisekunder för att byta bild, vänta (ca 1 sekund) på att bilden byts, sluta en annan kontakt till kameran för att ta bilden (och sen börja om).
Det går säkert att göra med optokopplare eller annat, men jag körde med reläer, för det borde garanterat kunna fungera istället för en fysisk knapp.

Nu fick jag dessutom lite hybris och tänkte jag skulle bygga nåt som var lite snyggt (nåja, utvändigt iaf) och inbyggt i en liten låda.
Så för att få plats i lådan, köpte jag dessa reläer:
https://www.kjell.com/se/sortiment/el-v ... 0-v-p36111

Och så en Arduino Pro Mini för att sköta timingen. Inga bilder på själva bygget, men så här blev resultatet.
5_ci.jpg
6_co.jpg
Lådan strömmatas med en 12V väggvårta, denna 12V går in på RAW till Arduinon och reläerna dras vardera (via ett 1k motstånd på basen) av en transistor från Arduinon. Jag vet inte om det behövs en skyddsdiod för så här små reläer, men jag kastade in det ändå.

Tryckknapparna på ena sidan byter bild på projektorn (framåt, bakåt) och på andra sidan tar en bild samt fokus på kameran. Reläerna är kopplade parallellt med 'framåt' och 'ta bild' knapparna. Lite extra omständigt kanske, men det fina är nu att 'lådan' kan (även utan strömmatning) användas som färrkontroll till både kameran och projektorn om så skulle önskas. Och dessutom att manuellt kunna byta bild framåt/bakåt, samt ta kort utan att skaka kameran är väldigt trevligt när fokus och bländare ska justeras in.
Sen har jag även en pot och det är för att kunna ställa in antalet bilder, samt fördröjningen mellan bilder. Precis under pot:en finns ytterligare en knapp som är inkopplad till Arduinon, för att kontrollera automatiken.

Funktionen är som sådan, att med potten kan man ställa in mellan 0,5 till 4,5 sekunders fördröjning efter att en bild tagits tills det att nästa matar fram. Sen håller man knappen intryckt > 400ms (alltså "lång" knapptryckning) för att spara detta värde till EEPROM.
En kort knapptyckning (<400ms) startar istället automatiken. Då läses potten av och omvandlas till ett värde mellan 10 och 80. Detta är det antal bilder som kommer tas. Den kommer dock alltid att mata fram karusellen 81 gånger, då dessa rymmer 80 bilder + en tom position och man kan bara ta i/ur karusellen när den är frammatad till den tomma positionen. Men man sparar lite tid (och plats) om man inte behöver ta en massa onödiga kort om karusellen är t.ex. bara är halvfull.
När den kör automatiken, kan man även pausa (kort knapptryck) eller avbryta (långt knapptryck).

Åsså, lite arduino kod då

Kod: Markera allt

#include <EEPROM.h>
#define POTPIN    A0
#define BUTTONPIN A1
#define OUT1PIN   A2
#define OUT2PIN   A3

unsigned char slidedelay;

void setup() {
  pinMode(BUTTONPIN, INPUT_PULLUP);
  Serial.begin(115200);
  Serial.println("Wait for keypress...");
  slidedelay = EEPROM.read(0);
}

void loop(){

  static unsigned int lastMillis = millis();
  static unsigned char carouselcounter = 0;
  static unsigned char slidecounter = 0;
  static unsigned char delaycounter = 0;
  static unsigned char state = 0;
  static unsigned char button = 255;
  static unsigned char pause = 0;
 
  unsigned int nowMillis = millis();

  if(nowMillis - lastMillis > 50){
    button = (button << 1) | digitalRead(BUTTONPIN);

    if(carouselcounter == 0){
      if(button == 0x1){
        int analogv = analogRead(POTPIN);
        slidedelay = map(analogv, 0, 1024, 91, 10);
        EEPROM.write(0, slidedelay);
        Serial.print("Slidedelay: ");
        Serial.println(slidedelay);
      } else if((button & 0x3) == 0x1){
        int analogv = analogRead(POTPIN);
        slidecounter = map(analogv, 0, 1024, 81, 10);
        Serial.print("Slides: ");
        Serial.println(slidecounter);
        carouselcounter = 81;
        state = 3;
        delaycounter = 0;
        pause = 0;
      }
      digitalWrite(OUT1PIN, LOW);
      digitalWrite(OUT2PIN, LOW);
    } else {
      if(button == 0x1){
        carouselcounter = 0;
        Serial.println("Reset, waiting for keypress...");
      } else if ((button & 0x3) == 0x1) {
        pause = !pause;
        Serial.print("Pause: ");
        Serial.println(pause);
      } else if(!pause) {
        if(delaycounter > 0){
          delaycounter--;
        } else {
          switch(state & 0x3){
            case 3:
              digitalWrite(OUT1PIN, HIGH);
              delaycounter = 4;
              state = 2;
            break;
            case 2:
              digitalWrite(OUT1PIN, LOW);
              delaycounter = 25;
              carouselcounter--;
              Serial.print("Loop: ");
              Serial.println(carouselcounter);
              state = (slidecounter == 0) ? 3 : 1;
            break;
            case 1:
              digitalWrite(OUT2PIN, HIGH);
              delaycounter = 4;
              state = 0;
            break;
            case 0:
              digitalWrite(OUT2PIN, LOW);
              delaycounter = slidedelay;
              slidecounter--;
              Serial.print("Slides: ");
              Serial.println(slidecounter);
              state = 3;
            break;
          }
        }
      }
    }
    lastMillis = nowMillis;
  }
}
Nu går det att bara tuta och köra, men jag valde att göra en grej till... Jag vill helst inte skjuta till kamerans minneskort, utan direkt till hårddisk. Så jag installerade gphoto2 på min Asus eee och kopplade in kameran med USB.
Då kan man välja att spara bilderna till kamerans interna RAM istället för på minneskortet, samt att den automatiskt laddar hem bilderna från RAM.
Det tar dock lite extra tid att föra över bilderna från kameran (därav möjligheten att ställa in fördröjning mellan bilderna på Arduinon).

Kod: Markera allt

gphoto2 --capture-tethered --filename DIA_%H%M%S.%C
Har är en kort videosnutt på hur det ser ut när hela uppsättningen är 'in action'


På det hela taget måste jag säga att jag är jag är nöjd med den här lösningen.

Och till sist några exempel på resultatet (dock nedskalade för presentation på forument)
7_flygplan.jpg
8_flygdag.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32629
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: Automatiserad digitalisering av diabilder

Inlägg av HUGGBÄVERN »

Mycket kul projekt och intressant som inspiration för oss med många diabilder. :tumupp:
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Automatiserad digitalisering av diabilder

Inlägg av TomasL »

Eller också så köper/hyr man en för ändamålet avsedd skanner, då en kamera inte, enligt mitt tycke har tillräckligt hög upplösning, dessutom finns det inga infraröda funktioner på en kamera, eller i projektorn, vilket är mycket bra att ha när man skannar dia.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32629
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: Automatiserad digitalisering av diabilder

Inlägg av HUGGBÄVERN »

Man kan inte få allt.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Automatiserad digitalisering av diabilder

Inlägg av TomasL »

Jo, om man vill :)
mAVRick
Inlägg: 319
Blev medlem: 19 mars 2013, 12:43:43
Ort: Östersund

Re: Automatiserad digitalisering av diabilder

Inlägg av mAVRick »

Nämen, kors i taket! Vem kunde ana att självaste TomasL skulle glida in och veta bäst i även den här tråden?
Det är iofs bra, för nu känns min lösning ännu mera rätt :)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Automatiserad digitalisering av diabilder

Inlägg av TomasL »

Nja, jag har skannat in runt 14000 dior de senaste två åren, så jag har liksom fått en del erfarenhet av det.
Nu i vinter skall jag ta ytterligare en batch om 6000 dior, därefter blir det väl 15000 negativ både sv/v och färg som skall skannas in.

Min erfarenhet från detta arbete är att "IR-Tvättning" är nödvändig, då det i princip är omöjligt att få diorna dammfria.
Multiexponering är väldigt bra, framförallt på svåra bilder.

Jag har skannat in allt med 3600DPI och 48Bitars färgdjup, samt att skannern är kalibrerad, använder dessutom multiexponering (typ HDR).
Sparat ned i dels råformat (64 bitar RGBI Tiff), 48 bitar Tiff samt JPG.
Använder ProPhoto färgrymd vid editering och "framkallning".
TIFen använder jag när jag skall redigera fotot, jpg för snabbvisning.
TIFen raderar jag när jag är klar, JPG är slutformatet vid visning.
Råformatet om jag behöver "Skanna" om med andra inställningar.
Har även köpt en färgkalibrator för skärmarna samt kalibrerat skrivaren, för att få resultatet så bra som möjligt.
mAVRick
Inlägg: 319
Blev medlem: 19 mars 2013, 12:43:43
Ort: Östersund

Re: Automatiserad digitalisering av diabilder

Inlägg av mAVRick »

Japp.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Automatiserad digitalisering av diabilder

Inlägg av Magnus_K »

Skitsnyggt mAVRick! :tumupp:
Himla bra redovisning och bilder.

Den enda kritiken du får av mig är att du bifogat för få gamla fina bilder :)
Användarvisningsbild
tompa74
EF Sponsor
Inlägg: 2502
Blev medlem: 29 oktober 2007, 15:25:17
Ort: Kristinehamn

Re: Automatiserad digitalisering av diabilder

Inlägg av tompa74 »

Kul Projekt!

Även jag har lite sådant här att ta tag i från min gamle far bland annat så det här blir kanske en nytändning att ta tag i det hela.

Den som hyr är feg. ;)

/ Tompa
Jugge
Inlägg: 707
Blev medlem: 26 januari 2016, 08:42:42
Ort: Helsingborg

Re: Automatiserad digitalisering av diabilder

Inlägg av Jugge »

Jättebra gjort mAVRick. Värt en :bravo: :bravo:
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Automatiserad digitalisering av diabilder

Inlägg av ecenier »

Enkelt och troligen kul projekt!
Tummen upp!



.
BJ
Inlägg: 8185
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Automatiserad digitalisering av diabilder

Inlägg av BJ »

Vad är det som gör att bottenplattan inte kan
vrida sig så att bilder ramlar ur när man har
sådana där magasin lösa?
(Jag har inget i verkligheten att titta på.)
mAVRick
Inlägg: 319
Blev medlem: 19 mars 2013, 12:43:43
Ort: Östersund

Re: Automatiserad digitalisering av diabilder

Inlägg av mAVRick »

Det sitter en fjäderbelastad spärr som öppnar sig när man lägger på magasinet på 'mittpucken' på projjen.
Och tack för alla positiva kommentarer!
BJ
Inlägg: 8185
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Automatiserad digitalisering av diabilder

Inlägg av BJ »

Okej.
:tumupp: från mig med.
Skriv svar