{"id":577,"date":"2012-05-30T11:36:37","date_gmt":"2012-05-30T09:36:37","guid":{"rendered":"http:\/\/www.knackes.com\/blog\/?p=577"},"modified":"2012-05-30T11:36:37","modified_gmt":"2012-05-30T09:36:37","slug":"minicom-an-arduino-lcd-dslr-remote-control-en-anglais","status":"publish","type":"post","link":"https:\/\/kim6.knackes.com\/blog\/index.php\/2012\/05\/30\/minicom-an-arduino-lcd-dslr-remote-control-en-anglais\/","title":{"rendered":"MiniCom, an arduino lcd dslr remote control (en anglais)"},"content":{"rendered":"<p>It&rsquo;s my first post in English on this blog, just to get to the broader English crowd of the maker world. I&rsquo;ll present my latest project, the fifth iteration in my quest to create a remote control for my DSLR.<\/p>\n<p><a href=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/IMG_2669.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" title=\"Arduino lcd dslr remote control\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/500\/IMG_2669.jpg\" alt=\"\" width=\"500\" height=\"385\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p>My requirements were :<\/p>\n<ul>\n<li>Small<\/li>\n<li>Rechargeable battery powered, able to work for a full night non-stop<\/li>\n<li>Easy to use in the dark<\/li>\n<li>Easy to use with gloves<\/li>\n<li>Minimal impact on night vision (more on that later)<\/li>\n<li>Set intervals from 100th of a second to hours<\/li>\n<li>Can do a pre-focus to wake up the DSLR before the photo<\/li>\n<li>Can manage mirror lock-up mode<\/li>\n<li>Any other function the \u00ab\u00a0traditional\u00a0\u00bb remotes have<\/li>\n<\/ul>\n<p>There&rsquo;s a night-mode, where all the LCD turns red, useful for astro-photography, when you need to be able to look at it without compromising your acquired night vision.<br \/>\nThe interface is limited to a single rotary knob you can push to validate your choices. It remains easy and intuitive to use even when it&rsquo;s minus 20\u00b0C and it&rsquo;s pitch black.<br \/>\nThe output is a standard 3.5mm stereo jack, you can use different cables to control different brand of DSLRs.<\/p>\n<p>Now for the parts :<\/p>\n<p>A dremel-customized 4AA battery box, with on-off switch, from eBay<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"4xAA battery box with on\/off switch\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/Parts\/500\/4AAbatteryswitch.jpg\" alt=\"\" width=\"500\" height=\"387\" \/><\/p>\n<p>An<a href=\"http:\/\/arduino.cc\/en\/Main\/ArduinoBoardProMini\" target=\"_blank\" rel=\"noopener\"> Arduino Mini Pro<\/a> (3.3V, 8MHz)<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"Arduino Mini Pro\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/Parts\/500\/Arduino-ProMini.jpg\" alt=\"\" width=\"400\" height=\"225\" \/><\/p>\n<p>An <a href=\"https:\/\/www.adafruit.com\/products\/358\" target=\"_blank\" rel=\"noopener\">Adafruit 1.8&Prime; LCD<\/a><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"Adafruit 1.8&quot; LCD\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/Parts\/500\/Adafruit-358.jpg\" alt=\"\" width=\"500\" height=\"500\" \/><\/p>\n<p>A Sparkun <a href=\"https:\/\/www.sparkfun.com\/products\/10982\" target=\"_blank\" rel=\"noopener\">Rotary encoder with switch<\/a><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"Rotary encoder with switch\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/Parts\/500\/Sparkfun-COM-10982.jpg\" alt=\"\" width=\"500\" height=\"500\" \/><\/p>\n<p>A Sparkfun <a href=\"https:\/\/www.sparkfun.com\/products\/339\" target=\"_blank\" rel=\"noopener\">1000mAh LiPo<\/a> rechargeable battery<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"1000mAh liPo Battery\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/Parts\/500\/SparkFun-PRT-00339.jpg\" alt=\"\" width=\"500\" height=\"500\" \/><\/p>\n<p>A Sparkfun <a href=\"https:\/\/www.sparkfun.com\/products\/10217\" target=\"_blank\" rel=\"noopener\">LiPo Micro-USB battery charger<\/a><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"Micro-USB LiPo Charger\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/Parts\/500\/Sparkfun-PRT-10217.jpg\" alt=\"\" width=\"500\" height=\"500\" \/><\/p>\n<p>A CNY74-4 Opto-isolator chip<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"CNY74-4 Opto-isolator\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/Parts\/500\/CNY74-4.jpg\" alt=\"\" width=\"500\" height=\"249\" \/><\/p>\n<p>A 3.5mm Stereo Jack<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"3.5mm Stereo jack\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/Parts\/500\/Lumberg-KLB4.jpg\" alt=\"\" width=\"142\" height=\"350\" \/><\/p>\n<p style=\"text-align: left;\">Plus two 47\u03a9 resistors (to drive the CNY74-4), a bunch of wires an some prototype board.<\/p>\n<p style=\"text-align: left;\">Here is a inaccurate but close enough representation of the circuit made in <a href=\"http:\/\/fritzing.org\/\" target=\"_blank\" rel=\"noopener\">Fritzing<\/a>:<\/p>\n<p style=\"text-align: left;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"MiniCom Circuit\" src=\"https:\/\/stuff.knackes.com\/dld\/201205\/ScreenCap-20120530-103517_6EF14B5E.png\" alt=\"\" width=\"440\" height=\"495\" \/><\/p>\n<p style=\"text-align: left;\">The push-button and rotary encoder are in fact one part, and the lipo charger is a different model. The connector on the bottom is the LCD, the one on the top is the Stereo jack connector.<\/p>\n<p style=\"text-align: left;\">Here is the (messy) soldered board, in it&rsquo;s final enclosure, before I flood it with hot glue :<\/p>\n<p style=\"text-align: left;\"><a href=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/IMG_2650.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"MiniCom soldered\" src=\"https:\/\/static.knackes.com\/images\/7D\/2012\/2012-05-30-MiniCom\/500\/IMG_2650.jpg\" alt=\"\" width=\"500\" height=\"385\" \/><\/a>And here is the Arduino 0022 sketch (sorry the texts are in french) + the modified LCD library (the <a href=\"https:\/\/github.com\/adafruit\/\" target=\"_blank\" rel=\"noopener\">original library<\/a> is written by <a href=\"https:\/\/www.adafruit.com\/\" target=\"_blank\" rel=\"noopener\">Adafruit industries<\/a>, thanks goes to them). :<\/p>\n<p style=\"text-align: left;\"><a title=\"MiniComColor_016 Source files\" href=\"https:\/\/static.knackes.com\/soft\/MiniCom\/MiniComColor_016.zip\">MiniComColor_016.zip<\/a> (22ko, 20ko compiled)<\/p>\n<p style=\"text-align: left;\">Part of the code is not used (like the driving of the RGB LEDs in the rotary encoder), but it works well like it is right now. I also don&rsquo;t use the \u00b5SD card slot on the LCD, and two of the four ports on the CNY74-4.<\/p>\n<p style=\"text-align: left;\">There are three major modes, plus a test screen and some configuration bits (stored in EEPROM) :<\/p>\n<ol>\n<li>Astro &#8211; fit for astro-photography, chains exposure with the same duration<\/li>\n<li>Unique &#8211; one shot only<\/li>\n<li>Increment &#8211; The next exposure is computed using the current one and a fixed value<\/li>\n<\/ol>\n<p>Depending on the current mode, you have access to :<\/p>\n<ul>\n<li>A pre-start delay, from 0 to 999 seconds<\/li>\n<li>The duration of the exposure, in HH:MM:SS.mmm format<\/li>\n<li>The Increment to add to the next exposure, in HH:MM:SS.mmm format<\/li>\n<li>The pause between exposure, in HH:MM:SS.mmm format<\/li>\n<li>The number of photos from 0 (infinite) to 9999<\/li>\n<\/ul>\n<p>On The test screen, you can test Focus and Snapshot separately<\/p>\n<p>In the configuration, you can set a sleep time for the LCD (the backlight is set to 0 if there is no rotation or push on the knob), Set day (full colour) or night (red only) mode. Choose the brightness of the LCD backlight. Set a pre-focus delay before the snapshot, to wake up the DSLR after a long time between shots. The minimal time between two shots in milliseconds (it varies depending on the DSLR model). The mirror lock-up mode (useful for perfect landscapes). And of course the ability to save and restore settings.<\/p>\n<p>I have yet to test it for reliability, but as I already did successfully with the previous version, I&rsquo;m confident (I already made a 6 hour continuous shooting with a smaller battery and power to spare).<\/p>\n<p>The next version, if if there will be one, will use the RGB LEDs of the rotary encoder, and also drive a small piezo buzzer to signal the end of a long shooting session.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&rsquo;s my first post in English on this blog, just to get to the broader English crowd of the maker world. I&rsquo;ll present my latest project, the fifth iteration in my quest to create a remote control for my DSLR.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[12,13,38],"class_list":["post-577","post","type-post","status-publish","format-standard","hentry","category-electronique","tag-arduino","tag-astronomie","tag-pose-longue"],"_links":{"self":[{"href":"https:\/\/kim6.knackes.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kim6.knackes.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kim6.knackes.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kim6.knackes.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kim6.knackes.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=577"}],"version-history":[{"count":0,"href":"https:\/\/kim6.knackes.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/577\/revisions"}],"wp:attachment":[{"href":"https:\/\/kim6.knackes.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kim6.knackes.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kim6.knackes.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}