
{"id":6352,"date":"2017-09-06T17:00:18","date_gmt":"2017-09-06T08:00:18","guid":{"rendered":"https:\/\/okiraku-camera.tokyo\/blog\/?p=6352"},"modified":"2021-09-20T17:29:35","modified_gmt":"2021-09-20T08:29:35","slug":"8mhz%e3%81%aearduino-pro-mini%e3%81%a7%e8%b5%a4%e5%a4%96%e7%b7%9a%e3%83%aa%e3%83%a2%e3%82%b3%e3%83%b3%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b-%e3%81%9d%e3%81%ae2","status":"publish","type":"post","link":"https:\/\/okiraku-camera.tokyo\/blog\/?p=6352","title":{"rendered":"8MHz\u306eArduino PRO MINI\u3067\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u3092\u4f5c\u3063\u3066\u307f\u308b \u305d\u306e2"},"content":{"rendered":"<p><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/?p=6230\">Arduino PRO MINI (3.3V, 8MHz\u52d5\u4f5c)\u3092\u4f7f\u3063\u3066\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u3092\u8a66\u4f5c\u3057\u305f\u8a71<\/a>\u306e\u7d9a\u304d\u306b\u306a\u308b\u304c\u3001\u4eca\u56de\u306f\u7701\u96fb\u529b\u5316\u3068\u5b9f\u7528\u7684\u306a\uff08\uff1f\uff09\u30ea\u30e2\u30b3\u30f3\u306e\u88fd\u4f5c\u3001\u305d\u3057\u3066\u3001\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306b\u3064\u3044\u3066\u3002ATmega328P\u306e\u5404\u7a2e\u6a5f\u80fd\u3084\u4ed5\u69d8\u306b\u3064\u3044\u3066\u306f\u3001\u30c7\u30fc\u30bf\u30b7\u30fc\u30c8 (<em><strong>\u201cAtmel-42735B-ATmega328\/P_Datasheet_Complete-11\/2016\u201d\u00a0<\/strong><\/em>) \u3092\u53c2\u7167\u3057\u305f\u3002\u30c7\u30fc\u30bf\u30b7\u30fc\u30c8\u306e\u30da\u30fc\u30b8\u756a\u53f7\u306f\u30ea\u30d3\u30b8\u30e7\u30f3\u306b\u3088\u3063\u3066\u3082\u7570\u306a\u308b\u306e\u3067\u7701\u7565\u3002<\/p>\n<figure id=\"attachment_6239\" aria-describedby=\"caption-attachment-6239\" style=\"width: 552px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/08\/5d844342e4c6d35a4d23a0af503c4f4b.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-6239\" src=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/08\/5d844342e4c6d35a4d23a0af503c4f4b-552x414.jpg\" alt=\"Arduino PRO MINI\" width=\"552\" height=\"414\" \/><\/a><figcaption id=\"caption-attachment-6239\" class=\"wp-caption-text\">Arduino PRO MINI<\/figcaption><\/figure>\n<p>\u30aa\u30f3\u30dc\u30fc\u30c9\u306e\u96fb\u5727\u30ec\u30ae\u30e5\u30ec\u30fc\u30bf\u3068Power On LED\u7528\u306e\u76f4\u5217\u62b5\u6297\u3092\u5916\u3057\u305fArduino PRO MINI (The Simple)\u3092\u4f7f\u7528\u3002\u7279\u306b\u5de5\u592b\u306a\u304f+3.3V\u3092\u4e0e\u3048\u3066\u30b9\u30ea\u30fc\u30d7\u3055\u305b\u308b\u3068\u7d04100\u03bcA\u306e\u96fb\u6d41\u304c\u6d41\u308c\u308b\u3002<\/p>\n<h1>\u7701\u96fb\u529b\u5316\u3068\u56de\u8def\u306e\u5909\u66f4<\/h1>\n<p>\u30ea\u30e2\u30b3\u30f3\u306e\u4e2d\u306e\u30de\u30a4\u30b3\u30f3\u304c\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u306a\u308b\u306e\u306f\u300124\u6642\u9593\u306e\u3046\u3061\u306e1\u79d2\u9593\u306b\u3082\u6e80\u305f\u306a\u3044\u3002\u30a2\u30af\u30c6\u30a3\u30d6\u6642\u3067\u3042\u3063\u3066\u3082\u3001\u8d64\u5916\u7ddaLED\u304c\u767a\u5149\u3059\u308b\u6642\u9593\u306f\u304d\u308f\u3081\u3066\u77ed\u3044\u3068\u8003\u3048\u3089\u308c\u308b\u3002\u4e7e\u96fb\u6c60\u3092\u9577\u6301\u3061\u3055\u305b\u308b\u305f\u3081\u306b\u306f\u3001\u30de\u30a4\u30b3\u30f3\u3092\u3067\u304d\u308b\u3060\u3051\u9577\u304f\u30b9\u30ea\u30fc\u30d7\u72b6\u614b (<em><strong>SLEEP_MODE_PWR_DOWN<\/strong><\/em>)\u306b\u7f6e\u304f\u3053\u3068\u3068\u3001\u3053\u306e\u3068\u304d\u306e\u6d88\u8cbb\u96fb\u529b(\u5f85\u6a5f\u96fb\u529b)\u3092\u6291\u3048\u308b\u3053\u3068\u304c\u30ad\u30e2\u3060\u3068\u8003\u3048\u305f\u3002\u305d\u306e\u3042\u305f\u308a\u306e\u77e5\u8b58\u3092\u5f97\u308b\u305f\u3081\u306b\u3001\u30c7\u30fc\u30bf\u30b7\u30fc\u30c8\u306e\u3001\u00a0<em><strong>14.11. Minimizing Power Consumption<\/strong><\/em>\u00a0\u3092\u8aad\u3093\u3067\u30dd\u30a4\u30f3\u30c8\u3068\u306a\u308b\u9805\u76ee\u3092\u6d17\u3044\u51fa\u3057\u3066\u307f\u305f\u3002<\/p>\n<ul>\n<li><strong>\u4f7f\u308f\u306a\u3044\u306a\u3089A\/D\u30b3\u30f3\u30d0\u30fc\u30bf\u306e\u52d5\u4f5c\u3092\u7981\u6b62\u3057\u3066\u304a\u3051<\/strong>\u3002<\/li>\n<li><em><strong>\u30b9\u30ea\u30fc\u30d7\u6642\u306f\u30a2\u30ca\u30ed\u30b0\u30b3\u30f3\u30d1\u30ec\u30fc\u30bf\u3092\u30aa\u30d5\u306b\u3057\u308d\u3002<\/strong><\/em><\/li>\n<li><strong>\u4e0d\u8981\u306a\u3089BOD\u306f\u30aa\u30d5\u306b\u3057\u3066\u304a\u3051\u3002<\/strong><em><strong><br \/>\n<\/strong><\/em><\/li>\n<li><strong>\u8981\u3089\u306a\u3044\u306a\u3089\u3001\u30a6\u30a9\u30c3\u30c1\u30c9\u30c3\u30b0\u30bf\u30a4\u30de(WDT)\u3082\u7981\u6b62\u3057\u308d \u3002<\/strong><\/li>\n<li><strong>\u30b9\u30ea\u30fc\u30d7\u6642\u306e\u672a\u63a5\u7d9a\u30dd\u30fc\u30c8\u30d4\u30f3\u306b\u306f\u7528\u5fc3\u3057\u308d<em>\u3002<br \/>\n<\/em><\/strong><\/li>\n<\/ul>\n<p>\u98f2\u307f\u5c4b\u306e\u6e6f\u5451\u307f\u98a8\u306b\u307e\u3068\u3081\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u304b\u3002\u30b9\u30b1\u30c3\u30c1\u306b\u53cd\u6620\u3057\u3066\u8a66\u3057\u305f\u3068\u3053\u308d\u3001\u30b9\u30ea\u30fc\u30d7\u4e2d\u306e\u6d88\u8cbb\u96fb\u6d41\u306f\u3001<\/p>\n<ul>\n<li>A\/D\u30b3\u30f3\u30d0\u30fc\u30bf\u306e\u52d5\u4f5c\u7981\u6b62\u306b\u3088\u308a80\u03bcA\u306e\u6e1b\u5c11\u3002<\/li>\n<li>WDT\u306e\u7981\u6b62\u306b\u3088\u308a5\u03bcA\u306e\u6e1b\u5c11\u3002<\/li>\n<\/ul>\n<p>\u3068\u306a\u3063\u305f(+3.3V\u6642)\u3002\u3053\u308c\u3089\u306b\u3088\u308a\u3001\u56de\u8def\u5168\u4f53\u3067\u7d0418\u03bcA\u3057\u304b\u6d41\u308c\u306a\u304f\u306a\u3063\u305f(\u30c6\u30b9\u30bf\u30fc\u306b\u3088\u308b\u6e2c\u5b9a)\u3002<\/p>\n<p>\u30c7\u30fc\u30bf\u30b7\u30fc\u30c8\u306b\u3088\u308c\u3070\u4e0a\u8a18\u4ee5\u5916\u306b\u3082\u3001<\/p>\n<ul>\n<li><strong>Power Reduction Register<\/strong>= <strong>PRR<\/strong> \u306e\u64cd\u4f5c<\/li>\n<li><strong>\u30b7\u30b9\u30c6\u30e0\u30af\u30ed\u30c3\u30af\u30d7\u30ea\u30b9\u30b1\u30fc\u30e9<\/strong> (<strong>CLKPR<\/strong>) \u306b\u3088\u308b\u5185\u90e8\u306e\u4f4e\u30af\u30ed\u30c3\u30af\u5316<\/li>\n<\/ul>\n<p>\u3068\u3044\u3063\u305f\u65b9\u6cd5\u304c\u3042\u308a\u305d\u3046\u3060\u304c\u3001\u3044\u305a\u308c\u3082\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u671f\u9593\u306e\u7701\u96fb\u529b\u306b\u306f\u6709\u52b9\u3060\u304c\u3001\u5404\u90e8\u3078\u306e\u30af\u30ed\u30c3\u30af\u4f9b\u7d66\u304c\u505c\u6b62\u3059\u308b<em><strong>SLEEP_MODE_PWR_DOWN<\/strong><\/em>\u00a0\u3067\u306e\u30b9\u30ea\u30fc\u30d7\u4e2d\u306f\u95a2\u4fc2\u306a\u3044\u3088\u3046\u306b\u8aad\u3081\u305f\u3002<\/p>\n<p>\u305f\u3060\u3001CLKPR \u3067\u52d5\u4f5c\u5468\u6ce2\u6570\u3092\u843d\u3068\u3059\u3053\u3068\u3067\u3001<span style=\"text-decoration: underline;\"><strong>\u96fb\u6e90\u96fb\u5727\u304c\u4e0b\u304c\u3063\u3066\u3082\u52d5\u4f5c\u3092\u6301\u7d9a\u3067\u304d\u308b\u304b\u3082\u3057\u308c\u306a\u3044<\/strong><\/span>\u3068\u601d\u3063\u3066\u53d6\u308a\u5165\u308c\u308b\u3053\u3068\u306b\u3057\u3001\u8a66\u4f5c\u6642\u3068\u306f\u56de\u8def\u3092\u5909\u66f4\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/A_PRO_MINI_IR_KEYPAD3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-6355\" src=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/A_PRO_MINI_IR_KEYPAD3-552x345.png\" alt=\"\" width=\"552\" height=\"345\" \/><\/a><\/p>\n<p>\u5909\u66f4\u70b9\u306f\u4ee5\u4e0b\u306e3\u7b87\u6240\u3002<\/p>\n<ul>\n<li>\u96fb\u6e90\u3092\u53584\u30a2\u30eb\u30ab\u30ea\u4e7e\u96fb\u6c60 2\u672c\u306b\u3002<\/li>\n<li>IRLED\u30921\u672c\u306b\u3002<br \/>\n2\u672c\u4f7f\u3046\u3068\u3001\u96fb\u6e90\u96fb\u5727\u304c2.6V\u524d\u5f8c\u3067\u70b9\u706f\u3067\u304d\u306a\u304f\u306a\u308b\u3002<\/li>\n<li>IRLED\u306e\u76f4\u5217\u62b5\u6297(R1)\u309232(10 + 22)\u03a9\u306b\u3002<br \/>\nIRLED\u30921\u672c\u306b\u3057\u305f\u3053\u3068\u3068\u3001\u96fb\u6e90\u96fb\u5727\u306e\u5909\u52d5\u7bc4\u56f2\u304c\u5909\u308f\u3063\u305f\u306e\u3067\u3002<\/li>\n<\/ul>\n<p>\u30a2\u30eb\u30ab\u30ea\u4e7e\u96fb\u6c60\u3092\u76f4\u52172\u672c\u306b\u3057\u305f\u306e\u3067\u3001\u96fb\u6e90\u96fb\u5727\u306f+3.3V\uff5e+2.0V\u307e\u3067\u5909\u52d5\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u3002ATmega328P\u30928MHz\u30af\u30ed\u30c3\u30af\u3067\u52d5\u304b\u3059\u5834\u5408\u306e\u6700\u4f4e\u96fb\u6e90\u96fb\u5727\u306f+2.7V\u3068\u8003\u3048\u3089\u308c\u308b\u306e\u3067\u3001\u3053\u306e\u307e\u307e\u3067\u306f\u4e7e\u96fb\u6c60\u306e\u5bff\u547d\u304c\u5c3d\u304d\u308b\u524d\u306b\u52d5\u4f5c\u3057\u306a\u304f\u306a\u308b\u306e\u306f\u9593\u9055\u3044\u306a\u3044\u3002\u305f\u3060\u3001\u30af\u30ed\u30c3\u30af\u304c4MHz\u306a\u3089\u3070+1.8V\u307e\u3067\u52d5\u4f5c\u3059\u308b\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u308b\u3053\u3068\u306b\u6c17\u304c\u3064\u3044\u305f\u3002<br \/>\nArduino\u306e void setup(); \u306b\u304a\u3044\u3066CLKPR\u3092\u64cd\u4f5c\u3057\u3066\u5185\u90e8\u52d5\u4f5c\u5468\u6ce2\u6570\u30924MHz\u306b\u843d\u3068\u3059\u3002\u305d\u3057\u3066\u3001<span style=\"text-decoration: underline;\"><strong>\u4e00\u5ea6\u52d5\u304b\u3057\u59cb\u3081\u305f\u3089\u6c7a\u3057\u3066\u96fb\u6e90\u3092\u5207\u3089\u305a\u30ea\u30bb\u30c3\u30c8\u3082\u3057\u306a\u3044<\/strong><\/span>\u3068\u3044\u3046\u6761\u4ef6\u306a\u3089\u3070\u3053\u306e\u69cb\u6210\u3067\u3082\u4e7e\u96fb\u6c60\u306e\u5bff\u547d\u307e\u3067\u52d5\u304f\u3093\u3058\u3083\u306a\u3044\u306e\u304b\u3001\u3068\u601d\u3063\u305f\u6b21\u7b2c\u3002\u30ea\u30b9\u30bf\u30fc\u30c8\u6642\u306e\u5185\u90e8\u30af\u30ed\u30c3\u30af\u306f8MHz\u52d5\u4f5c\u306a\u306e\u3067\u3001+2V\u3067\u306f\u52d5\u4f5c\u3057\u306a\u3044\u3002\u3061\u3083\u3093\u3068\u3084\u308b\u306a\u3089\u3001\u30d2\u30e5\u30fc\u30ba\u3092\u66f8\u304d\u63db\u3048\u3066\u5185\u90e8RC\u30aa\u30b7\u30ec\u30fc\u30bf\u3092\u5206\u5468\u3057\u3066\u4f7f\u3046\u304b\u3001PRO MINI\u4e0a\u306e\u6c34\u6676\u767a\u632f\u5b50\u3092\u4ea4\u63db\u3059\u308b\u306e\u3060\u308d\u3046\u304c\u3001\u4eca\u56de\u306f\u624b\u9593\u306e\u304b\u304b\u3089\u306a\u3044\u3001\u5358\u306a\u308b\u601d\u3044\u4ed8\u304d\u3092\u63a1\u7528\u3057\u305f\u3002<\/p>\n<h2>\u8ffd\u8a18 (<strong>\u3053\u306e\u601d\u3044\u4ed8\u304d\u3060\u3051\u3067\u306f\u30c0\u30e1)<\/strong><\/h2>\n<p><strong>\u3053\u306e\u601d\u3044\u4ed8\u304d\u3060\u3051\u3067\u306f\u30c0\u30e1<\/strong>\u3067\u3057\u305f\u3002Arduino PRO MINI (3.3V, 8MHz)\u306b\u3001\u96fb\u5727\u53ef\u5909\u306e\u30ec\u30ae\u30e5\u30ec\u30fc\u30bf\u3092\u3064\u306a\u3044\u3067\u30b9\u30ea\u30fc\u30d7\u4e2d\u306b\u96fb\u5727\u3092\u4e0b\u3052\u3066\u307f\u305f\u3068\u3053\u308d\u30012.7V\u3092\u4e0b\u56de\u3063\u305f\u3042\u305f\u308a\u3067\u30ea\u30bb\u30c3\u30c8\u304c\u304b\u304b\u308a\u307e\u3057\u305f\u3002BOD\u306e\u305b\u3044\uff1f<\/p>\n<p>\u96fb\u6c60\u304c\u5f31\u308b\u524d\u306b\u3082\u3046\u3061\u3087\u3063\u3068\u8abf\u3079\u3066\u5bfe\u7b56\u3057\u307e\u3059\u3002\u4e2d\u56fd\u304b\u3089\u3082\u3063\u3068\u65e9\u304f\u53ef\u5909\u964d\u5727\u578b\u30ec\u30ae\u30e5\u30ec\u30fc\u30bf\u30e6\u30cb\u30c3\u30c8(LM2596\u4f7f\u7528\u306e\u30e4\u30c4)\u304c\u5c4a\u3044\u3066\u308c\u3070\u826f\u304b\u3063\u305f\u3093\u3060\u3051\u3069\u3002<\/p>\n<p>\u3067\u3001\u8abf\u3079\u3066\u307f\u305f\u3068\u3053\u308dArduino PRO MINI\u306eBODLEVEL Fuse\u306e\u5024\u306f0xfd\u3068\u306a\u3063\u3066\u304a\u308a\u3001\u96fb\u6e90\u96fb\u5727\u304c2.7Vtyp. \u3092\u4e0b\u56de\u3063\u305f\u6642\u70b9\u3067\u30ea\u30bb\u30c3\u30c8\u304c\u304b\u304b\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u305f\u3002BOD (Brown Out Detection) \u306b\u3064\u3044\u3066\u3084\u30012.7V\u672a\u6e80\u306e\u96fb\u5727\u3067\u78ba\u8a8d\u3057\u305f\u8a71\u3001BOD\u30d2\u30e5\u30fc\u30ba\u306e\u66f8\u304d\u63db\u3048\u306a\u3069\u306b\u3064\u3044\u3066\u306f\u3001<a href=\"https:\/\/okiraku-camera.tokyo\/blog\/?p=6381\">\u5225\u306e\u6295\u7a3f\u306b\u307e\u3068\u3081\u308b<\/a>\u3053\u3068\u306b\u3057\u307e\u3059(\u30d2\u30e5\u30fc\u30ba\u66f8\u304d\u63db\u3048\u305f\u3089\u52d5\u304d\u307e\u3057\u305f)\u3002<\/p>\n<h1>\u88fd\u4f5c<\/h1>\n<p>\u79cb\u6708\u96fb\u5b50\u306e<a href=\"http:\/\/akizukidenshi.com\/catalog\/g\/gP-03231\/\">C\u30bf\u30a4\u30d7(72\u00d748mm)\u306e\u4e21\u9762\u30b9\u30eb\u30fc\u30db\u30fc\u30eb\u30ac\u30e9\u30b9\u30a8\u30dd\u30ad\u30b7\u57fa\u677f<\/a>\u306bArduino PRO MINI\u30684\u3064\u306e\u30bf\u30af\u30c8\u30b9\u30a4\u30c3\u30c1\u3001\u30c8\u30e9\u30f3\u30b8\u30b9\u30bf\u3001IrLED\u3001\u62b5\u6297\u306a\u3069\u30cf\u30f3\u30c0\u4ed8\u3051\u3057\u305f\u3002\u305c\u3093\u305c\u3093\u30ad\u30ec\u30a4\u306b\u4ed5\u4e0a\u304c\u3089\u306a\u304b\u3063\u305f\u306e\u3060\u3051\u3069\u3001\u5199\u771f\u3092\u63b2\u8f09\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<figure id=\"attachment_6359\" aria-describedby=\"caption-attachment-6359\" style=\"width: 552px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/b578685a4edd39cee9d0ccb18bab209c.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-6359\" src=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/b578685a4edd39cee9d0ccb18bab209c-552x414.jpg\" alt=\"\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\" width=\"552\" height=\"414\" \/><\/a><figcaption id=\"caption-attachment-6359\" class=\"wp-caption-text\">\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3 \u57fa\u677f\u8868\u5074<\/figcaption><\/figure>\n<figure id=\"attachment_6360\" aria-describedby=\"caption-attachment-6360\" style=\"width: 552px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/ab5bb1f5f0c0909f377666f6a4cc4910.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-6360\" src=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/ab5bb1f5f0c0909f377666f6a4cc4910-552x414.jpg\" alt=\"\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\" width=\"552\" height=\"414\" \/><\/a><figcaption id=\"caption-attachment-6360\" class=\"wp-caption-text\">\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3 \u57fa\u677f\u88cf\u5074<\/figcaption><\/figure>\n<figure id=\"attachment_6357\" aria-describedby=\"caption-attachment-6357\" style=\"width: 552px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/ffd75fcf215384e3b0dce9b02022359a.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-6357\" src=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/ffd75fcf215384e3b0dce9b02022359a-552x414.jpg\" alt=\"\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\" width=\"552\" height=\"414\" \/><\/a><figcaption id=\"caption-attachment-6357\" class=\"wp-caption-text\">\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u3000\u4e2d\u8eab<\/figcaption><\/figure>\n<figure id=\"attachment_6358\" aria-describedby=\"caption-attachment-6358\" style=\"width: 552px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/1d172158e4d48d3c53239407703c8625.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-6358\" src=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/1d172158e4d48d3c53239407703c8625-552x414.jpg\" alt=\"\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\" width=\"552\" height=\"414\" \/><\/a><figcaption id=\"caption-attachment-6358\" class=\"wp-caption-text\">\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u3000\u5916\u89b3<\/figcaption><\/figure>\n<p>\u5165\u308c\u7269\u306b\u306f3\u3064\u3067100\u5186\u306e\u5c0f\u578b\u306e\u30bf\u30c3\u30d1\u30fc\u3092\u4f7f\u3063\u305f\u3002\u57fa\u677f\u306f\u30d5\u30bf\u306b\u30cd\u30b8\u6b62\u3081\u3057\u3001\u56db\u89d2\u304f\u5207\u308a\u629c\u3044\u3066\u30b9\u30a4\u30c3\u30c1\u90e8\u5206\u304c\u9732\u51fa\u3059\u308b\u3088\u3046\u306b\u3057\u305f\u3002\u96fb\u6c60\u30dc\u30c3\u30af\u30b9\u306f\u4e21\u9762\u30c6\u30fc\u30d7\u3067\u30bf\u30c3\u30d1\u30fc\u5e95\u90e8\u306b\u63a5\u7740\u3057\u3001\u57fa\u677f\u8868\u5074\u306e\u914d\u7dda\u304c\u6307\u306b\u89e6\u308c\u306a\u3044\u3088\u3046\u3001\u30b9\u30a4\u30c3\u30c1\u4ee5\u5916\u306e\u90e8\u5206\u306b\u306f\u30c6\u30fc\u30d7\u3092\u8cbc\u3063\u305f\u3002\u30bf\u30af\u30c8\u30b9\u30a4\u30c3\u30c1\u306f\u3001\u5f31\u3001\u4e2d\u3001\u5f37\u3001\u505c\u6b62\u306e4\u3064\u3002<\/p>\n<p>\u3053\u306e\u30bf\u30c3\u30d1\u30fc(\u304a\u3063\u3068\u3001\u30ea\u30e2\u30b3\u30f3)\u3092\u3001\u96fb\u6c60\u304c\u4e0b\u306b\u306a\u308b\u5411\u304d\u3067\u30c8\u30a4\u30ec\u306e\u58c1\u9762\u306b\u3076\u3089\u4e0b\u3052\u3066\u3044\u308b\u3002IrLED\u306f\u3001\u30b7\u30e3\u30ef\u30fc\u30c8\u30a4\u30ec\u306e\u8d64\u5916\u7dda\u53d7\u5149\u90e8\u306b\u8fd1\u304f\u306a\u308b\u3088\u3046\u306a\u4f4d\u7f6e\u306b\u3057\u305f\u3002\u306a\u304a\u304b\u3064\u3001\u53d7\u5149\u90e8\u3092\u5411\u304f\u3088\u3046\u306b\u811a\u3092\u3061\u3087\u3063\u3068\u66f2\u3052\u305f\u308a\u3057\u3066\u3044\u308b\u3002<\/p>\n<p>\u4ee5\u4e0b\u306b\u8f09\u305b\u305f\u30b9\u30b1\u30c3\u30c1\u306e\u66f8\u8fbc\u307f\u306f\u3001\u96fb\u6c60\u30dc\u30c3\u30af\u30b9\u304b\u3089\u306e\u30ea\u30fc\u30c9\u7dda\u3092\u30cf\u30f3\u30c0\u4ed8\u3051\u3059\u308b\u524d\u306b\u3001USB-\u30b7\u30ea\u30a2\u30eb\u5909\u63db\u7528\u306eAE-FT231X\u3092\u63a5\u7d9a\u3057\u3001+3.3V\u3092\u4e0e\u3048\u3066\u884c\u3063\u305f\u3002\u30ea\u30fc\u30c9\u7dda\u3092\u30cf\u30f3\u30c0\u4ed8\u3051\u3059\u308b\u524d\u306b\u73fe\u5834\u3067\u30c6\u30b9\u30c8\u3092\u7e70\u308a\u8fd4\u3057\u305f\u3053\u3068\u306f\u8a00\u3046\u307e\u3067\u3082\u306a\u3044\u3002<\/p>\n<figure id=\"attachment_6363\" aria-describedby=\"caption-attachment-6363\" style=\"width: 552px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/0a5becaeb9b155eebbbaf44337c8513a.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-6363\" src=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/0a5becaeb9b155eebbbaf44337c8513a-552x414.jpg\" alt=\"Arduno Nano\" width=\"552\" height=\"414\" \/><\/a><figcaption id=\"caption-attachment-6363\" class=\"wp-caption-text\">\u30ea\u30e2\u30b3\u30f3\u30c7\u30fc\u30bf\u3092\u89e3\u6790\u3059\u308b\u305f\u3081\u306e\u9053\u5177<\/figcaption><\/figure>\n<p>\u4ee5\u524d\u3001Arduino nano\u3092\u4f7f\u3063\u305f<a href=\"https:\/\/okiraku-camera.tokyo\/blog\/?p=5217\">\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u30c7\u30fc\u30bf\u306e\u53d7\u4fe1\u5668<\/a>\u3092\u3075\u3064\u3046\u306e\u30d6\u30ec\u30c3\u30c9\u30dc\u30fc\u30c9\u306e\u4e0a\u306b\u4f5c\u3063\u305f\u306e\u3060\u3051\u3069\u3001\u30df\u30cb\u30d6\u30ec\u30c3\u30c9\u30dc\u30fc\u30c9\u306b\u79fb\u3057\u66ff\u3048\u3066\u52d5\u304f\u3088\u3046\u306b\u3057\u305f\u3002+5V\u3092\u5f15\u3063\u5f35\u308b\u305f\u3081\u306b\u30b8\u30e3\u30f3\u30d1\u30ef\u30a4\u30e4\u3092\u8cbc\u308a\u3001\u53d7\u5149\u7d20\u5b50\u306e\u811a\u3092\u66f2\u3052\u3001\u53d7\u4fe1\u30c7\u30fc\u30bf\u3092D2\u3067\u53d7\u3051\u308b\u3088\u3046\u306b\u76f4\u3057\u305f\u3060\u3051\u3060\u304c\u3002\u4eca\u56de\u3082\u51fa\u529b\u30c7\u30fc\u30bf\u306e\u78ba\u8a8d\u306b\u6d3b\u8e8d\u3057\u3066\u304f\u308c\u307e\u3057\u305f\u3002<\/p>\n<h1>\u30b9\u30b1\u30c3\u30c1<\/h1>\n<p>170\u884c\u306b\u3082\u306a\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u4ee5\u4e0b\u306b\u63b2\u8f09\u3002<\/p>\n<pre class=\"height-set:true nums:true lang:c++ decode:true\">#include &lt;avr\/sleep.h&gt;\r\n#include &lt;avr\/wdt.h&gt;\r\n\r\n#define PRESCALE_RATIO 2\r\n#define PDELAY(msec) delay((msec &lt; PRESCALE_RATIO ? PRESCALE_RATIO : msec) \/ PRESCALE_RATIO);\r\n#define LED 13\r\n#define PWM_OC1A  9\r\n#define PWM_OC1B  10\r\n#define SCAN_12  4\r\n#define SCAN_34  5\r\n#define KEY_13  6\r\n#define KEY_24  7\r\n#define TRIGGER_PIN 12\r\n\r\n\/\/ --------------------- KEY-PAD related.\r\n\/\/ setup KEY related ports\r\nvoid setup_port(bool sleep) {\r\n  if (sleep) {\r\n    pinMode(SCAN_12, INPUT_PULLUP);\r\n    pinMode(SCAN_34, INPUT_PULLUP);\r\n    pinMode(KEY_13, INPUT);\r\n    pinMode(KEY_24, INPUT);\r\n  } else {\r\n    pinMode(SCAN_12, OUTPUT);\r\n    pinMode(SCAN_34, OUTPUT);\r\n    pinMode(KEY_13, INPUT_PULLUP);\r\n    pinMode(KEY_24, INPUT_PULLUP);\r\n  }\r\n}\r\n\r\nint scan() {\r\n  int n = 0;\r\n  digitalWrite(SCAN_12, 0);\r\n  digitalWrite(SCAN_34, 1);\r\n  PDELAY(1);\r\n  n |= digitalRead(KEY_13);\r\n  n |= (digitalRead(KEY_24) &lt;&lt; 1);\r\n  digitalWrite(SCAN_12, 1);\r\n  digitalWrite(SCAN_34, 0);\r\n  PDELAY(1);\r\n  n |= (digitalRead(KEY_13) &lt;&lt; 2);\r\n  n |= (digitalRead(KEY_24) &lt;&lt; 3);\r\n  digitalWrite(SCAN_12, 0);\r\n  return n;  \r\n}\r\nint get_key() {\r\n  int scan_result = 0xf;\r\n  for(int i = 0; i &lt; 3; i++) {\r\n    PDELAY(10);\r\n    scan_result &amp;= ~scan();\r\n  }\r\n  if (scan_result &amp; 1) return 1;\r\n  if (scan_result &amp; 2) return 2;\r\n  if (scan_result &amp; 4) return 3;\r\n  if (scan_result &amp; 8) return 4;\r\n  return 0;\r\n}\r\n\/\/------------------ IR related.\r\n#define NEC_T (int)(560 \/ PRESCALE_RATIO)\r\n#define AEHA_T  (int)(425 \/ PRESCALE_RATIO)\r\nint format_T = NEC_T; \/\/ \u57fa\u6e96\u30d5\u30ec\u30fc\u30e0\u6642\u9593\r\n\r\n\/\/ system clk = 8MHz. (no prescaler)\r\n\/\/ 38KHz, duty 1:3\r\n\/\/ 26.3\u03bcs \u00f7 0.125 = 210 : \u5468\u671f\r\n\/\/ 6.3\u03bcs \u00f7 0.125 = 52.8 : H\u671f\u9593\r\n\/\/ FastPWM mode. WGM(13-11)=1111\r\nvoid pwm_out(int t_count) {\r\n  TCNT1 = 0;\r\n  PORTB |= B00010000; \/\/PB4(D12) ON (\u30ed\u30b8\u30a2\u30ca\u306e\u30c8\u30ea\u30ac\u7528)\r\n  TCCR1A = B01100011;  \/\/ Inverted, HIGH at BOTTOM, LOW on match.\r\n  TCCR1B = B00011001; \/\/ ICNC1 = 0, ICES1 = 0, no prescaler.\r\n  OCR1A = (210 \/ PRESCALE_RATIO) - 1;  \/\/ TOP value. \r\n  OCR1B = (53 \/ PRESCALE_RATIO) - 1;  \/\/  H period of OC1B\r\n  delayMicroseconds(format_T * t_count);\r\n  TCCR1A = B00000000;  \r\n  TCCR1B = B00000000; \r\n  PORTB &amp;= B11101111; \/\/PB4 OFF ( D12\u306eH\u671f\u9593\u304b\u3089\u6ce2\u5f62\u51fa\u529b\u6642\u9593\u3092\u78ba\u8a8d)\r\n}\r\ninline void send_bit(int value) {\r\n  pwm_out(1);\r\n  delayMicroseconds(value ? format_T * 3 : format_T);\r\n}\r\nvoid send_byte(byte value) {\r\n  send_bit(value &amp; 1);\r\n  send_bit(value &amp; 2);\r\n  send_bit(value &amp; 4);\r\n  send_bit(value &amp; 8);\r\n  send_bit(value &amp; 16);\r\n  send_bit(value &amp; 32);\r\n  send_bit(value &amp; 64);\r\n  send_bit(value &amp; 128);\r\n}\r\nvoid send_leader() {\r\n  if  (format_T == NEC_T) {\r\n    pwm_out(16);\r\n    delayMicroseconds(format_T * 8);   \r\n  } else {\r\n    pwm_out(8);\r\n    delayMicroseconds(format_T * 4);   \r\n  }\r\n}\r\n\/\/ '0'\u30924\u56de\u9001\u4fe1\u3002\r\nvoid send_preframe() {\r\n    for(int i = 0; i &lt; 4; i++)\r\n      send_bit(0);\r\n}\r\n\/\/ \u9069\u5f53\u306a\u7d42\u7aef\r\nvoid send_trailer() {\r\n  send_bit(0);\r\n  digitalWrite(PWM_OC1B, 0);\r\n}\r\n\r\nvoid send_command(byte cmd) {\r\n  send_leader();\r\n  send_byte(0x3a);  \/\/ customer code\r\n  send_byte(cmd);  \/\/ command data\r\n  send_byte(~cmd);  \/\/ check-code.\r\n  send_trailer();\r\n}\r\n\r\nstatic const byte command_data[] = { 0xc1, 0xa1, 0x81, 0x0d };  \/\/ \u5f31\u3001\u4e2d\u3001\u5f37\u3001\u505c\u6b62\r\nvoid setup() {\r\n  PDELAY(100);\r\n  byte save_SREG = SREG;\r\n  cli();\r\n  CLKPR = 0x80; \r\n  CLKPR = 1;  \/\/ \u30d7\u30ea\u30b9\u30b1\u30fc\u30e9\u8a2d\u5b9a\u3002\u30af\u30ed\u30c3\u30af\u3092\u534a\u5206\u306b\u3002\r\n  ADCSRA &amp;= 0x7f;  \/\/ ADC\u7981\u6b62\u3002MSB \u3092 0\u306b\u3002\r\n  ACSR |= 0x80;    \/\/ \u30a2\u30ca\u30ed\u30b0\u30b3\u30f3\u30d1\u30ec\u30fc\u30bf\u7981\u6b62\r\n  SREG = save_SREG;\r\n\r\n  pinMode(2, INPUT);\r\n  pinMode(3, INPUT);\r\n  for(int i = 4; i &lt; 17; i++) \/\/ INPUT_PULLUP\r\n    pinMode(i, INPUT_PULLUP);\r\n   \r\n  pinMode(LED, OUTPUT);\r\n  pinMode(PWM_OC1A, OUTPUT);\r\n  pinMode(PWM_OC1B, OUTPUT);\r\n  pinMode(TRIGGER_PIN, OUTPUT);\r\n  digitalWrite(LED, 0);\r\n  digitalWrite(PWM_OC1A, 0);\r\n  digitalWrite(PWM_OC1B, 0);\r\n  digitalWrite(TRIGGER_PIN, 0);\r\n  wdt_disable();\r\n}\r\n\r\nvoid isr() { }\r\nvoid loop() {\r\n  setup_port(true);\r\n  PDELAY(10);\r\n  attachInterrupt(0, isr, RISING );\r\n  set_sleep_mode(SLEEP_MODE_PWR_DOWN);\r\n  sleep_mode();\r\n  detachInterrupt(0);\r\n  digitalWrite(LED, 1);\r\n  setup_port(false);\r\n  int n = get_key();\r\n  PDELAY(20);\r\n  if ( n &gt;=1 &amp;&amp; n &lt;= 4)\r\n    send_command( command_data[n - 1] );\r\n  digitalWrite(LED, 0);\r\n}\r\n<\/pre>\n<p>\u30b3\u30fc\u30c9\u306e\u9806\u5e8f\u3068\u306f\u524d\u5f8c\u3059\u308b\u304c\u3001\u5404\u95a2\u6570\u306b\u3064\u3044\u3066\u306e\u8aac\u660e\u3002<br \/>\n(<strong>\u8ffd\u8a18:<\/strong> <a href=\"https:\/\/okiraku-camera.tokyo\/blog\/?p=6381\">BODLEVEL fuse\u306e\u4fee\u6b63<\/a>\u306b\u3068\u3082\u306a\u3044\u3001\u30b9\u30b1\u30c3\u30c1\u306b\u3082\u82e5\u5e72\u306e\u5909\u66f4\u3092\u5165\u308c\u305f\u3002)<\/p>\n<h2>\u30d7\u30ea\u30b9\u30b1\u30fc\u30e9\u95a2\u4fc2\u306e\u5b9a\u7fa9<\/h2>\n<p>\u524d\u306b\u66f8\u3044\u305f\u3088\u3046\u306b\u30018MHz\u3092\u30b7\u30b9\u30c6\u30e0\u30af\u30ed\u30c3\u30af\u30d7\u30ea\u30b9\u30b1\u30fc\u30e9\u30672\u5206\u5468\u3057\u3001\u5185\u90e8\u30af\u30ed\u30c3\u30af\u306f4MHz\u3068\u3057\u3066\u3044\u308b\u3002\u3053\u306e\u30b9\u30b1\u30c3\u30c1\u306f\u3001Arduino IDE (1.8.3)\u3092\u4f7f\u3063\u3066\u30d3\u30eb\u30c9\u3057\u3066\u3044\u308b\u304c\u3001IDE\u5074\u306f8MHz\u52d5\u4f5c\u3068\u601d\u3063\u3066\u30b3\u30fc\u30c9\u3092\u751f\u6210\u3059\u308b\u306e\u3067\u3001delay(); \u3084 delayMicroseconds(); \u3068\u3044\u3063\u305f\u8a08\u6642\u7528\u306e\u95a2\u6570\u304c\u5f71\u97ff\u3092\u53d7\u3051\u3001\u4f8b\u3048\u3070delay(100); \u3092\u547c\u3093\u3060\u5834\u5408\u3001100msec\u5f8c\u3067\u306f\u306a\u304f200msec\u5f8c\u306b\u5e30\u3063\u3066\u304f\u308b\u3002\u305d\u306e\u305f\u3081\u30011\/2\u306b\u5206\u5468\u3059\u308b\u306a\u3089\u3070\u3053\u308c\u3089\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30821\/2\u306b\u3057\u3066\u3084\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002<br \/>\nPWM\u306e\u5468\u6ce2\u6570\u3082\u5f71\u97ff\u3092\u53d7\u3051\u308b\u304c\u3001\u305d\u308c\u306b\u3064\u3044\u3066\u306f\u5f8c\u8ff0\u3059\u308b\u3002<\/p>\n<h2>I\/O\u30dd\u30fc\u30c8\u95a2\u4fc2\u306e\u5b9a\u7fa9<\/h2>\n<p>PWM\u51fa\u529b\u306e\u305f\u3081\u306e\u30dd\u30fc\u30c8(<strong>PWM_OC1A, PWM_OC1B<\/strong>\u304a\u3088\u3073<strong>TRIGGER_PIN<\/strong>)\u3068\u3001\u30ad\u30fc\u30b9\u30ad\u30e3\u30f3\u95a2\u4fc2\u306e\u30dd\u30fc\u30c8(<strong>SCAN_12,\u00a0SCAN_34,\u00a0KEY_13, KEY_24<\/strong>)\u3092#define\u3067\u5b9a\u7fa9\u3057\u3066\u3044\u308b\u3002<\/p>\n<p>PWM_OC1A\u3068TRIGGER_PIN\u306f\u3001\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u7528\u306e38KHz\u30c7\u30e5\u30fc\u30c6\u30a3\u30fc25%\u306e\u6ce2\u5f62\u3092\u30ed\u30b8\u30a2\u30ca\u3067\u89b3\u6e2c\u3059\u308b\u305f\u3081\u3060\u3051\u306b\u7528\u3044\u3066\u304a\u308a\u3001\u30ea\u30e2\u30b3\u30f3\u3067\u5fc5\u8981\u306a\u306e\u306fIrLED\u306b\u63a5\u7d9a\u3059\u308b<strong>PWM_OC1B (D10)<\/strong>\u306e\u307f\u3067\u3042\u308b\u3002<\/p>\n<h2>void setup();<\/h2>\n<p>\u30b7\u30b9\u30c6\u30e0\u30af\u30ed\u30c3\u30af\u30d7\u30ea\u30b9\u30b1\u30fc\u30e9\u306e\u8a2d\u5b9a\u306e\u5f8c\u3001A\/D\u30b3\u30f3\u30d0\u30fc\u30bf\u304a\u3088\u3073\u30a2\u30ca\u30ed\u30b0\u30b3\u30f3\u30d1\u30ec\u30fc\u30bf\u306e\u52d5\u4f5c\u3092\u7981\u6b62\u3059\u308b\u3002CLKPR (Clock Prescale Register) \u306e\u64cd\u4f5c\u306b\u3064\u3044\u3066\u306f\u3001\u30c7\u30fc\u30bf\u30b7\u30fc\u30c8\u306e\u00a0<em><strong>13.11. System Clock Prescaler<\/strong><\/em> \u3092\u53c2\u7167\u3057\u305f\u3002\u6700\u4e0a\u4f4d\u30d3\u30c3\u30c8\u30921\u306b\u30bb\u30c3\u30c8\u3057\u30664\u30b5\u30a4\u30af\u30eb\u4ee5\u5185\u306b\u8a2d\u5b9a\u5024\u3092\u66f8\u304d\u8fbc\u3080\u5fc5\u8981\u304c\u3042\u308b\u3068\u306e\u3053\u3068\u3002\u3053\u3093\u306a\u30b3\u30fc\u30c9\u3067\u3082\u73fe\u5b9f\u306b4MHz\u3067\u52d5\u3044\u3066\u3044\u308b\u306e\u3067\u3001\u4f55\u3068\u304b\u9593\u306b\u5408\u3063\u3066\u3044\u308b\u3088\u3046\u3060\u3002<\/p>\n<p>\u305d\u306e\u5f8c\u3001D4\uff5eD17\u3092INPUT_PULLUP\u306b\u8a2d\u5b9a\u3057\u3066\u30d5\u30ed\u30fc\u30c6\u30a3\u30f3\u30b0\u72b6\u614b\u306e\u307e\u307e\u306b\u306a\u308b\u306e\u3092\u9632\u304e\u3001\u56de\u8def\u3067\u4f7f\u3063\u3066\u3044\u308b\u30dd\u30fc\u30c8\u306e\u521d\u671f\u5316\u3057\u305f\u3042\u3068\u3067\u3001wdt_disable(); \u306b\u3088\u3063\u3066WDT\u3092\u7981\u6b62\u3057\u3066\u3044\u308b\u3002<br \/>\nD2, D3\u306f\u3001\u30cf\u30a4\u30a4\u30f3\u30d4\u30fc\u30c0\u30f3\u30b9\u72b6\u614b\u306b\u3057\u3066\u304a\u304d\u305f\u3044\u306e\u3067\u3001INPUT\u3092\u6307\u5b9a\u3057\u3066\u3044\u308b(D3\u306f\u4f7f\u3063\u3066\u3044\u306a\u3044\u306e\u3060\u304c)\u3002<\/p>\n<h2>\u30b9\u30ea\u30fc\u30d7\u72b6\u614b\u3068\u5fa9\u5e30 (void loop(); )<\/h2>\n<p>void loop() \u306e\u5148\u982d\u3067\u30b9\u30ea\u30fc\u30d7\u72b6\u614b\u306b\u5165\u308b\u305f\u3081\u306e\u6e96\u5099 ( <strong>setup_port(true);<\/strong> ) \u3092\u3057\u3001\u3059\u3050\u306b\u30b9\u30ea\u30fc\u30d7\u306b\u5165\u308b\u3002\u305d\u3057\u3066D2\u30d4\u30f3\u304c\u8ad6\u7406H\u30ec\u30d9\u30eb\u3092\u691c\u51fa\u3059\u308b\u3068\u30b9\u30ea\u30fc\u30d7\u304b\u3089\u5fa9\u5e30\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u3002\u5fa9\u5e30\u5f8c\u306b\u62bc\u3055\u308c\u305f\u30ad\u30fc\u3092\u8b58\u5225\u3057IrLED\u3092\u70b9\u706f\u3055\u305b\u308b\u3002<br \/>\n\u30b9\u30ea\u30fc\u30d7\u304b\u3089\u5fa9\u5e30\u3059\u308b\u305f\u3081\u306eH\u30ec\u30d9\u30eb\u306f\u3001\u30ef\u30a4\u30e4\u30fc\u30c9OR\u56de\u8def\u306b\u3088\u3063\u30664\u3064\u306e\u30ad\u30fc\u306e\u3046\u3061\u306e\u3044\u305a\u308c\u304b\u304c\u62bc\u4e0b\u3055\u308c\u305f\u3068\u304d\u306b\u751f\u3058\u308b\u3002<\/p>\n<p>\u307e\u305a\u3001D2\u30d4\u30f3\u306f100K\u03a9\u306e\u62b5\u6297\u3092\u4ecb\u3057\u3066GND\u306b\u63a5\u5730\u3055\u308c\u3066\u3044\u308b\u304b\u3089\u3001\u4f55\u3082\u30ad\u30fc\u304c\u62bc\u3055\u308c\u3066\u3044\u306a\u3044\u3068\u304d\u306fL\u30ec\u30d9\u30eb\u306b\u306a\u3063\u3066\u3044\u308b\u3002<br \/>\n\u30b9\u30ea\u30fc\u30d7\u306b\u5165\u308b\u524d\u306b\u30dd\u30fc\u30c8<strong>SCAN_12<\/strong>\u3068<strong>SCAN_34<\/strong>\u306bINPUT_PULLUP\u6307\u5b9a\u3092\u884c\u3044\u3001\u30de\u30a4\u30b3\u30f3\u5185\u90e8\u306e\u30d7\u30eb\u30a2\u30c3\u30d7\u62b5\u6297(\u304a\u304a\u3080\u306d33K\u03a9)\u306b\u63a5\u7d9a\u3059\u308b\u3002\u30ad\u30fc\u304c\u62bc\u3055\u308c\u3066\u3044\u306a\u3044\u3068\u304d\u306f\u3001\u3069\u3053\u306b\u3082\u96fb\u6d41\u306f\u6d41\u308c\u306a\u3044\u3002\u3057\u304b\u3057\u306a\u304c\u3089\u3001\u3044\u305a\u308c\u304b\u306e\u30ad\u30fc\u30b9\u30a4\u30c3\u30c1\u304c\u30aa\u30f3\u306b\u306a\u308b\u3068\u3001\u30de\u30a4\u30b3\u30f3\u5185\u90e8\u304b\u3089\u30b9\u30a4\u30c3\u30c1\u30f3\u30b0\u30c0\u30a4\u30aa\u30fc\u30c9D1\u307e\u305f\u306fD2\u3092\u4ecb\u3057\u3066100K\u03a9\u306e\u62b5\u6297\u306bH\u30ec\u30d9\u30eb\u306e\u96fb\u5727\u304c\u304b\u304b\u308b\u3002\u540c\u6642\u306bD2\u306fH\u30ec\u30d9\u30eb\u3068\u306a\u308b\u306e\u3067\u5272\u8fbc\u307f\u304c\u767a\u751f\u3057\u30b9\u30ea\u30fc\u30d7\u72b6\u614b\u304c\u89e3\u9664\u3055\u308c\u308b\u3002<\/p>\n<h2>\u30ad\u30fc\u30b9\u30ad\u30e3\u30f3 (int scan(); \u304a\u3088\u3073 int get_key();)<\/h2>\n<p>\u30b9\u30ea\u30fc\u30d7\u72b6\u614b\u304b\u3089\u5fa9\u5e30\u3059\u308b\u3068\u3001\u4eca\u5ea6\u306f<strong> setup_port(false);<\/strong> \u3092\u547c\u3073\u30ad\u30fc\u30b9\u30ad\u30e3\u30f3\u306e\u305f\u3081\u306b <strong>SCAN_XX<\/strong>\u30dd\u30fc\u30c8\u3092\u51fa\u529b\u30e2\u30fc\u30c9\u306b\u6307\u5b9a\u3057\u3066\u3044\u308b\u3002\u305d\u3057\u3066\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u5404\u30ad\u30fc\u30b9\u30a4\u30c3\u30c1\u306e\u72b6\u614b\u3092\u8aad\u307f\u53d6\u308b\u3002<\/p>\n<ol>\n<li>SW1\u3092\u8aad\u3080\u305f\u3081\u3001SCAN_12\u306b0\u3001SCAN_34\u306b1\u3092\u51fa\u529b\u3057\u305f\u72b6\u614b\u3067KEY_13\u3092\u8aad\u3080\u3002\u30aa\u30f3\u306a\u3089\u30700\u304c\u30aa\u30d5\u306a\u3089\u30701\u304c\u5e30\u308b\u3002<\/li>\n<li>SW2\u3092\u8aad\u3080\u305f\u3081\u3001SCAN_XX\u5074\u306f\u5909\u3048\u305aKEY_24\u3092\u8aad\u3080\u3002\u30aa\u30f3\u306a\u3089\u30700\u304c\u30aa\u30d5\u306a\u3089\u30701\u304c\u5e30\u308b\u3002<\/li>\n<li>SW3\u3092\u8aad\u3080\u305f\u3081\u3001SCAN_12\u306b1\u3001SCAN_34\u306b0\u3092\u51fa\u529b\u3057\u305f\u72b6\u614b\u3067KEY_13\u3092\u8aad\u3080\u3002\u30aa\u30f3\u306a\u3089\u30700\u304c\u30aa\u30d5\u306a\u3089\u30701\u304c\u5e30\u308b\u3002<\/li>\n<li>SW4\u3092\u8aad\u3080\u305f\u3081\u3001SCAN_XX\u5074\u306f\u5909\u3048\u305aKEY_24\u3092\u8aad\u3080\u3002\u30aa\u30f3\u306a\u3089\u30700\u304c\u30aa\u30d5\u306a\u3089\u30701\u304c\u5e30\u308b\u3002<\/li>\n<li>scan(); \u306f\u3001\u30b9\u30a4\u30c3\u30c1\u306e\u62bc\u4e0b\u72b6\u614b\u3092\u623b\u308a\u5024\u306e\u4e0b\u4f4d4\u30d3\u30c3\u30c8\u3067\u8868\u3059\u3002<\/li>\n<li>getkey(); \u3067\u306fscan(); \u309210msec\u3054\u3068\u306b3\u56de\u547c\u3073\u30013\u56de\u3068\u3082\u540c\u3058\u5185\u5bb9\u306a\u3089\u3070\u3001\u30aa\u30f3\u306b\u306a\u3063\u3066\u3044\u308b\u30d3\u30c3\u30c8\u4f4d\u7f6e\u306b\u5bfe\u5fdc\u3059\u308b\u30ad\u30fc\u30b3\u30fc\u30c9(1\uff5e4)\u3092\u8fd4\u3059\u3002\u6b63\u3057\u304f\u691c\u51fa\u3067\u304d\u306a\u304b\u3063\u305f\u5834\u5408\u306f0\u3092\u8fd4\u3059\u3002<\/li>\n<\/ol>\n<p>ATmega\u306e\u5185\u90e8\u30d7\u30eb\u30a2\u30c3\u30d7\u62b5\u6297\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30ad\u30fc\u30de\u30c8\u30ea\u30c3\u30af\u30b9\u56de\u8def\u306b\u62b5\u6297\u3092\u4f7f\u308f\u305a\u306b\u6e08\u307e\u305b\u305f\u3002\u8907\u6570\u306e\u30ad\u30fc\u3092\u540c\u6642\u306b\u62bc\u3057\u305f\u3068\u304d\u306e\u96fb\u6d41\u306e\u56de\u308a\u8fbc\u307f\u306e\u914d\u616e\u3082\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u3001\u30c0\u30a4\u30aa\u30fc\u30c9\u3082\u4f7f\u308f\u306a\u304b\u3063\u305f\u3002<\/p>\n<p>\u3082\u3046\u3061\u3087\u3063\u3068\u307e\u3068\u3082\u306a\uff08\uff1f\uff09\u30ad\u30fc\u30de\u30c8\u30ea\u30c3\u30af\u304c\u6b32\u3057\u3044\u3068\u304d\u306f\u3001\u79cb\u6708\u96fb\u5b50\u3067350\u5186\u3067\u58f2\u3063\u3066\u3044\u308b\u00a0<a href=\"http:\/\/akizukidenshi.com\/catalog\/g\/gK-12229\/\">\uff14\u00d7\uff13\u30ad\u30fc\u30d1\u30c3\u30c9\u4f5c\u6210\u30ad\u30c3\u30c8 <\/a>\u304c\u304a\u3059\u3059\u3081\u3002\u3042\u308b\u3044\u306f\u3061\u3087\u3063\u3068\u524d\u306b\u53d6\u308a\u4e0a\u3052\u305f\u3001<a href=\"https:\/\/okiraku-camera.tokyo\/blog\/?p=6130\">TTP229\u3092\u4f7f\u3063\u305f\u9759\u96fb\u5bb9\u91cf\u30ad\u30fc\u30d1\u30c3\u30c9<\/a>\u3082\u3044\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u304c\u3001\u7bb1\u306b\u53ce\u3081\u308b\u306e\u304c\u5384\u4ecb\u305d\u3046\u3067\u306f\u3042\u308b\u3002<\/p>\n<h2>\u8d64\u5916\u7dda\u767a\u5149<\/h2>\n<p>\u4eca\u56de\u306f\u30ea\u30e2\u30b3\u30f3\u306b\u5fc5\u8981\u306a38KHz\u306e\u8d64\u5916\u7dda\u767a\u5149\u3092\u884c\u3046\u306b\u3042\u305f\u308a\u3001ATmega\u306ePWM\u6a5f\u80fd\u3092\u7528\u3044\u305f\u30023\u3064\u3042\u308b\u30bf\u30a4\u30de\u30fc\/\u30ab\u30a6\u30f3\u30bf\u30fc\u30e6\u30cb\u30c3\u30c8\u306e\u3046\u3061\u300116\u30d3\u30c3\u30c8\u306e\u30ab\u30a6\u30f3\u30c8\u304c\u53ef\u80fd\u306aTC1\u30e6\u30cb\u30c3\u30c8\u3092\u4f7f\u3063\u305f\u3002PWM\u306e\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u30c7\u30fc\u30bf\u30b7\u30fc\u30c8\u306e\u00a0<em><strong>20. TC1-16-bit Timer\/Counter1 with PWM<\/strong><\/em>\u00a0\u3092\u53c2\u7167\u3002<\/p>\n<p>\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u306e\u30c7\u30e5\u30fc\u30c6\u30a3\u30fc\u6bd4\u306f\u3001\u53c2\u8003\u306b\u3057\u305f\u8cc7\u6599\u3054\u3068\u306b1\/3 (33%)\u3060\u3063\u305f\u308a1:3 (25%)\u3068\u66f8\u3044\u3066\u3042\u3063\u305f\u308a\u3057\u3066\u8ff7\u3046\u3002\u8a66\u3057\u3066\u307f\u305f\u3068\u3053\u308d\u30011:1 (50%)\u3067\u30821:3 (25%)\u3067\u3082\u30ea\u30e2\u30b3\u30f3\u3068\u3057\u3066\u306f\u6a5f\u80fd\u3057\u305f\u3002\u4f8b\u3048\u307025%\u3068\u3044\u3063\u305f\u5834\u5408\u3001\u767a\u5149\u671f\u9593\u304c1\u5468\u671f\u306e25%\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u308b\u304b\u3089\u300138KHz\u306a\u3089\u30701\u5468\u671f\u7d0426\u03bcsec\u306e\u3046\u3061\u306e6\u03bcsec\u3060\u3051\u5149\u308b\u3053\u3068\u306b\u306a\u308b\u3002\u3064\u307e\u308a\u3001\u30c7\u30e5\u30fc\u30c6\u30a3\u30fc\u6bd4\u304c\u5c0f\u3055\u3044\u65b9\u304c\u96fb\u529b\u9762\u3067\u306f\u6709\u5229\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u308b\u3002<\/p>\n<h3>PWM\u51fa\u529b\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3<\/h3>\n<p>\u30c7\u30fc\u30bf\u30b7\u30fc\u30c8\u306b\u66f8\u3044\u3066\u3042\u308b\u5185\u5bb9\u3092\u8aad\u3093\u3067\u3082\u3001\u306a\u304b\u306a\u304b\u76f4\u611f\u7684\u306b\u7406\u89e3\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u3001\u6642\u9593\u306e\u7d4c\u904e(\u30af\u30ed\u30c3\u30af\u5370\u52a0)\u306b\u5bfe\u5fdc\u3057\u305f\u30ab\u30a6\u30f3\u30bf\u30fc(TCNT1)\u3068\u51fa\u529b\u6bd4\u8f03\u30d4\u30f3(OC1A\/B)\u306e\u52d5\u304d\u3092JavaScript\u3067\u9069\u5f53\u306b\u8a18\u8ff0\u3057\u3001GoogleChart\u3067\u6ce2\u5f62\u3092\u518d\u73fe\u3055\u305b\u3066\u307f\u305f\u3002\u5165\u529b\u30af\u30ed\u30c3\u30af8MHz\u3001\u30b7\u30b9\u30c6\u30e0\u30af\u30ed\u30c3\u30af\u30d7\u30ea\u30b9\u30b1\u30fc\u30e9\u3001TC\u30d7\u30ea\u30b9\u30b1\u30fc\u30e9\u5171\u306b\u7121\u3057\u306e\u524d\u63d0\u3067\u3001CTC\u3001FastPWM\u3001PhaseCorrectPWM \u306e3\u30e2\u30fc\u30c9\u3092\u5bfe\u8c61\u3068\u3057\u305f\u3002<br \/>\n\u8208\u5473\u306e\u3042\u308b\u65b9\u306f\u3001<a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/extra\/pwmwave1.html\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/extra\/pwmwave1.html\u00a0<\/a>\u3092\u53c2\u7167\u3057\u30bd\u30fc\u30b9\u3092\u898b\u3066\u304f\u3060\u3055\u3044\u3002\u4ee5\u4e0b\u306b\u793a\u3059\u56f3\u306f\u3001\u3053\u306e\u6295\u7a3f\u3092\u66f8\u3044\u3066\u3044\u308b\u6642\u70b9\u3067\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u3067\u3059\u3002\u4eca\u5f8c\u5909\u66f4\u3059\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3002<\/p>\n<figure id=\"attachment_6294\" aria-describedby=\"caption-attachment-6294\" style=\"width: 552px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/08\/0d40a5e4a645fc6b96e767d64ac0878e-6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-6294\" src=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/08\/0d40a5e4a645fc6b96e767d64ac0878e-6-552x169.png\" alt=\"\" width=\"552\" height=\"169\" \/><\/a><figcaption id=\"caption-attachment-6294\" class=\"wp-caption-text\">pwmwave FastPWM<\/figcaption><\/figure>\n<p>\u6a2a\u8ef8\u304c\u6642\u9593(\u03bcsec)\u3001\u7e26\u8ef8\u304c\u30ab\u30a6\u30f3\u30bf\u30fc\u5024\u3067\u3001\u659c\u3081\u306b\u7acb\u3061\u4e0a\u304c\u308b\u9ed2\u7dda\u304c\u30ab\u30a6\u30f3\u30bf\u30fc\u5024\u304c\u6642\u9593\u3068\u5171\u306b\u5897\u52a0\u3057\u3066\u3044\u304f\u69d8\u5b50\u3092\u8868\u3057\u3066\u3044\u308b\u3002\u305d\u3057\u3066\u8d64\u7dda\u304cOC1B\u306e\u30ed\u30b8\u30c3\u30af\u51fa\u529b\u3092\u8868\u73fe\u3057\u3066\u3044\u308b\u3002<br \/>\n\u9752\u7dda\u306f\u3001OC1A\u3092\u8868\u3057\u3066\u304a\u308a\u3001OCR1A\u3068\u30ab\u30a6\u30f3\u30bf\u30fc\u5024\u304c\u4e00\u81f4\u3057\u305f\u3068\u304d(\u3064\u307e\u308aTOP\u5024\u306b\u306a\u3063\u305f\u3068\u304d)\u3001OC1A\u306e\u51fa\u529b\u3092\u53cd\u8ee2\u3055\u305b\u3066\u3044\u308b\u3002\u9752\u7dda\u3068\u8d64\u7dda\u304c\u91cd\u306a\u308b\u3068\u5206\u304b\u308a\u306b\u304f\u3044\u306e\u3067\u3001\u30ed\u30b8\u30c3\u30af1\u3092\u8868\u3059\u9ad8\u3055\u3092\u5909\u3048\u305f\u3002<\/p>\n<h3>PWM\u30e6\u30cb\u30c3\u30c8\u306e\u8a2d\u5b9a (pwm_out(); )<\/h3>\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8003\u3048\u65b9\u3067\u3001PWM\u7528\u306e\u30e2\u30fc\u30c9\u30d3\u30c3\u30c8(TCCR1A\/B)\u3092\u8a2d\u5b9a\u3057\u305f(\u5185\u90e8\u30af\u30ed\u30c3\u30af8MHz\u3092\u524d\u63d0\u3057\u3066\u3044\u308b)\u3002<\/p>\n<ol>\n<li>TCNT1\u3092\u3001\u30ab\u30a6\u30f3\u30c8\u50240\u304b\u3089\u958b\u59cb\u305726.3\u03bcsec\u5f8c\u306bTOP\u5024\u306b\u9054\u3059\u308b\u30ab\u30a6\u30f3\u30bf\u30fc\u3068\u3057\u3066\u69cb\u6210\u3059\u308b\u30028MHz\u306a\u306e\u3067 26.3 \u00f7 0.125 = 210 \u30af\u30ed\u30c3\u30af\u3067TOP\u306b\u9054\u3059\u308b\u3088\u3046\u306b\u3059\u308c\u3070\u3088\u3044\u30020\u304b\u3089\u30ab\u30a6\u30f3\u30c8\u304c\u59cb\u307e\u308b\u306e\u3067OCR1A\u306b209\u3092\u8a2d\u5b9a\u3057\u3001OCR1A\u3092TOP\u5024\u3068\u3057\u3066\u4f7f\u3046\u3088\u3046\u8a2d\u5b9a\u3059\u308b\u3002<\/li>\n<li>OC1B\u306b\u306f\u3001(TOP\u5024\u306e\u6b21\u306e\u30af\u30ed\u30c3\u30af\u3067)\u30ab\u30a6\u30f3\u30c8\u5024\u304c0\u306b\u66f4\u65b0\u3055\u308c\u305f\u3068\u304d\u306b1\u3092\u51fa\u529b\u3055\u305b\u308b\u3002\u305d\u3057\u3066\u3001OCR1B\u306e\u5024\u304cTCNT1\u306e\u30ab\u30a6\u30f3\u30c8\u5024\u306b\u4e00\u81f4\u3057\u305f\u3089OC1B\u306b0\u3092\u51fa\u529b\u3055\u305b\u308b\u3002<\/li>\n<li>H\u306e\u671f\u9593(6.6\u03bcsec)\u306b\u76f8\u5f53\u3059\u308b\u30ab\u30a6\u30f3\u30c8\u6570\u306f 6.6 \u00f7 0.125 = 52.8 \u3002\u3057\u305f\u304c\u3063\u3066\u3001OCR1B\u306b\u306f52\u3092\u30bb\u30c3\u30c8\u3059\u308b\u3002<\/li>\n<li>\u3053\u3053\u307e\u3067\u306f8MHz\u30af\u30ed\u30c3\u30af\u304c\u524d\u63d0\u3002\u30b7\u30b9\u30c6\u30e0\u30af\u30ed\u30c3\u30af\u30d7\u30ea\u30b9\u30b1\u30fc\u30e9\u30672\u5206\u5468\u3059\u308b\u304b\u3089\u3001\u304a\u306e\u304a\u306e\u30922\u3067\u5272\u3063\u305f\u5024\u3092\u30ec\u30b8\u30b9\u30bf\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u308b\u3002<\/li>\n<\/ol>\n<p>\u5177\u4f53\u7684\u306b\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u305f\u3002<\/p>\n<ul>\n<li><strong>OCR1A = 209 \/ 2<\/strong><\/li>\n<li><strong>OCR1B = 52 \/ 2\u00a0<\/strong><\/li>\n<li><strong>TCCR1A = B01100011<\/strong><br \/>\nCOM1A = 01 (\u00a0Toggle OC1A on Compare Match)\u3001COM1B = 10 (Clear OC1B on Compare Match, set OC1B at BOTTOM)\u3002<br \/>\nWGM11 = 1\u3001WGM10 = 1\u3002<\/li>\n<li><strong>TCCR1B = B00011001<\/strong><br \/>\nWGM13=1\u3001WGM12=1\u3002<br \/>\nCS = 001 (No Clock Prescaler)\u3002<\/li>\n<li>\u00a0WGM(13-11)=1111 \u3002\u2192 FastPWM Mode\u3002<\/li>\n<\/ul>\n<p>(\u5404\u30ec\u30b8\u30b9\u30bf\u5185\u306e\u30e2\u30fc\u30c9\u30d3\u30c3\u30c8\u306e\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001<em><strong>20.14. Register Description<\/strong><\/em>\u00a0\u3092\u53c2\u7167\u3002)<\/p>\n<p>\u5fc5\u8981\u306a\u671f\u9593\u306ePWM\u6ce2\u751f\u6210\u304c\u7d42\u308f\u3063\u305f\u3089\u3001OC1B\u3068OC1A\u3092PWM\u30e6\u30cb\u30c3\u30c8\u304b\u3089\u5207\u308a\u96e2\u3057\u767a\u751f\u3092\u6b62\u3081\u308b\u3002<\/p>\n<h3>\u30ea\u30e2\u30b3\u30f3\u3068\u3057\u3066\u306e\u30c7\u30fc\u30bf\u9001\u4fe1<\/h3>\n<p>\u4eca\u56de\u30bf\u30fc\u30b2\u30c3\u30c8\u306b\u3057\u305f\u30ea\u30e2\u30b3\u30f3(\u30b7\u30e3\u30ef\u30fc\u30c8\u30a4\u30ec)\u306f\u3001\u30d5\u30ec\u30fc\u30e0\u69cb\u6210\u306fNEC\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u3088\u3046\u3060\u304c\u30d5\u30ec\u30fc\u30e0\u5185\u306e\u30c7\u30fc\u30bf\u306f3\u30d0\u30a4\u30c8\u3068\u3044\u3046\u3082\u306e\u3060\u3063\u305f\u3002NEC\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u306a\u306e\u3067 1bit\u3092\u9001\u4fe1\u3059\u308b\u3068\u304d\u306b\u8d64\u5916\u5149\u3092\u70b9\u6ec5\u3055\u305b\u308b\u57fa\u6e96\u671f\u9593(T\u671f\u9593)\u306f560\u03bcsec\u306b\u306a\u308b(<a href=\"https:\/\/okiraku-camera.tokyo\/blog\/?p=4854\">\u30d5\u30a9\u30fc\u30c3\u30c8\u306e\u8a71\u306f\u4ee5\u524d\u306e\u6295\u7a3f<\/a>\u3092\u53c2\u7167)\u3002<\/p>\n<p>1bit\u306e\u51fa\u529b\u3092\u884c\u3046 <strong>send_bit()<\/strong> \u95a2\u6570\u3084\u3001\u305d\u3053\u304b\u3089\u547c\u3070\u308c\u308b\u4e0a\u8a18\u306e\u00a0<strong>pwm_out()\u00a0<\/strong>\u95a2\u6570\u3067\u306f\u3001delayMicroseconds() \u3092\u4f7f\u3063\u3066T\u671f\u9593\u307e\u305f\u306f\u305d\u306e\u500d\u6570\u306e\u9045\u5ef6\u3092\u7f6e\u3044\u3066\u3044\u308b\u3002\u30b9\u30b1\u30c3\u30c1\u5185\u3067\u306f\u3001\u3042\u3089\u304b\u3058\u3081T\u671f\u9593\u3092PRESCALE_RATIO\u3067\u5272\u3063\u305f\u5024\u3092\u5b9a\u6570\u3068\u3057\u3066\u5b9a\u7fa9\u3057\u3066\u3044\u308b\u306e\u3067\u3001\u500b\u3005\u306e\u547c\u3073\u51fa\u3057\u306b\u306f\u542b\u307e\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u306b\u6ce8\u610f\u3002<\/p>\n<p><strong>void\u00a0send_byte()<\/strong> \u3067\u306f\u30011\u30d0\u30a4\u30c8\u306e\u30c7\u30fc\u30bf\u3092LSB\u304b\u3089\u9806\u306b\u8d64\u5916\u5149\u306e\u70b9\u6ec5\u306b\u7f6e\u304d\u63db\u3048\u308b\u3002\u305d\u3057\u3066\u3001\u30d5\u30ec\u30fc\u30e0\u306e\u958b\u59cb\u3092\u8868\u3059\u00a0<strong>send_leader()<\/strong> \u3067\u3082NEC\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306b\u5408\u308f\u305b\u305f\u671f\u9593\u306e\u6ce2\u5f62\u306e\u751f\u6210\u3092\u884c\u3046\u3002<\/p>\n<p><strong>void send_command();<\/strong> \u3067\u5404\u30ad\u30fc\u30b9\u30a4\u30c3\u30c1\u306b\u5bfe\u5fdc\u3057\u305f\u30c7\u30fc\u30bf\u3092\u9001\u4fe1\u3057\u3066\u3044\u308b\u3002\u30b9\u30a4\u30c3\u30c1\u30fc\u306b\u5bfe\u5fdc\u3057\u305f\u30c7\u30fc\u30bf\u81ea\u4f53\u306f<strong> command_data[];<\/strong> \u3068\u3044\u3046\u914d\u5217\u306b\u683c\u7d0d\u3057\u305f\u3002\u30d5\u30ec\u30fc\u30e0\u5185\u306e\u5148\u982d\u306f 0x3a\u3067\u56fa\u5b9a\u30012\u756a\u3081\u306b\u30b9\u30a4\u30c3\u30c1\u306b\u5bfe\u5fdc\u3057\u305f\u30c7\u30fc\u30bf\u30013\u756a\u76ee\u306b\u30d3\u30c3\u30c8\u53cd\u8ee2\u3057\u305f\u30c7\u30fc\u30bf\u3092\u9001\u4fe1\u3059\u308b\u3002<\/p>\n<figure id=\"attachment_6369\" aria-describedby=\"caption-attachment-6369\" style=\"width: 552px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/6b24ec3b71a029012ef8878ef6412b59.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-6369\" src=\"https:\/\/okiraku-camera.tokyo\/blog\/wp-content\/uploads\/2017\/09\/6b24ec3b71a029012ef8878ef6412b59-552x414.jpg\" alt=\"\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\" width=\"552\" height=\"414\" \/><\/a><figcaption id=\"caption-attachment-6369\" class=\"wp-caption-text\">\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u3000\u5916\u89b3<\/figcaption><\/figure>\n<h1>\u304d\u3087\u3046\u306e\u307e\u3068\u3081<\/h1>\n<p>\u601d\u3044\u3064\u304d\u3067\u30b7\u30b9\u30c6\u30e0\u30af\u30ed\u30c3\u30af\u30d7\u30ea\u30b9\u30b1\u30fc\u30e9\u3092\u4f7f\u3046\u3053\u3068\u306b\u3057\u3001\u306a\u304a\u304b\u3064\u96fb\u6c60\u672c\u6570\u3082\u8a66\u4f5c\u6642\u304b\u3089\u6e1b\u3089\u3057\u3066\u3057\u307e\u3063\u305f\u3002\u96fb\u6c60\u304c\u3042\u308b\u7a0b\u5ea6\u6d88\u8017\u3057\u305f\u3042\u3068\u3067\u30ea\u30bb\u30c3\u30c8\u3057\u305f\u3089\u8d77\u52d5\u3057\u306a\u3044\u69cb\u6210\u3068\u3044\u3046\u306e\u306f\u3001\u306a\u304b\u306a\u304b\u30b7\u30ed\u30a6\u30c8\u81ed\u304f\u3066\u3044\u3044\u3093\u3058\u3083\u306a\u304b\u308d\u3046\u304b\u3002\u96fb\u6e90\u96fb\u5727\u304c2V\u3092\u5272\u308a\u8fbc\u3080\u307e\u3067\u306f\u52d5\u3044\u3066\u3044\u3066\u6b32\u3057\u3044\u3082\u306e\u306a\u306e\u3060\u3051\u3069\u3001\u30db\u30f3\u30c8\u306b\u52d5\u304f\u306e\u304b\u534a\u4fe1\u534a\u7591\u3067\u306f\u3042\u308b\u3002(<strong>\u8ffd\u8a18:\u3053\u306e\u6295\u7a3f\u5185\u5bb9\u306e\u307e\u307e\u3067\u306f\u30c0\u30e1\u3067\u3057\u305f\u3002\u7d9a\u304d\u3068\u3057\u3066\u5225\u7a3f\u306b\u5bfe\u7b56\u3092\u307e\u3068\u3081\u307e\u3059)\u3002<\/strong><\/p>\n<p>\u7701\u96fb\u529b\u5316\u306b\u3064\u3044\u3066\u3082\u3046\u3061\u3087\u3063\u3068\u30c4\u30e1\u3066\u304a\u304d\u305f\u3044\u306e\u3067\u3001\u30ed\u30b8\u30c3\u30af\u3067\u96fb\u5727\u3092\u5909\u66f4\u3067\u304d\u308b\u96fb\u5727\u30ec\u30ae\u30e5\u30ec\u30fc\u30bf\u3084\u3001\u30de\u30a4\u30b3\u30f3\u306b\u4e0e\u3048\u308b\u30af\u30ed\u30c3\u30af\u3092\u81ea\u7531\u306b\u5909\u66f4\u3067\u304d\u308b\u4ed5\u7d44\u307f\u306a\u3069\u3092\u7528\u610f\u3057\u3088\u3046\u304b\u3068\u601d\u3063\u3066\u8003\u3048\u59cb\u3081\u305f\u3002\u305d\u306e\u3046\u3061\u63b2\u8f09\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u4eca\u56de\u306f\u8868\u7acb\u3063\u305f\u5834\u6240\u3067\u4f7f\u3046\u3082\u306e\u3067\u306f\u306a\u3044\u306e\u3067\u3001\u5916\u89b3\u306b\u3064\u3044\u3066\u306f\u8003\u616e\u3057\u306a\u304b\u3063\u305f\u304c\u3001\u3082\u3046\u3061\u3087\u3063\u3068\u30ab\u30c3\u30b3\u3088\u304f\u4f5c\u308a\u305f\u3044\u3082\u306e\u3067\u3042\u308a\u307e\u3059\u30023D\u30d7\u30ea\u30f3\u30bf\u30fc\u3068\u304b\u4f7f\u3063\u3061\u3083\u3046\u3093\u3067\u3057\u3087\u3046\u304b\u306d\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Arduino PRO MINI (3.3V, 8MHz\u52d5\u4f5c)\u3092\u4f7f\u3063\u3066\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u3092\u8a66\u4f5c\u3057\u305f\u8a71\u306e\u7d9a\u304d\u306b\u306a\u308b\u304c\u3001\u4eca\u56de\u306f\u7701\u96fb\u529b\u5316\u3068\u5b9f\u7528\u7684\u306a\uff08\uff1f\uff09\u30ea\u30e2\u30b3\u30f3\u306e\u88fd\u4f5c\u3001\u305d\u3057\u3066\u3001\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306b\u3064\u3044\u3066\u3002ATmega328P\u306e\u5404\u7a2e\u6a5f\u80fd\u3084 &hellip; <a href=\"https:\/\/okiraku-camera.tokyo\/blog\/?p=6352\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">8MHz\u306eArduino PRO MINI\u3067\u8d64\u5916\u7dda\u30ea\u30e2\u30b3\u30f3\u3092\u4f5c\u3063\u3066\u307f\u308b \u305d\u306e2<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[69],"tags":[65,86],"class_list":["post-6352","post","type-post","status-publish","format-standard","hentry","category-programming","tag-arduino","tag-remocon"],"_links":{"self":[{"href":"https:\/\/okiraku-camera.tokyo\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/okiraku-camera.tokyo\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/okiraku-camera.tokyo\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/okiraku-camera.tokyo\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/okiraku-camera.tokyo\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6352"}],"version-history":[{"count":0,"href":"https:\/\/okiraku-camera.tokyo\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6352\/revisions"}],"wp:attachment":[{"href":"https:\/\/okiraku-camera.tokyo\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/okiraku-camera.tokyo\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/okiraku-camera.tokyo\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}