{"id":194,"date":"2017-04-20T17:41:53","date_gmt":"2017-04-20T15:41:53","guid":{"rendered":"https:\/\/arduinoforlammers.wordpress.com\/?p=194"},"modified":"2018-11-28T00:40:51","modified_gmt":"2018-11-27T23:40:51","slug":"arduino-jako-pilot-do-nikona","status":"publish","type":"post","link":"https:\/\/arduino.net.pl\/index.php\/arduino-jako-pilot-do-nikona\/","title":{"rendered":"Arduino jako pilot podczerwieni do Nikona"},"content":{"rendered":"<p>Wysy\u0142anie sygna\u0142\u00f3w za pomoc\u0105 Arduino i diody typu IR [infrared light-emitting diode] nie jest rzecz\u0105 bardzo prost\u0105. Rozgryzam temat, p\u00f3ki co uda\u0142o mi si\u0119 zbudowa\u0107 prosty uk\u0142ad wyzwalaj\u0105cy sygna\u0142em podczerwonym migawk\u0119 w moim D90.<br \/>\n<!--more--><\/p>\n<p><strong>Po\u0142\u0105czenia:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-231\" src=\"https:\/\/arduinoforlammers.files.wordpress.com\/2017\/04\/ir_nikon_connections.jpg\" alt=\"IR_NIKON_connections\" width=\"800\" height=\"534\" \/><\/p>\n<p><strong>Potrzebne cz\u0119\u015bci:<\/strong><br \/>\nR1 &#8211; 220R<br \/>\nR2 &#8211; 470R<br \/>\nDioda\u00a0IR<br \/>\nDioda LED<br \/>\nmikrow\u0142\u0105cznik<\/p>\n<p>Pomys\u0142\u00a0pochodzi ze strony <a href=\"https:\/\/majsterkowo.pl\/elektronika-dla-artystow-czyli-pilot-ir-do-nikona\/\">majsterkowo<\/a>. Troch\u0119 zmodyfikowa\u0142em kod. Doda\u0142em podw\u00f3jny warunek ze zmienn\u0105 lastButtonState. Wyrzuci\u0142em te\u017c jeden delay. Z moim Nikon D90 chodzi \u015bwietnie, chocia\u017c musz\u0119 popracowa\u0107 nad odleg\u0142o\u015bci\u0105. Pewnie dodam tranzystor. Oto schemat po\u0142\u0105cze\u0144:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-296 aligncenter\" src=\"https:\/\/arduinoforlammers.files.wordpress.com\/2017\/04\/ir_d90_yar_sch1.png\" alt=\"IR_D90_yar_sch1\" width=\"566\" height=\"467\" \/><\/p>\n<p>Na zdj\u0119ciu moment wysy\u0142ania kodu IR i uruchamiania migawki. Zdj\u0119cie zrobione aparatem Nikon D90. Pami\u0119tajcie o ustawieniu wyzwalania za pomoc\u0105 zdalnego pilota w aparacie.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-291\" src=\"https:\/\/arduinoforlammers.files.wordpress.com\/2017\/04\/ir_d90_yar.jpg\" alt=\"IR_D90_yar\" width=\"1600\" height=\"1067\" \/><\/p>\n<p><strong>Kod:<\/strong><\/p>\n<pre><pre class=\"brush: plain; light: false; title: Kod:; toolbar: true; notranslate\" title=\"Kod:\">\r\nint diodaIR = 8; \/\/ PIN diody IR\r\nint diodaLED = 9; \/\/ PIN diody LED\r\nint button = 5;\r\n\r\nint buttonState = 1; \/\/bie\u017c\u0105cy stan przycisku\r\nint lastButtonState = 0; \/\/poprzedni stan przycisku\r\n\r\nconst int okres_sygn_38kHz = 26; \/\/ okres trwania 1 taktu sygna\u0142u o cz\u0119stotliwo\u015bci 38kHz &#x5B;mikrosek.] (T=1\/f)\r\n\r\n\/\/ Funkcja opisuj\u0105ca dzia\u0142anie pojedynczego taktu sygna\u0142u\r\nvoid sygnal_38kHZ(){\r\n digitalWrite(diodaIR, HIGH);\r\n delayMicroseconds(okres_sygn_38kHz \/ 2); \/\/ po\u0142owa okresu =&amp;gt; wsp\u00f3\u0142czynnik wype\u0142nienia = 0,5\r\n digitalWrite(diodaIR, LOW);\r\n delayMicroseconds(okres_sygn_38kHz \/ 2); \r\n}\r\n\r\n\/\/ Funkcja opisuj\u0105ca stan niski\r\nvoid stan_1(int ilosc_cykli){\r\n for(int i = 0; i &amp;lt; ilosc_cykli; i++)\r\n sygnal_38kHZ();\r\n}\r\n\r\n\/\/ Funkcja opisuj\u0105ca stan wysoki\r\nvoid stan_0(int ilosc_cykli){\r\n delayMicroseconds(ilosc_cykli * okres_sygn_38kHz);\r\n}\r\n\r\n\/\/ Funkcja generuj\u0105ca sygna\u0142 wyzwalaj\u0105cy Nikon\r\nvoid zrobZdjecie(){\r\n digitalWrite(diodaLED, HIGH); \/\/ sygnalizacja LED wykonywania zdj\u0119cia\r\n for (int i=0; i &amp;lt; 2; i++) { \/\/ sygna\u0142 wzrocowy ma by\u0107 powt\u00f3rzony 2x\r\n stan_1(76); \/\/ 76 cykli &amp;quot;1&amp;quot;\r\n stan_0(1064); \/\/ 1064 cykli &amp;quot;0&amp;quot;\r\n stan_1(15); \/\/ 15 cykli &amp;quot;1&amp;quot;\r\n stan_0(60); \/\/ 60 cykli &amp;quot;0&amp;quot;\r\n stan_1(15); \/\/ 15 cykli &amp;quot;1&amp;quot;\r\n stan_0(136); \/\/ 136 cykli &amp;quot;0&amp;quot;\r\n stan_1(15); \/\/ 15 cykli &amp;quot;1&amp;quot;\r\n stan_0(2423*2); \/\/ 2423 cykli &amp;quot;0&amp;quot;\r\n }\r\n delay(100); \/\/trzeba by\u0142o przed\u0142u\u017cy\u0107, gdy\u017c czas wysy\u0142ania \r\n \/\/informacji do aparatu by\u0142 za kr\u00f3tki\r\n digitalWrite(diodaLED, LOW);\r\n}\r\n\r\n\r\nvoid setup() { \r\n Serial.begin(9600);\r\n pinMode(button, INPUT_PULLUP); \r\n pinMode(diodaIR, OUTPUT); \r\n pinMode(diodaLED, OUTPUT); \r\n} \r\n\r\nvoid loop(){ \r\n buttonState=digitalRead(button);\r\n if (buttonState == lastButtonState &amp;amp;&amp;amp; buttonState == LOW){ \r\n zrobZdjecie();\r\n Serial.println(F(&amp;quot;ROBIE ZDJECIE&amp;quot;)); \r\n digitalWrite(diodaLED, HIGH);\r\n lastButtonState = buttonState;\r\n \r\n }\r\n else\r\n { \r\n Serial.println(buttonState); \r\n digitalWrite(diodaLED, LOW); \r\n }\r\n \r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Wysy\u0142anie sygna\u0142\u00f3w za pomoc\u0105 Arduino i diody typu IR [infrared light-emitting diode] nie jest rzecz\u0105 bardzo prost\u0105. Rozgryzam temat, p\u00f3ki co uda\u0142o mi si\u0119 zbudowa\u0107 prosty uk\u0142ad wyzwalaj\u0105cy sygna\u0142em podczerwonym&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2,66],"tags":[19],"class_list":["post-194","post","type-post","status-publish","format-standard","hentry","category-arduino","category-elektronika","tag-ir"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":1,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":1931,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/194\/revisions\/1931"}],"wp:attachment":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}