1. Take a cigarette lighter with LED
http://i45.tinypic.com/24lvvx2.jpg
2. Take it apart
http://i47.tinypic.com/16h2mv5.jpg
3. Take an ATMEL ATtiny13, DIP8 capsule, and squeeze it into the batteries holder. Also, replace the original white LED from the lighter with an IR (Infra Red) LED.
http://i49.tinypic.com/20p940n.jpg
4. Wire everything as in the schematic diagram. The LED does not need a series resistor. Internal resistance of the cell batteries are doing a pretty good job in limiting the LED current.
http://i46.tinypic.com/2i1guwz.jpg
5. Program your microcontroller with the following BASCOM code:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Infrared Remote Control Transmitter for Nikon D90
' -------------------------------------------------
'
' v0.2
' Written by RoGeorge
' 2010.01.03
' Compiler BASCOM-AVR v1.11.9.1
'
' Description:
' DIY replacement for Nikon ML-L3 Infra Red (IR) Remote Control
'
' After power up the microcontroller send a
' "TAKE PICTURE" IR command to a Nikon camera
' then enter in power down mode.
'
' It should work with:
' Nikon N65, N75, Coolpix 8400, 8800, Pronea S, Nuvis S & Lite Touch Zoom,
' Nikon D40, D40x, D50, D60, D70, D80 & D90 Digital SLR Cameras
'
' It works (tested) with:
' - Nikon D90
'
' Schematic:
' - 1 x ATtiny13
' - 1 x normal open micro switch between batteries (push button)
' - 3 x 1.5V SR41 (AG3) button cells as power source
' - 1 x IR LED between OC0B (PIN 6 = LED anode) and GND (PIN 4 = LED cathode)
' - NO curent limiter resistor is necessary for the IR LED
'
' IR LED waveform out (100% modulated with 38.4 KHz carrier):
' - 2000 us on
' - 27830 us off
' - 390 us on
' - 1580 us off
' - 410 us on
' - 3580 us off
' - 400 us on
' - 63200 us off
' - repet once again the whole sequence
'
' Fuse bits:
' Low: -1101010
' ||||||++-- CKSEL[1] Clock selection
' ||||++-- SUT[1] Startup time selection
' |||+-- CKDIV8 Clock division ratio (1:1/1, 0:1/8)
' ||+-- WDTON (1:WDT normal, 0:WDT always on)
' |+-- EESAVE (Retain EEPROM at chip erase 1:No, 0:Yes)
' +-- SPIEN (1:Disable ISP, 0:Enable ISP) *Available only HVS mode
' High:---11111
' ||||+-- RSTDISBL (RESET pin 1:Enable, 0:Disable(PB5))
' ||++-- BODLEVEL[1] (BOD 11:None, 10:1.8V, 01:2.7V, 00:4.3V)
' |+-- DWEN (On-Chip Debugging via RESET pin 1:Disable, 0:Enable)
' +-- SPMEN (SPM instruction 1:Disable, 0:Enable)
'
' Cal: 75
'
' Bill of Materials:
' - 1 x Cigarette Lighter with white LED for case, batteries and power switch
' - 1 x IR LED
' - 1 x ATtiny13
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
$regfile = "attiny13.dat"
$crystal = 9600000
$swstack = 8
$hwstack = 2
$framesize = 0
$noramclear
'initializations
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'select clock prescaler to 1/1 (9.6 MHz)
'''''''''''''''''''''''''''''''''''''''''
Clkpr = bits(7)
Clkpr = 0
'Ports init
'''''''''''
Config Portb = Output
'TIMER init
'''''''''''
Config Timer0 = Counter , _
Edge = Falling , _
Compare A = toggle , _
Compare B = toggle , , _
Clear Timer = 1
ocr0a = 13
ocr0b = 0
'Other peripherals init
'''''''''''''''''''''''
stop adc
stop watchdog
stop ac
'main
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
declare sub pulse1
waitms 63
call pulse1
call pulse1
portb = 0
disable interrupts
powerdown
end
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sub pulse1
start timer0
waitus 2000
stop timer0
waitms 28
start timer0
waitus 390
stop timer0
waitus 1580
start timer0
waitus 410
stop timer0
waitus 3580
start timer0
waitus 400
stop timer0
waitms 63
end sub
'EOF
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
6. Mount everything back into the cigarette lighter and put your Nikon camera into remote controlled mode. Each time you try to turn on the LED lighter, the lighter will send an IR set of pulses. Your camera will receive these infrared pulses and take a picture.
http://i49.tinypic.com/2zs4sv9.jpg
After taking the picture, switch off the lighter...
Read more »