Close
0%
0%

Turn a cigarette lighter into an IR Nikon remote

Take a cigarette lighter, an AVR microcontroller (ATtiny13), and an IR LED. Wire all together.
Now, you can remotely control your Nikon camera.

Similar projects worth following
This is a cigarette lighter hack, in order to turn it into an Infra Red Remote controller for Nikon DSLR cameras. It can do the same as a Nikon ML-L3 IR Remote can do for your photo camera.

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 »

  • 1 × ATtiny13 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × IR LED
  • 1 × Lighter with LED

  • The only button

    RoGeorge06/26/2015 at 22:44 0 comments

    The easiest way will be to carry 2-3 remotes, each one with a different auto-repeat timer (hardcoded) set for 1 minute, 10 minutes and 1 hour.

    Currently, the lighter switch also cut the batteries. Another way will be to put the MCU in standby, and never cut the power, so the lighter switch could be used to program the timelapse timer.

    3D Printing AVR Arduino Art Audio Automation BeagleBone Bluetooth Cameras Clock Drones Environment Hardware IoT LED Medical Music Radio Raspberry Pi Remote Control Robotics Rockets Satellites Science Security Software Virtual Reality Wearables

  • New feature planned: Time Lapse

    RoGeorge06/14/2015 at 00:42 2 comments

    I need to figure out a way to program the interval for the Time Lapse without additional buttons.

    3D Printing AVR Arduino Art Audio Automation BeagleBone Bluetooth Cameras Clock Drones Environment Hardware IoT LED Medical Music Radio Raspberry Pi Remote Control Robotics Rockets Satellites Science Security Software Virtual Reality Wearables

View all 2 project logs

  • 1
    Step 1

    1.
    Take a cigarette lighter with LED

  • 2
    Step 2

    2.
    Take it apart

  • 3
    Step 3

    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

View all 8 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates