Nikon remote Control
![DX40.jpg](http://remotesmart.wdfiles.com/local--resized-images/nikon-ir-remote-control/DX40.jpg/medium.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](http://remotesmart.wdfiles.com/local--resized-images/nikon-ir-remote-control/agfa_compur.jpg/medium.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](http://remotesmart.wdfiles.com/local--resized-images/nikon-ir-remote-control/nikon-ml-l3-control.jpg/medium.jpg)
Here is Nikon remote
![Nikon-Remote.jpg](http://remotesmart.wdfiles.com/local--resized-images/nikon-ir-remote-control/Nikon-Remote.jpg/medium.jpg)
Here is what is inside
What are the pulses?
Fortunaltely somebody who has the real remote shutter and has measured them.
![Nikonpulses.png](http://remotesmart.wdfiles.com/local--resized-images/nikon-ir-remote-control/Nikonpulses.png/medium.jpg)
Here is only half of pulses, but the othe half is similar.
Well here is the schematic diagram of my remote control.
![NIKONIR.jpg](http://remotesmart.wdfiles.com/local--resized-images/nikon-ir-remote-control/NIKONIR.jpg/medium.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](http://remotesmart.wdfiles.com/local--resized-images/nikon-ir-remote-control/nikonremote.jpg/medium.jpg)
[2] http://goughlui.com/2013/12/06/teardown-and-project-clone-nikon-ml-l3-ir-remote-and-emulation/
Pekka OH3GDO