{"id":382,"date":"2013-01-12T17:29:40","date_gmt":"2013-01-12T09:29:40","guid":{"rendered":"https:\/\/swf.com.tw\/?p=382"},"modified":"2022-06-24T09:34:14","modified_gmt":"2022-06-24T01:34:14","slug":"%e4%bb%bb%e5%a4%a9%e5%a0%82ndsl%e6%8e%8c%e4%b8%8a%e5%9e%8b%e9%81%8a%e6%88%b2%e6%a9%9f%ef%bc%8barduino%e5%be%ae%e9%9b%bb%e8%85%a6%ef%bc%9d%e7%b8%ae%e6%99%82%e5%bd%b1%e7%89%87%e6%8b%8d%e6%94%9d%e6%8e%a7","status":"publish","type":"post","link":"https:\/\/swf.com.tw\/?p=382","title":{"rendered":"\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668"},"content":{"rendered":"<p><strong>\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668<\/strong><br \/>\n\u6587\u2215\u8d99\u82f1\u5091<\/p>\n<p>\u5927\u7d04\u4e09\u5e74\u524d\uff0c<a href=\"http:\/\/hdrlabs.com\/occ\/index.html\" target=\"_blank\" rel=\"noopener\">HDR Labs<\/a>\u63a1\u7528\u4efb\u5929\u5802NDSL\u904a\u6232\u6a5f\u5145\u7576\u4eba\u6a5f\u4ecb\u9762\uff0c\u52a0\u4e0a\u4e00\u500b\u81ea\u88fd\u7684Arduino\u5fae\u96fb\u8166\u677f\uff0c\u88fd\u4f5c\u51fa\u4e00\u6b3e<strong>\u958b\u653e\u5f0f\u76f8\u6a5f\u63a7\u5236\u5668\uff08Open Camera Controller\uff0c\u7c21\u7a31OCC\uff09<\/strong>\u3002\u5b83\u53ef\u4ee5\u63a7\u5236\u7167\u76f8\u6a5f\u7684\u5feb\u9580\uff0c\u62cd\u651d\u7e2e\u6642\u651d\u5f71\u3001\u661f\u8ecc\u4ee5\u53caHDR\u9ad8\u52d5\u614b\u7bc4\u570d\u76f8\u7247\u3002\u56e0\u70ba\u6211\u4f7f\u7528\u7684Sony NEX-5\u76f8\u6a5f\u7121\u6cd5\u63a5\u5feb\u9580\u7dda\uff0c\u6240\u4ee5\u6211\u66ff\u5b83\u52a0\u5165\u7d05\u5916\u7dda\u9059\u63a7\u529f\u80fd\uff08\u54e6\uff0cNEX-5R\u548cNEX-6\u6709\u652f\u63f4APP\u4e0b\u8f09\u529f\u80fd\uff0c\u76f8\u6a5f\u672c\u8eab\u5373\u53ef\u62cd\u651d\u7e2e\u6642\u5f71\u50cf\uff0c\u6211\u60f3\u6211\u5927\u6982\u6703\u7b49\u5230Sony\u63a8\u51faAndroid\u7248\u7684NEX\u7cfb\u5217\uff0c\u6216\u8005NEX-Xperia\u624d\u6703\u66f4\u63db\u76f8\u6a5f\u5427\uff5e\uff09<\/p>\n<p>\u6709\u8208\u8da3\u7684\u4eba\u58eb\u53ef\u4ee5\u5728<a href=\"http:\/\/hdrlabs.com\/occ\/index.html\" target=\"_blank\" rel=\"noopener\">HDR Labs\u7db2\u7ad9\u7684OCC\u7db2\u9801<\/a>\u4e0b\u8f09\u76f8\u95dc\u7a0b\u5f0f\uff08\u542b\u539f\u59cb\u78bc\uff09\u548c\u786c\u9ad4\u3002<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"\/images\/hardware\/arduino\/occ_rick.jpg\" width=\"500\" height=\"299\" alt=\"\u64cd\u4f5cNDSL\u63a7\u5236\u55ae\u773c\u76f8\u6a5f\" \/><br \/>\n\uff08\u7167\u7247\u53d6\u81eaHDR Labs\uff09<\/p>\n<p>\u5be6\u969b\u9023\u63a5\u7167\u76f8\u6a5f\u7684\u662fArduino\u5fae\u96fb\u8166\u677f\uff0c\u5b83\u88ab\u88fd\u4f5c\u6210Game Boy\u904a\u6232\u5361\u5323\u5f62\u5f0f\uff0c\u63d2\u63a5\u5728NDSL\u4e3b\u6a5f\u524d\u65b9\u7684Game Boy\u904a\u6232\u5361\u63d2\u69fd\u3002\u56e0\u6b64\uff0c\u672c\u6587\u4f7f\u7528\u7684Nintendo DS\u904a\u6232\u6a5f\uff0c\u5fc5\u9808\u662f\u5177\u5099Game Boy\u904a\u6232\u63d2\u69fd\u7684\u521d\u4ee3\u6a5f\u7a2e\uff0cNDSi, NDSLL\u548c3DS\u7b49\u65b0\u6a5f\u7a2e\u90fd\u4e0d\u884c\u3002<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"\/images\/hardware\/arduino\/ds_cart-9.jpg\" width=\"500\" height=\"370\" alt=\"\u63d2\u4e0a\u81ea\u88fdArduino\u5fae\u96fb\u8166\u677f\u7684NDSL\" \/><br \/>\n\uff08\u7167\u7247\u53d6\u81eaHDR Labs\uff09<\/p>\n<p>\u70ba\u4e86\u8b93NDSL\u57f7\u884c\u81ea\u88fd\u8edf\u9ad4\uff0c\u9084\u5fc5\u9808\u984d\u5916\u8cfc\u8cb7R4\u5361\u548cmicro SD\u8a18\u61b6\u5361\u3002<\/p>\n<p>\u5e95\u4e0b\u662fHDR Labs\u8a2d\u8a08\u7684\u5370\u5237\u96fb\u8def\u677f\uff0c\u8b80\u8005\u53ef\u4ee5\u7167\u8457<a href=\"http:\/\/hdrlabs.com\/occ\/hardware.html\" target=\"_blank\" rel=\"noopener\">OCC\u786c\u9ad4\u4ecb\u7d39\u7db2\u9801<\/a>\u7684\u8aaa\u660e\u81ea\u884c\u8755\u523b\u4e00\u7247\uff1a<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"\/images\/hardware\/arduino\/image15.jpg\" width=\"400\" height=\"348\" alt=\"\u81ea\u88fd\u7684Arduino\u5fae\u96fb\u8166\u677f\" \/><br \/>\n\uff08\u7167\u7247\u53d6\u81eaHDR Labs\uff09<\/p>\n<p>\u96fb\u8def\u677f\u524d\u65b9\u7684\u5169\u500b\u5c0fIC\uff0c\u662f\u9694\u96e2\u5fae\u96fb\u8166\u8207\u76f8\u6a5f\u5feb\u9580\u7dda\u7684\u96fb\u6c23\u8a0a\u865f\u7684<strong>\u5149\u8026\u5408\u5143\u4ef6<\/strong>\u3002\u9019\u500b\u96fb\u8def\u8ddf\u7167\u76f8\u6a5f\u7684\u5ee0\u724c\u578b\u865f\u7121\u95dc\uff0c\u53ef\u4ee5\u63a7\u5236Canon, Nikon, Olympus, Sony, Panasonic, Casio&#8230;\u7b49\u5ee0\u724c\u7684\u76f8\u6a5f\u3002<\/p>\n<p>\u7136\u800c\uff0c\u4e0d\u540c\u5ee0\u724c\u8207\u578b\u865f\u7684\u76f8\u6a5f\u5feb\u9580\u7dda\u8a2d\u8a08\u90fd\u4e0d\u592a\u4e00\u6a23\uff0c\u9019\u500b\u96fb\u8def\u8f38\u51fa\u5230\u5feb\u9580\u7dda\u4e4b\u9593\u7684\u8f49\u63db\u96fb\u8def\u4f60\u8981\u81ea\u5df1\u641e\u5b9a\u3002\u50cfCanon EOS D500\u55ae\u773c\u76f8\u6a5f\u7684\u5feb\u9580\u7dda\u53ea\u662f\u4e00\u500b\u300c\u52a0\u4e0a\u5169\u500b\u958b\u95dc\u76842.5 mm\u7acb\u9ad4\u8033\u6a5f\u7dda\u300d\uff0c\u6240\u4ee5\u4e0d\u7528\u5916\u52a0\u4efb\u4f55\u96fb\u8def\u5373\u53ef\u4f7f\u7528\uff0c\u4f46Panasonic\u7684\u5feb\u9580\u7dda\u5c31\u5f97\u52a0\u4e0a\u5e7e\u500b\u96fb\u963b\uff08\u8acb\u81ea\u884cGoogle\u96fb\u8def\uff09\u3002<\/p>\n<h4>\u4f7f\u7528\u300a\u8f49\u8f49\u58de\u4fd0\u6b50\u5de5\u574a\u300b\u904a\u6232\u5361\u5323\u4f86\u5305\u88ddArduino\u5fae\u96fb\u8166\u677f<\/h4>\n<p>HDR Labs\u9078\u7528\u300a<strong>\u8f49\u8f49\u58de\u4fd0\u6b50\u5de5\u574a<\/strong>\u300b\uff08\u307e\u308f\u308b \u30e1\u30a4\u30c9\u30a4\u30f3\u30ef\u30ea\u30aa\uff09\u9019\u4e00\u6b3e\u904a\u6232\u7684\u5361\u5323\u5916\u6bbc\u4f86\u5305\u88dd\u3002\u56e0\u70ba\u300a\u8f49\u8f49\u58de\u4fd0\u6b50\u5de5\u574a\u300b\u5167\u5efa\u4e00\u500b<strong>\u9640\u87ba\u5100\u611f\u6e2c\u5668\uff08Gyro Sensor\uff09<\/strong>\uff0c\u5361\u5323\u5f8c\u9762\u51f8\u51fa\u4e00\u584a\uff0c\u9069\u5408\u653e\u7f6e\u8f49\u63a5\u7dda\u982d\uff1a<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"\/images\/hardware\/arduino\/game_boy_cart_1.jpg\" width=\"500\" height=\"242\" alt=\"\u300a\u8f49\u8f49\u58de\u4fd0\u6b50\u5de5\u574a\u300b\u904a\u6232\u5361\u5323\u4f86\" \/><\/p>\n<p>\u9019\u662f\u9640\u87ba\u5100\u611f\u6e2c\u5668\u6b63\u9762\u7684\u6a21\u6a23\uff1a<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"\/images\/hardware\/arduino\/game_boy_cart_2.jpg\" width=\"500\" height=\"333\" alt=\"\u300a\u8f49\u8f49\u58de\u4fd0\u6b50\u5de5\u574a\u300b\u904a\u6232\u5361\u5323\u5167\u90e8\u7684\u9640\u87ba\u5100\u611f\u6e2c\u5668\" \/><\/p>\n<p>\u300a\u8f49\u8f49\u58de\u4fd0\u6b50\u5de5\u574a\u300b\u88e1\u9762\u5305\u542b200\u500b\u4ee5\u4e0a\u9017\u8da3\u7684\u4f11\u9592\u5c0f\u904a\u6232\uff0c\u904a\u6232\u4e0d\u4f7f\u7528\u5341\u5b57\u9215\u64cd\u4f5c\uff0c\u5b8c\u5168\u900f\u904e\u9640\u87ba\u5100\u5075\u6e2c\u4e3b\u6a5f\u50be\u659c\u6216\u65cb\u8f49\u7684\u65b9\u5411\u4f86\u904a\u73a9\u3002\u9019\u904a\u6232\u5be6\u5728\u592a\u6709\u8da3\uff08\u770b\u770bYouTube\u4e0a\u7684\u9019\u500b<a href=\"http:\/\/youtu.be\/bEmXIgWjsWs\" target=\"_blank\" rel=\"noopener\">\u904a\u6232\u5167\u5bb9\u4ecb\u7d39<\/a>\u5427\uff09\uff0c\u5c07\u5b83\u62c6\u6389\u5f88\u53ef\u60dc\u3002\u5982\u679c\u4f60\u4e0d\u4ecb\u610f\u96fb\u8def\u677f\u88f8\u9732\u5728\u5916\u7684\u8a71\uff0c\u5c31\u4e0d\u5fc5\u4f7f\u7528\u9019\u500b\u5361\u5323\u3002<\/p>\n<h4>\u6539\u9020Game Boy\u904a\u6232\u5361\u5323<\/h4>\n<p>\u6211\u7528\u4e0d\u5230\u5feb\u9580\u7dda\uff0c\u800c\u4e14\u8755\u523b\u96fb\u8def\u677f\u6709\u9ede\u9ebb\u7169\uff0c\u6240\u4ee5\u7528\u842c\u7528PCB\u677f\uff08\u4e5f\u7a31\u70ba\u300c\u6d1e\u6d1e\u677f\u300d\uff09\u4f86\u7d44\u88dd\u3001\u710a\u63a5\u5143\u4ef6\u3002\u4f46\u662f\uff0c\u842c\u7528PCB\u677f\u4e26\u6c92\u6709\u50cf\u904a\u6232\u5361\u5323\u524d\u9762\u7684\u689d\u7d0b\u63a5\u9ede\uff0c\u6240\u4ee5\u6211\u628a\u4e00\u584a\u4e0d\u7528\u7684Game Boy\uff08\u7c21\u7a31GB\uff09\u904a\u6232\u5361\u92f8\u4e0b\u4f86\u3002<\/p>\n<p>Game Boy Advanced\uff08\u7c21\u7a31GBA\uff09\u7684\u904a\u6232\u5361\u5323\u548cGB\u5361\u7684\u63a5\u9ede\u8a2d\u8a08\u662f\u4e00\u6a23\u7684\uff0c\u4e0b\u5716\u5de6\u908a\u662fGBA\u5361\uff0c\u53f3\u908a\u662fGB\u5361\uff1a<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"\/images\/hardware\/arduino\/game_boy_cart_3.jpg\" width=\"500\" height=\"280\" alt=\"GBA\u548cGB\u904a\u6232\u5361\u7684\u5370\u5237\u96fb\u8def\u677f\" \/><\/p>\n<p>\u5e95\u4e0b\u662f\u628a\u92f8\u4e0b\u4f86\u7684GB\u5361\u8207\u81ea\u88fd\u7684Arduino\u5fae\u96fb\u8166\u677f\u710a\u63a5\u5728\u4e00\u8d77\u7684\u6a23\u5b50\uff0c\u6700\u524d\u65b9\u7684\u900f\u660eLED\u662f<strong>\u7d05\u5916\u7dda\u767c\u5c04\u4e8c\u6975\u9ad4<\/strong>\uff1a<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"\/images\/hardware\/arduino\/game_boy_cart_4.jpg\" alt=\"\u81ea\u88fd\u7684Arduino\u5fae\u96fb\u8166\u677f\" width=\"500\" height=\"352\" \/><\/p>\n<p>HDR Labs\u9078\u7528\u7684\u5fae\u8655\u7406\u5668\u662fATmega168\uff0c\u5be6\u969b\u4e0a\uff0c\u9078\u7528ATmega8\u578b\u865f\u5373\u53ef\uff0c\u7576\u7136\uff0c\u7528ATmega328\u4e5f\u884c\uff0c\u5b83\u5011\u4e4b\u9593\u7684\u5dee\u5225\u4e3b\u8981\u5728\u65bc\u8a18\u61b6\u9ad4\u5bb9\u91cf\u7684\u5927\u5c0f\u3002\u6211\u5728<strong>ATmega8\u5fae\u8655\u7406\u5668\u7684\u7b2c15\u8173\uff08\u4e5f\u5c31\u662fArduino\u5fae\u96fb\u8166\u677f\u7684\u6578\u4f4d\u7b2c9\u8173\uff09\u710a\u63a5\u4e00\u500b100\u03a9\u96fb\u963b\u548c\u7d05\u5916\u7dda\u767c\u5c04LED\u3002<\/strong><\/p>\n<h4>\u63a7\u5236\u76f8\u6a5f\u5feb\u9580\u7dda\u7684Arduino\u7a0b\u5f0f\u78bc<\/h4>\n<p>\u5e95\u4e0b\u662fHDR Labs\u7684<a href=\"http:\/\/www.hdrlabs.com\/occ\/hardware.html\" target=\"_blank\" rel=\"noopener\">\u786c\u9ad4\u4ecb\u7d39\u7db2\u9801<\/a>\u6240\u520a\u8f09\u7684Arduino\u7a0b\u5f0f\u78bc\uff0c\u61c9\u8a72\u662f\u6253\u5b57\u932f\u8aa4\uff0c\u5176\u4e2d\u4e09\u884c\u6709\u8aa4\uff1a<\/p>\n<pre>int FullPressPin = 13;\nint HalfPressPin = 12;\nint ShutterState=LOW;  \/\/ \u61c9\u8a72\u8981\u522a\u9664\u9019\u4e00\u884c\nint IsShooting=0;\nint x = 0;\nint HeartbeatPin = 4;\nvolatile int state = LOW;\n\/*\n\u4e0a\u9762\u4e00\u884c\u61c9\u8a72\u6539\u5beb\u6210\uff1a\nvolatile int ShutterState = LOW;\n*\/\nvoid setup()\n{\n  pinMode(HalfPressPin, OUTPUT);     \n  pinMode(FullPressPin, OUTPUT);\n  pinMode(HeartbeatPin, OUTPUT);\n  attachInterrupt(0, ProcessDSSignalRising, RISING);\n  attachInterrupt(1, ProcessDSSignalFalling, FALLING);\n  ShutterState=LOW; \/\/ de-depress shutter button if it is an unknown state\n  digitalWrite(FullPressPin, ShutterState); \n  digitalWrite(HalfPressPin, ShutterState);\n  \n  \/\/May 2010 Heartbeat code variation\n\tdigitalWrite(HeartbeatPin, HIGH);\n\tdelay(1000);\n\tdigitalWrite(HeartbeatPin, LOW);\n\tdelay(500);\n\tdigitalWrite(HeartbeatPin, HIGH);\n\tdelay(1000);\n\tdigitalWrite(HeartbeatPin, LOW);\n\tdelay(500);\n\tdigitalWrite(HeartbeatPin, HIGH);\n\tdelay(1000);\n\tdigitalWrite(HeartbeatPin, LOW);\n}\nvoid loop()                     \n{\n   if (IsShooting = 0){  \/\/ \u61c9\u8a72\u5beb\u6210\uff1aif (IsShooting == 0){\n      ShutterState=LOW;\n      digitalWrite(FullPressPin, ShutterState); \n      digitalWrite(HalfPressPin, ShutterState);\n   }\n}\nvoid ProcessDSSignalRising()\n{\n   ShutterState=LOW;\n   digitalWrite(FullPressPin, ShutterState); \n   digitalWrite(HeartbeatPin, LOW);\n   digitalWrite(HalfPressPin, ShutterState);\n   IsShooting=0;\n}\nvoid ProcessDSSignalFalling()\n{\n   ShutterState=HIGH;\n   \/\/ add a delay here to make HalfPress a tad longer\n   for (x=0;x&lt; 5; x++){\n     digitalWrite(HalfPressPin, ShutterState); \n   }\n   digitalWrite(HeartbeatPin, HIGH);\n   digitalWrite(FullPressPin, ShutterState);\n   IsShooting=1;\n}\n<\/pre>\n<p>\u4e0a\u9762\u7684Arduino\u7a0b\u5f0f\u6703\u63a5\u6536\u5f9e\u4efb\u5929\u5802NDSL\u904a\u6232\u6a5f\u767c\u51fa\u7684<strong>\u4e2d\u65b7\u8a0a\u865f<\/strong>\uff0c\u5728\u4e2d\u65b7\u8a0a\u865f\u7684<strong>\u4e0b\u964d\u968e\u6bb5\uff08FALLING\uff09<\/strong>\uff0cArduino\u5c07\u63a7\u5236\u5feb\u9580\u7dda\u7684<strong>\u534a\u6309<\/strong>\u4ee5\u53ca<strong>\u5168\u6309<\/strong>\u52d5\u4f5c\uff1b\u5728\u4e2d\u65b7\u8a0a\u865f\u7684<strong>\u4e0a\u6607\u968e\u6bb5\uff08RISING\uff09<\/strong>\uff0cArduino\u5c07<strong>\u91cb\u653e<\/strong>\u5feb\u9580\u3002<\/p>\n<h4>\u900f\u904eArduino\u5fae\u96fb\u8166\u4f7f\u7528\u7d05\u5916\u7dda\u9059\u63a7\u6578\u4f4d\u76f8\u6a5f<\/h4>\n<p>Sebastian Setz\u958b\u767c\u4e86\u4e00\u500bArduino\u6578\u4f4d\u76f8\u6a5f\u7d05\u5916\u7dda\u9059\u63a7\u7a0b\u5f0f\u5eab&#8221;<a href=\"http:\/\/sebastian.setz.name\/arduino\/my-libraries\/multi-camera-ir-control\/\">multiCameraIrControl<\/a>&#8220;\uff0c\u80fd\u9059\u63a7Canon, Nikon, Olympus, Pentax, Sony\u6216Minolta\u7b49\u76f8\u6a5f\u7684\u7d05\u5916\u7dda\u7a0b\u5f0f\u5eab\u3002<\/p>\n<p>Sony NEX-5\u76f8\u6a5f\u7121\u6cd5\u5916\u63a5\u5feb\u9580\u7dda\uff0c\u6240\u4ee5\u6211\u900f\u904e\u9019\u500b\u7d05\u5916\u7dda\u9059\u63a7\u7a0b\u5f0f\u5eab\uff0c\u6539\u5beb\u4e0a\u9762\u7684\u7a0b\u5f0f\uff0c\u8b93Arduino\u5728\u4e2d\u65b7\u8a0a\u865f\u7684<strong>\u4e0a\u6607\u968e\u6bb5<\/strong>\u767c\u5c04\u7d05\u5916\u7dda\u4f86\u63a7\u5236\u6578\u4f4d\u76f8\u6a5f\uff0c\u6539\u5beb\u5f8c\u7684\u7a0b\u5f0f\u78bc\u5982\u4e0b\uff1a<\/p>\n<pre>#include &lt;multiCameraIrControl.h&gt;\n\nconst byte FullPressPin = 13;\nconst byte HalfPressPin = 12;\nboolean IsShooting=false;\nbyte HeartbeatPin = 4;\nvolatile boolean ShutterState=LOW;\n\nvolatile boolean IRState = false;\nconst byte cameraPin = 9;  \/\/ \u7d05\u5916\u7dda\u9059\u63a7LED\u63a5\u5728\u7b2c9\u8173\nSony NEX(cameraPin);       \/\/ \u521d\u59cb\u5316\u7d05\u5916\u7dda\u9059\u63a7\u7a0b\u5f0f\u5eab\n\nvoid setup()\n{\n  pinMode(HalfPressPin, OUTPUT);     \n  pinMode(FullPressPin, OUTPUT);\n  pinMode(HeartbeatPin, OUTPUT);\n  pinMode(cameraPin, OUTPUT);\n  attachInterrupt(0, ProcessDSSignalRising, RISING);\n  attachInterrupt(1, ProcessDSSignalFalling, FALLING);\n  ShutterState=LOW; \n  digitalWrite(FullPressPin, ShutterState); \n  digitalWrite(HalfPressPin, ShutterState);\n  \n  \/\/May 2010 Heartbeat code variation\n\tdigitalWrite(HeartbeatPin, HIGH);\n\tdelay(1000);\n\tdigitalWrite(HeartbeatPin, LOW);\n\tdelay(500);\n\tdigitalWrite(HeartbeatPin, HIGH);\n\tdelay(1000);\n\tdigitalWrite(HeartbeatPin, LOW);\n\tdelay(500);\n\tdigitalWrite(HeartbeatPin, HIGH);\n\tdelay(1000);\n\tdigitalWrite(HeartbeatPin, LOW);\n}\nvoid loop()                     \n{\n   if (IsShooting == false){\n      ShutterState=LOW;\n      digitalWrite(FullPressPin, ShutterState); \n      digitalWrite(HalfPressPin, ShutterState);\n      digitalWrite(HeartbeatPin, ShutterState);\n   } else {\n      if (IRState) {\n        IRState = false;\n        NEX.shutterNow();\t\/\/ \u767c\u5c04\u7d05\u5916\u7dda\u5feb\u9580\u8a0a\u865f\n      }\n   }\n}\nvoid ProcessDSSignalRising()\n{\n   ShutterState=LOW;\n   digitalWrite(FullPressPin, ShutterState); \n   digitalWrite(HeartbeatPin, LOW);\n   digitalWrite(HalfPressPin, ShutterState);\n   IsShooting=false;\n   IRState = true;        \/\/ \u8a2d\u5b9a\u6210\u300c\u53ef\u767c\u5c04\u7d05\u5916\u7dda\u300d\n}\nvoid ProcessDSSignalFalling()\n{\n   ShutterState=HIGH;\n   for (byte x=0;x&lt; 5; x++){\n     digitalWrite(HalfPressPin, ShutterState); \n   }\n   digitalWrite(HeartbeatPin, HIGH);\n   digitalWrite(FullPressPin, ShutterState);\n   IsShooting=true;\n}\n<\/pre>\n<p>\u7de8\u8b6f\u4e26\u4e0a\u50b3\u7a0b\u5f0f\u4ee5\u4e0a\u7a0b\u5f0f\u78bc\u5230ATmega8\u5fae\u8655\u7406\u5668\uff0c\u5c31\u53ef\u4ee5\u63d2\u5165NDSL\u904a\u6232\u6a5f\u4f7f\u7528\u4e86\u3002<\/p>\n<h4>\u7528NDSL\u904a\u6232\u6a5f\u73a9\u7e2e\u6642\u651d\u5f71<\/h4>\n<p>\u6bcf\u6b21\u64cd\u4f5c\u5feb\u9580\u6642\uff0c\u96fb\u8def\u677f\u4e0a\u7684\u7da0\u8272LED\u4e5f\u6703\u8ddf\u8457\u9583\u720d\u3002\u6b64\u96fb\u8def\u677f\u5b89\u88dd\u5728\u4efb\u5929\u5802NDSL\u904a\u6232\u6a5f\u7684\u6a21\u6a23\u5982\u4e0b\uff1a<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"\/images\/hardware\/arduino\/GB12.jpg\" alt=\"\u5728\u4efb\u5929\u5802NDSL\u904a\u6232\u6a5f\u5b89\u88dd\u81ea\u88fdArduino\u677f\" width=\"500\" height=\"444\" \/><\/p>\n<p>\u5728\u4efb\u5929\u5802NDSL\u904a\u6232\u6a5f\u4e0a\u57f7\u884cHDR Labs\u81ea\u88fd\u7684&#8221;Intervalometer&#8221;\u7e2e\u6642\u651d\u5f71\u7a0b\u5f0f\uff08\u53ef\u5728<a href=\"http:\/\/www.hdrlabs.com\/occ\/software.html\" target=\"_blank\" rel=\"noopener\">HDR Labs\u7684\u8edf\u9ad4\u7db2\u9801<\/a>\u4e0b\u8f09\uff09\u7684\u5916\u89c0\u5982\u4e0b\uff0c\u9ede\u9078\u5e95\u4e0b\u89f8\u63a7\u87a2\u5e55Increment\u5f8c\u9762\u7684\u6578\u5b57\uff0c\u53ef\u8abf\u6574\u62cd\u651d\u7684\u9593\u9694\u6642\u9593\u3002\u9019\u500b\u8edf\u9ad4\u9084\u53ef\u8b80\u53d6NDSL\u4e3b\u6a5f\u7684\u6642\u9418\uff0c\u8b93\u4f60\u8a2d\u5b9a\u5f9e\u67d0\u500b\u6642\u9593\u958b\u59cb\u62cd\u651d\uff0c\u6216\u8005\u76f4\u63a5\u6309\u4e0bL\u548cR\u9375\u958b\u59cb\u63a7\u5236\u76f8\u6a5f\uff1a<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"\/images\/hardware\/arduino\/GB13.jpg\" alt=\"\u958b\u555fNDSL\u7e2e\u6642\u651d\u5f71\u8edf\u9ad4\" width=\"400\" height=\"545\" \/><\/p>\n<p>\u9644\u5e36\u4e00\u63d0\uff0c\u5e95\u4e0b\u7684\u7e2e\u6642\u5f71\u7247\uff0c\u662f\u4e00\u4f4d\u540d\u53ebRobin Baumgarten\u7684\u5fb7\u570b\u4f6c\uff0c\u4f7f\u7528\u7b46\u8005\u88fd\u4f5c\u7684<a href=\"?p=273\" target=\"_blank\" rel=\"noopener\">Android\u7d05\u5916\u7dda\u5feb\u9580\u8207\u7e2e\u6642\u651d\u5f71\u63a7\u5236\u5668<\/a>\u514d\u8cbb\u8edf\u9ad4\uff0c\u52a0\u4e0a<a href=\"?p=183\" target=\"_blank\" rel=\"noopener\">\u81ea\u88fd\u7684\u7d05\u5916\u7dda\u9059\u63a7\u767c\u5c04\u5668<\/a>\u62cd\u651d\u7684\uff08\u539f\u6587\u767c\u8868\u65bc<a href=\"http:\/\/forums.dpreview.com\/forums\/thread\/3130998\">dpreview.com\u8ad6\u58c7<\/a>\uff09\uff1a<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/2cyxGhJ7QnA\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h4>\u5ef6\u4f38\u95b1\u8b80<\/h4>\n<ul>\n<li><a href=\"?p=349\">\u7528PSP\u904a\u6232\u6a5f\u7d05\u5916\u7dda\u9059\u63a7Sony NEX\u7cfb\u5217\u76f8\u6a5f\uff08Alpha\u7cfb\u5217\u55ae\u773c\u61c9\u8a72\u4e5f\u884c\uff09<\/a><\/li>\n<li><a href=\"?p=264\">\u7528\u9eb5\u5305\u677f\u7d44\u88ddArduino\u5fae\u96fb\u8166\u5be6\u9a57\u677f<\/a><\/li>\n<li><a href=\"?p=341\">\u65b0\u66f8\u9810\u544a\uff1a\u8d85\u5716\u89e3Arduino\u4e92\u52d5\u8a2d\u8a08\u5165\u9580\uff08\u66ab\u5b9a\uff09<\/a><\/li>\n<li><a href=\"?p=24\">\u6539\u9020 GBA \u904a\u6232\u5361\uff08\u4e8c\uff09\uff1aFlash\uff08\u5feb\u9583\uff09\u8a18\u61b6\u9ad4\u3001Linux\u548c\u6a21\u64ec\u5668<\/a><\/li>\n<li><a href=\"?p=8\">\u81ea\u88fdGameboy Camera\u50b3\u8f38\u7dda<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u5927\u7d04\u4e09\u5e74\u524d\uff0cHDR Labs\u63a1\u7528\u4efb\u5929\u5802NDSL\u904a\u6232\u6a5f\u5145\u7576\u4eba\u6a5f\u4ecb\u9762\uff0c\u52a0\u4e0a\u4e00\u500b\u81ea\u88fd\u7684Arduino\u5fae\u96fb\u8166\u677f\uff0c\u88fd\u4f5c\u51fa\u4e00\u6b3e\u958b\u653e\u5f0f\u76f8\u6a5f\u63a7\u5236\u5668\uff08Open Camera Controller\uff0c\u7c21\u7a31OCC\uff09\u3002\u5b83\u53ef\u4ee5\u63a7\u5236\u7167\u76f8\u6a5f\u7684\u5feb\u9580\uff0c\u62cd\u651d\u7e2e\u6642\u651d\u5f71\u3001\u661f\u8ecc\u4ee5\u53caHDR\u9ad8\u52d5\u614b\u7bc4\u570d\u76f8\u7247\u3002\u56e0\u70ba\u6211\u4f7f\u7528\u7684Sony NEX-5\u76f8\u6a5f\u7121\u6cd5\u63a5\u5feb\u9580\u7dda\uff0c\u6240\u4ee5\u6211\u66ff\u5b83\u52a0\u5165\u7d05\u5916\u7dda\u9059\u63a7\u529f\u80fd<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/images\/hardware\/arduino\/GB12.jpg\" alt=\"\u5728\u4efb\u5929\u5802NDSL\u904a\u6232\u6a5f\u5b89\u88dd\u81ea\u88fdArduino\u677f\" width=\"500\" height=\"444\" \/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","footnotes":""},"categories":[2,8,15],"tags":[32],"class_list":["post-382","post","type-post","status-publish","format-standard","hentry","category-2","category-8","category-diy","tag-arduino"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668 - \u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/swf.com.tw\/?p=382\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005:\" \/>\n\t<meta name=\"twitter:data1\" content=\"cubie\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9810\u4f30\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/swf.com.tw\\\/?p=382#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/swf.com.tw\\\/?p=382\"},\"author\":{\"name\":\"cubie\",\"@id\":\"https:\\\/\\\/swf.com.tw\\\/#\\\/schema\\\/person\\\/24480fda9184aa137df8f05d79bc2f57\"},\"headline\":\"\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668\",\"datePublished\":\"2013-01-12T09:29:40+00:00\",\"dateModified\":\"2022-06-24T01:34:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/swf.com.tw\\\/?p=382\"},\"wordCount\":151,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/swf.com.tw\\\/#organization\"},\"keywords\":[\"arduino\"],\"articleSection\":[\"\u6539\u9020\u904a\u6232\u6a5f\",\"\u6578\u4f4d\u76f8\u6a5f\u8207\u651d\u5f71\u6a5f\",\"\u786c\u9ad4\u8207DIY\"],\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/swf.com.tw\\\/?p=382#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/swf.com.tw\\\/?p=382\",\"url\":\"https:\\\/\\\/swf.com.tw\\\/?p=382\",\"name\":\"\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668 - \u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/swf.com.tw\\\/#website\"},\"datePublished\":\"2013-01-12T09:29:40+00:00\",\"dateModified\":\"2022-06-24T01:34:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/swf.com.tw\\\/?p=382#breadcrumb\"},\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/swf.com.tw\\\/?p=382\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/swf.com.tw\\\/?p=382#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/swf.com.tw\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/swf.com.tw\\\/#website\",\"url\":\"https:\\\/\\\/swf.com.tw\\\/\",\"name\":\"\u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8\",\"description\":\"Arduino+Python+JavaScript+\u7a0b\u5f0f\u8a2d\u8a08+\u786c\u9ad4DIY\",\"publisher\":{\"@id\":\"https:\\\/\\\/swf.com.tw\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/swf.com.tw\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-TW\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/swf.com.tw\\\/#organization\",\"name\":\"\u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8\",\"url\":\"https:\\\/\\\/swf.com.tw\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\\\/\\\/swf.com.tw\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/swf.com.tw\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/logo_bat.png\",\"contentUrl\":\"https:\\\/\\\/swf.com.tw\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/logo_bat.png\",\"width\":71,\"height\":65,\"caption\":\"\u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8\"},\"image\":{\"@id\":\"https:\\\/\\\/swf.com.tw\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/swf.com.tw\\\/#\\\/schema\\\/person\\\/24480fda9184aa137df8f05d79bc2f57\",\"name\":\"cubie\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c77b6f4d3b4ccdcdc343aeee53301c212f54787c43bd2ebf6648bf74ff59b474?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c77b6f4d3b4ccdcdc343aeee53301c212f54787c43bd2ebf6648bf74ff59b474?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c77b6f4d3b4ccdcdc343aeee53301c212f54787c43bd2ebf6648bf74ff59b474?s=96&d=retro&r=g\",\"caption\":\"cubie\"},\"sameAs\":[\"https:\\\/\\\/swf.com.tw\"],\"url\":\"https:\\\/\\\/swf.com.tw\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668 - \u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/swf.com.tw\/?p=382","twitter_misc":{"\u4f5c\u8005:":"cubie","\u9810\u4f30\u95b1\u8b80\u6642\u9593":"5 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/swf.com.tw\/?p=382#article","isPartOf":{"@id":"https:\/\/swf.com.tw\/?p=382"},"author":{"name":"cubie","@id":"https:\/\/swf.com.tw\/#\/schema\/person\/24480fda9184aa137df8f05d79bc2f57"},"headline":"\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668","datePublished":"2013-01-12T09:29:40+00:00","dateModified":"2022-06-24T01:34:14+00:00","mainEntityOfPage":{"@id":"https:\/\/swf.com.tw\/?p=382"},"wordCount":151,"commentCount":0,"publisher":{"@id":"https:\/\/swf.com.tw\/#organization"},"keywords":["arduino"],"articleSection":["\u6539\u9020\u904a\u6232\u6a5f","\u6578\u4f4d\u76f8\u6a5f\u8207\u651d\u5f71\u6a5f","\u786c\u9ad4\u8207DIY"],"inLanguage":"zh-TW","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/swf.com.tw\/?p=382#respond"]}]},{"@type":"WebPage","@id":"https:\/\/swf.com.tw\/?p=382","url":"https:\/\/swf.com.tw\/?p=382","name":"\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668 - \u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8","isPartOf":{"@id":"https:\/\/swf.com.tw\/#website"},"datePublished":"2013-01-12T09:29:40+00:00","dateModified":"2022-06-24T01:34:14+00:00","breadcrumb":{"@id":"https:\/\/swf.com.tw\/?p=382#breadcrumb"},"inLanguage":"zh-TW","potentialAction":[{"@type":"ReadAction","target":["https:\/\/swf.com.tw\/?p=382"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/swf.com.tw\/?p=382#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/swf.com.tw\/"},{"@type":"ListItem","position":2,"name":"\u4efb\u5929\u5802NDSL\u638c\u4e0a\u578b\u904a\u6232\u6a5f\uff0bArduino\u5fae\u96fb\u8166\uff1d\u7e2e\u6642\u5f71\u7247\u62cd\u651d\u63a7\u5236\u5668"}]},{"@type":"WebSite","@id":"https:\/\/swf.com.tw\/#website","url":"https:\/\/swf.com.tw\/","name":"\u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8","description":"Arduino+Python+JavaScript+\u7a0b\u5f0f\u8a2d\u8a08+\u786c\u9ad4DIY","publisher":{"@id":"https:\/\/swf.com.tw\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/swf.com.tw\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-TW"},{"@type":"Organization","@id":"https:\/\/swf.com.tw\/#organization","name":"\u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8","url":"https:\/\/swf.com.tw\/","logo":{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/swf.com.tw\/#\/schema\/logo\/image\/","url":"https:\/\/swf.com.tw\/wp-content\/uploads\/2019\/10\/logo_bat.png","contentUrl":"https:\/\/swf.com.tw\/wp-content\/uploads\/2019\/10\/logo_bat.png","width":71,"height":65,"caption":"\u8d85\u5716\u89e3\u7cfb\u5217\u5716\u66f8"},"image":{"@id":"https:\/\/swf.com.tw\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/swf.com.tw\/#\/schema\/person\/24480fda9184aa137df8f05d79bc2f57","name":"cubie","image":{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/secure.gravatar.com\/avatar\/c77b6f4d3b4ccdcdc343aeee53301c212f54787c43bd2ebf6648bf74ff59b474?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c77b6f4d3b4ccdcdc343aeee53301c212f54787c43bd2ebf6648bf74ff59b474?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c77b6f4d3b4ccdcdc343aeee53301c212f54787c43bd2ebf6648bf74ff59b474?s=96&d=retro&r=g","caption":"cubie"},"sameAs":["https:\/\/swf.com.tw"],"url":"https:\/\/swf.com.tw\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/swf.com.tw\/index.php?rest_route=\/wp\/v2\/posts\/382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swf.com.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swf.com.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swf.com.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swf.com.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=382"}],"version-history":[{"count":0,"href":"https:\/\/swf.com.tw\/index.php?rest_route=\/wp\/v2\/posts\/382\/revisions"}],"wp:attachment":[{"href":"https:\/\/swf.com.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swf.com.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swf.com.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}