Nikon Ir Remote Control

Nikon remote Control

DX40.jpg

Some time I want to take automatically pictures and some times I want to be in picture also .
Then remote control device suits for me.

I have Nikon DX40 camera.
Even it is not top of Nikon line, I like is wery much.
It is for me a good camera.

agfa_compur.jpg

Here is my fathers Compur camera

My farther has also a camera, it never has a broken battery.
It has a remote control.
I can make pictures from few centimeters to hunred kilometers.
It was a smaller than my camera and it has a better objective than I have.
The user can look the picture fromer the seacher just like the picture was taken.
My farher can make the paper pictures in multiples in few minutes.

My camera has only light sensitivity 3.5, but my father camera has sensitivity 2.8.
Well my farher's camera was bought 1935, and it is still working!

The remote control was a small black wire from shutter to user, which operates the shutter.
It has newer broken battery, because it has no battery.

Well there are ready made remote controls for Nikon ML-L3, but I wanted to made myself.

The remote control receiver is at left front of the camera.
How remote control works?
It sends 38 kHz IR-pulses. First it do like human presses the button lightly.
It made automatic focus. It may take whole second, well the first photo only.

The second pulses do actual shutter operation.
The pulses trains should be 63.2 msec intervall.
The original remote control has it.
[1]

nikon-ml-l3-control.jpg

Here is Nikon remote

Nikon-Remote.jpg

Here is what is inside

What are the pulses?

Fortunaltely somebody who has the real remote shutter and has measured them.

Nikonpulses.png

Here is only half of pulses, but the othe half is similar.

Well here is the schematic diagram of my remote control.

NIKONIR.jpg

It has a potentiometer, a led and IR-led + 3 volt battery.
Where is power switch, you may ask.
It is not needed.
The battery power is so small that it is not needed.

Turn the potetentiometer to full on ( 10 minutes) and the device goes immeadiately sleep();
The device blinks at each time, when it takes pictures.

One time I put it on for whole evening in our robot meeting at Rayskala, Finland.

Well I got lots of pictures!
I newer do that again!
It was quite work to go through thousands of images.

Here is the source code for PIC12F675
It is done for CCS/PCM c-compiler.

// File: Niconir.c
// name: Pekka Ritamaki
// Date: 1.8.2008
// Function : Nokon DX40 remote contol

#include <12F675.h>

#use delay(clock=4000000)
#use fast_io(A) // IO tris is done by user, not by complier
#fuses INTRC_IO,NOWDT,PUT,PROTECT,NOMCLR,NOBROWNOUT
//No Watch Dog Timer

#BYTE timer0 = 1
#BYTE T1CON = 0x10
#byte GPIO = 5
#byte WPU_12F675 = 0x95

// bittiohjattava pullup
#BYTE CMCON =0x19
#bit CM0 = CMCON.0
#bit CM1 = CMCON.1
#bit CM2 = CMCON.2
#byte ADCON0 = 0x1F
#BYTE ANSEL = 0x9F
#bit ADON = ADCON0.0

// Weak pullup for each bit
#byte OPTION_REG = 0x81

#bit GENERALPULLUP = OPTION_REG.7
// 1= enabled
#bit WPU2 = OPTION_REG.0
1= enabled
Weak pullup reg bit7 =0
#BYTE TRISIO = 0x85
#BIT IR = GPIO.2

int8 iron, flip;

// laske ON viive siten että todelline viive COUNT = viiveus/26 us
// asm:lla säädetään 2*13 = 26 IR pulssit

void pulseon(int16 count ) {
while (count—) {
IR=1;
#asm

NOP
NOP
NOP

NOP
NOP
NOP
NOP
NOP
NOP
NOP
#endASM
IR=0;
#asm

NOP
NOP
#endASM
}
}

// näitä IR pulsseja tehdään 2 sarjaa 63 ms välein
void Nikoncode (void) {

pulseon(90 ); // 2200us on eli 2200us/26us = 84 kpl* 26 IR pulssia
// pulseoff();
delay_ms(28); // pulssit poir 27 ms
pulseon(25); // 641 us/25us = 25 // 400us pulssit

delay_us(1350); //1360 us pois
pulseon(21); // 531/25 = 15 531 us pulssit

delay_us(3340);
pulseon(26); // 400/26 = 15 => 400 us pulssit
delay_ms(63); //seuraavaa kertaa varten 63mS viive,
}

void main()
{

setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
// setup_comparator(NC_NC);
setup_vref(FALSE);
set_tris_a(0b111011);

setup_comparator( NC_NC_NC_NC);
// setup_counters (RTCC_EXT_L_TO_H, WDT_2304MS);
// setup_timer_0 (RTCC_DIV_2|RTCC_EXT_L_TO_H);
// setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_1 );
GENERALPULLUP =1 ; // 1= enable GENERAL PULLUP
WPU2 =1; // 1= enable PULLUP RA.2
//ext_int_edge( H_TO_L ); // Sets up EXT interrupt level

IR=0;

while (1){
// 2.2 ms start
nikoncode(); // 1 time
nikoncode(); // 2 time

delay_ms(60000); // 60s delay
}
}

'===================

This is how it looks from outside

nikonremote.jpg

[2] http://goughlui.com/2013/12/06/teardown-and-project-clone-nikon-ml-l3-ir-remote-and-emulation/

Pekka OH3GDO

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License