{"id":1024,"date":"2018-11-07T18:00:13","date_gmt":"2018-11-07T09:00:13","guid":{"rendered":"http:\/\/kats-eye.net\/info\/?p=1024"},"modified":"2020-06-13T09:15:09","modified_gmt":"2020-06-13T00:15:09","slug":"mcp23017-esp","status":"publish","type":"post","link":"https:\/\/kats-eye.net\/info\/2018\/11\/07\/mcp23017-esp\/","title":{"rendered":"ARDUINO\u3067I2C\u63a5\u7d9a \uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\u3092\u4f7f\u3046"},"content":{"rendered":"<p><span style=\"text-decoration: underline;\"><strong><span style=\"background-color: #ffcc00; font-size: 14pt;\">\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc<\/span><\/strong><\/span><br \/>\n\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\uff08MCP23017-E\/SP\uff09\u306e\u78ba\u8a8d\u3092\u884c\u3044&nbsp;&nbsp;I<sup>2<\/sup>C\u63a5\u7d9a\u306b\u3064\u3044\u3066\u306e\u8abf\u67fb\u306f\u3068\u308a\u3042\u3048\u305a\u7d42\u4e86\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u4eca\u56de\u78ba\u8a8d\u3059\u308b\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\u306f\u3001I<sup>2<\/sup>C\u63a5\u7d9a\u306b\u3088\u308a\u5165\u51fa\u529b\u7aef\u5b50\u309216\u70b9\u62e1\u5f35\u3067\u304d\u308bIC\u3067\u3059\u3002\u5916\u90e8\u5165\u529b\u304b\u3089\u30c7\u30d0\u30a4\u30b9\u30a2\u30c9\u30ec\u30b9\u3092\u5909\u66f4\u3057\u3001\u540c\u3058IC\u3092\uff18\u500b\u307e\u3067\u63a5\u7d9a\u51fa\u6765\u308b\u306e\u3067\u3001\u6700\u5927\uff11\uff12\uff18\u70b9\u306e\u5165\u51fa\u529b\u7aef\u5b50\u3092\u62e1\u5f35\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><strong><span style=\"text-decoration: underline;\"><span style=\"font-size: 14pt; background-color: #ffcc00;\">MCP23017-E\/SP\u4ed5\u69d8<\/span><\/span><\/strong><br \/>\n\u4eca\u56de\u6271\u3046\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\u306e\u4ed5\u69d8\u306b\u3064\u3044\u3066\u7c21\u5358\u306b\u78ba\u8a8d\u3057\u3066\u307f\u307e\u3059\u3002\u4e0b\u56f3\u306e\u5de6\u5074\u306bMCP23017-E\/SP\u306e\u30d4\u30f3\u30a2\u30b5\u30a4\u30f3\u3001\u53f3\u5074\u306b\u4eca\u56de\u30d7\u30ed\u30b0\u30e9\u30e0\u5185\u3067\u66f8\u304d\u8fbc\u307f\u3001\u8aad\u307f\u8fbc\u307f\u3092\u884c\u3046\u30ec\u30b8\u30b9\u30bf\u306e\u30a2\u30c9\u30ec\u30b9\u3068\u5185\u5bb9\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\u306f\u3001A\u30dd\u30fc\u30c8\uff08GPA0\uff5e7\uff09\u3068B\u30dd\u30fc\u30c8\uff08GPA0\uff5e7\uff09\u3092\u5165\u51fa\u529b\u7aef\u5b50\u3068\u3057\u3066\u4f7f\u7528\u3057\u307e\u3059\u3002\u5165\u529b\uff0f\u51fa\u529b\u306f\u3001IODIRA\u3001IODIRB&nbsp; \u30ec\u30b8\u30b9\u30bf\u8a2d\u5b9a\u306b\u3088\u3063\u3066\u5909\u66f4\u3057\u307e\u3059\u3002\u5165\u529b\u8a2d\u5b9a\u6642\u306f\u3001GPPUA\u3001GPPUB&nbsp; \u30ec\u30b8\u30b9\u30bf\u306b\u3066\u5185\u90e8\u30d7\u30eb\u30a2\u30c3\u30d7\u62b5\u6297\u3092\u5229\u7528\u3067\u304d\u308b\u69d8\u306b\u306a\u308a\u3001\u5916\u90e8\u30d7\u30eb\u30a2\u30c3\u30d7\u62b5\u6297\u306f\u4e0d\u8981\u3068\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u8a2d\u5b9a\u5f8c\u3001\u51fa\u529b\u8a2d\u5b9a\u6642\u306f\u3001GPIOA\u3001GPIOB&nbsp; \u306b\u66f8\u304d\u8fbc\u307f\u3001\u5165\u529b\u8a2d\u5b9a\u6642\u306f\u3001GPIOA\u3001GPIOB&nbsp; \u306e\u5024\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-702\" src=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_pin.jpg\" alt=\"\" width=\"1037\" height=\"397\" srcset=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_pin.jpg 1037w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_pin-300x115.jpg 300w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_pin-768x294.jpg 768w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_pin-1024x392.jpg 1024w\" sizes=\"(max-width: 1037px) 100vw, 1037px\" \/><\/p>\n<p><strong><span style=\"text-decoration: underline; font-size: 14pt;\"><span style=\"background-color: #ffcc00;\">\u30c7\u30d0\u30a4\u30b9\u30a2\u30c9\u30ec\u30b9\u8a2d\u5b9a<\/span><\/span><\/strong><br \/>\nIC\u306eA0\uff0cA1\uff0cA2\u306f\u3001I<sup>2<\/sup>C\u30d0\u30b9\u4e0a\u306e\u30c7\u30d0\u30a4\u30b9\u30a2\u30c9\u30ec\u30b9\u3092\u8a2d\u5b9a\u3059\u308b\u5916\u90e8\u7aef\u5b50\u3067\u3059\u3002\u5404\u7aef\u5b50\uff12\u901a\u308a\uff08High or Low\uff09\u306e\u8a2d\u5b9a\u304c\u3067\u304d\u307e\u3059\u306e\u3067\u3001\u5168\uff18\u901a\u308a\uff08= 2 X 2 X 2 \uff09\u306e\u7570\u306a\u308b\u30a2\u30c9\u30ec\u30b9\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002\u30c7\u30d0\u30a4\u30b9\u30a2\u30c9\u30ec\u30b9\u306f\u4e0b\u8a18\u306e\u69d8\u306b\u306a\u3063\u3066\u3044\u3066\u3001\u7070\u8272\u306e\u56fa\u5b9a\u90e8\u3068A0\uff0cA1\uff0cA2\u306e\u5916\u90e8\u7aef\u5b50\u3067\u8a2d\u5b9a\u3059\u308b\u90e8\u5206\u3067\u69cb\u6210\u3055\u308c\u307e\u3059\u3002\u5f93\u3063\u3066\u30010x20\uff5e0x27 \u307e\u3067\u306e\u30c7\u30d0\u30a4\u30b9\u30a2\u30c9\u30ec\u30b9\u3092\u8a2d\u5b9a\u51fa\u6765\u307e\u3059\u3002<\/p>\n<table style=\"border-collapse: collapse; width: 61.7181%; height: 28px;\" border=\"1\">\n<tbody>\n<tr>\n<td style=\"width: 42.8571%; text-align: center; background-color: #2f78f7;\" colspan=\"3\"><span style=\"font-size: 10pt;\">\u4e0a\u4f4d\u30d3\u30c3\u30c8<\/span><\/td>\n<td style=\"width: 57.1428%; text-align: center; background-color: #2f78f7;\" colspan=\"4\"><span style=\"font-size: 10pt;\">\u4e0b\u4f4d\u30d3\u30c3\u30c8<\/span><\/td>\n<\/tr>\n<tr style=\"height: 12px;\">\n<td style=\"width: 14.2857%; text-align: center; background-color: #a39e9e;\"><span style=\"font-size: 10pt;\">\uff10<\/span><\/td>\n<td style=\"width: 14.2857%; text-align: center; background-color: #a39e9e;\"><span style=\"font-size: 10pt;\">\uff11<\/span><\/td>\n<td style=\"width: 14.2857%; text-align: center; background-color: #a39e9e;\"><span style=\"font-size: 10pt;\">\uff10<\/span><\/td>\n<td style=\"width: 14.2857%; background-color: #ada8a8; text-align: center;\"><span style=\"font-size: 10pt;\">\uff10<\/span><\/td>\n<td style=\"width: 14.2857%; text-align: center;\"><span style=\"font-size: 10pt;\">A2<\/span><\/td>\n<td style=\"width: 14.2857%; text-align: center;\"><span style=\"font-size: 10pt;\">A1<\/span><\/td>\n<td style=\"width: 14.2857%; text-align: center;\"><span style=\"font-size: 10pt;\">A0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong><span style=\"text-decoration: underline;\"><span style=\"background-color: #ffcc00; font-size: 14pt;\">\u63a5\u7d9a\u56f3<\/span><\/span><\/strong><br \/>\n\u63a5\u7d9a\u56f3\u3067\u3059\u3002\uff12\u3064\u306e\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\u3068\u65e2\u306b\u4f7f\u7528\u3057\u305fLCD\u30e2\u30b8\u30e5\u30fc\u30eb\u3092 I<sup>2<\/sup>C\u30d0\u30b9\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001\u305d\u308c\u305e\u308c\u306e\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\u306eA\u30dd\u30fc\u30c8\u306b\u30c8\u30b0\u30eb\u30b9\u30a3\u30c3\u30c1\u3001B\u30dd\u30fc\u30c8\u306bLED\u3092\uff12\u500b\u3065\u3064\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002RESET\uff0818\u756aPIN\uff09\u306f\u3001\u901a\u5e38High\u306b\u3057\u3001\u30ea\u30bb\u30c3\u30c8\u6642Low\u3068\u306e\u3053\u3068\u3067\u3059\u306e\u3067\u3001\u3068\u308a\u3042\u3048\u305a\uff15V\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n\u4e0b\u56f3\u3088\u308a\u3001\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\u306e\u30c7\u30d0\u30a4\u30b9\u30a2\u30c9\u30ec\u30b9\u306f\u30010x20\u30010x21\u3067\u3059\u3002LCD\u306f0x3E\uff08\u56fa\u5b9a\uff09\u3067\u3059\u3002<img loading=\"lazy\" class=\"alignnone size-full wp-image-708\" src=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_wiring.jpg\" alt=\"\" width=\"1146\" height=\"357\" srcset=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_wiring.jpg 1146w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_wiring-300x93.jpg 300w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_wiring-768x239.jpg 768w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/MCP23017_wiring-1024x319.jpg 1024w\" sizes=\"(max-width: 1146px) 100vw, 1146px\" \/><\/p>\n<p>\u5b9f\u914d\u7dda\u306f\u4e0b\u306e\u5199\u771f\u306e\u901a\u308a\u3067\u3059\u3002<br \/>\n<img loading=\"lazy\" class=\"alignnone size-full wp-image-710\" src=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/wire.jpg\" alt=\"\" width=\"633\" height=\"566\" srcset=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/wire.jpg 633w, https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/wire-300x268.jpg 300w\" sizes=\"(max-width: 633px) 100vw, 633px\" \/><\/p>\n<p><!-- START MoshimoAffiliateEasyLink --><script type=\"text\/javascript\">(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName(\"body\")[0],e.appendChild(d))})(window,document,\"script\",\"\/\/dn.msmstatic.com\/site\/cardlink\/bundle.js\",\"msmaflink\");msmaflink({\"n\":\"Arduino Uno Rev3 ATmega328 \u30de\u30a4\u30b3\u30f3\u30dc\u30fc\u30c9 A000066\",\"b\":\"Arduino\",\"t\":\"A000066\",\"d\":\"https:\\\/\\\/m.media-amazon.com\",\"c_p\":\"\\\/images\\\/I\",\"p\":[\"\\\/51rmayrbsPL.jpg\",\"\\\/5123E8vf3NL.jpg\",\"\\\/41RPGxLozoL.jpg\",\"\\\/519-y7vsUrL.jpg\",\"\\\/41RPGxLozoL.jpg\",\"\\\/41jH5Ndh8RL.jpg\"],\"u\":{\"u\":\"https:\\\/\\\/www.amazon.co.jp\\\/dp\\\/B008GRTSV6\",\"t\":\"amazon\",\"r_v\":\"\"},\"aid\":{\"amazon\":\"1848374\",\"rakuten\":\"1848376\",\"yahoo\":\"1848375\"},\"eid\":\"0sjh8\",\"s\":\"s\"});<\/script><\/p>\n<div id=\"msmaflink-0sjh8\">\u30ea\u30f3\u30af<\/div>\n<p><!-- MoshimoAffiliateEasyLink END --><\/p>\n<p><strong><span style=\"text-decoration: underline;\"><span style=\"background-color: #ffcc00; font-size: 14pt;\">\u52d5\u4f5c\u72b6\u614b<\/span><\/span><\/strong><br \/>\n\u30b9\u30a3\u30c3\u30c1\u5207\u308a\u63db\u3048\u3067\u70b9\u706fLED\u306e\u5207\u308a\u63db\u3048\u3068LCD\u306b\u30b9\u30a3\u30c3\u30c1\u72b6\u614b\u3092\u8868\u793a\u3057\u307e\u3059\u3002<\/p>\n<div style=\"width: 474px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-1024-1\" width=\"474\" height=\"356\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/IO_CNCT.mp4?_=1\" \/><a href=\"https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/IO_CNCT.mp4\">https:\/\/kats-eye.net\/info\/wp-content\/uploads\/2018\/10\/IO_CNCT.mp4<\/a><\/video><\/div>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"text-decoration: underline; background-color: #ff9900;\"><span style=\"font-size: 14pt; background-color: #ff9900;\"><br \/>\n<span style=\"background-color: #ffcc00;\">\u30d7\u30ed\u30b0\u30e9\u30e0<\/span><\/span><\/span><\/strong><br \/>\n\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n<pre class=\"height-set:true lang:default decode:true \">#include &lt;Wire.h&gt;\n\n\/\/ \u2605 IO-EXPANDER(MCP23017)\u5b9a\u6570\u30fb\u5909\u6570\n#define DVC_MCP23017_00 0x20                      \/\/ IO-EXPANDER_00 \uff71\uff84\uff9e\uff9a\uff7d\uff08\u5916\u90e8\u7aef\u5b50\u8a2d\u5b9a\uff09\n#define DVC_MCP23017_01 0x21                      \/\/ IO-EXPANDER_01 \uff71\uff84\uff9e\uff9a\uff7d\uff08\u5916\u90e8\u7aef\u5b50\u8a2d\u5b9a\uff09\nuint8_t U1_PA, U2_PA =0;                          \/\/ Define variables to hold I\/O port readings.\n\n\/\/ LCD(AQM0802A) \u5b9a\u6570\u30fb\u5909\u6570\n#define DVC_AQM0802A 0x3e                         \/\/ LCD(AQM0802A)\uff71\uff84\uff9e\uff9a\uff7d\uff08\u56fa\u5b9a\uff09\nbyte contrast = 20;                               \/\/ \u30b3\u30f3\u30c8\u30e9\u30b9\u30c8(0\uff5e63)\n\n\/\/ \u2605 LCD(AQM0802A)\u521d\u671f\u5316\nvoid LCD_INIT(){\n    lcd_cmd(0b00111000);                          \/\/ function set\n    lcd_cmd(0b00111001);                          \/\/ function set\n    lcd_cmd(0b00000100);                          \/\/ EntryModeSet\n    lcd_cmd(0b00010100);                          \/\/ interval osc\n    lcd_cmd(0b01110000 | (contrast &amp; 0xF));       \/\/ contrast Low\n    lcd_cmd(0b01011100 | ((contrast &gt;&gt; 4) &amp; 0x3));\/\/ contast High\/icon\/power\n    lcd_cmd(0b01101100);                          \/\/ follower control\n    delay(200);\n    lcd_cmd(0b00111000);                          \/\/ function set\n    lcd_cmd(0b00001100);                          \/\/ Display On\n    lcd_cmd(0b00000001);                          \/\/ Clear Display\n    delay(2);\n}\n\n\/\/ \u2605 LCD(AQM0802A)\u30b3\u30de\u30f3\u30c9\u66f8\u304d\u8fbc\u307f\uff08I2C\uff09\nvoid lcd_cmd(byte x) {\n    Wire.beginTransmission(DVC_AQM0802A);\n    Wire.write(0b00000000);                       \/\/ CO = 0,RS = 0\n    Wire.write(x);\n    Wire.endTransmission();\n}\n\n\/\/ \u2605 \u9023\u7d9a\u6587\u5b57\nvoid lcd_contdata(byte x) {\n  Wire.write(0b11000000);                         \/\/ CO = 1, RS = 1\n  Wire.write(x);\n}\n\n\/\/ \u2605 \u6700\u7d42\u6587\u5b57\nvoid lcd_lastdata(byte x) {\n  Wire.write(0b01000000);                         \/\/ CO = 0, RS = 1\n  Wire.write(x);\n}\n \n\/\/ \u2605 \u6587\u5b57\u306e\u8868\u793a\nvoid lcd_printStr(const char *s) {\n  Wire.beginTransmission(DVC_AQM0802A);\n  while (*s) {\n    if (*(s + 1)) {\n      lcd_contdata(*s);\n    } else {\n      lcd_lastdata(*s);\n    }\n    s++;\n  }\n  Wire.endTransmission();\n}\n \n\/\/ \u2605 \u8868\u793a\u4f4d\u7f6e\u306e\u6307\u5b9a\nvoid lcd_setCursor(byte x, byte y) {\n  lcd_cmd(0x80 | (y * 0x40 + x));\n}\n\n\/\/ \u2605 \u6570\u5b57\u8868\u793a\nvoid lcd_printInt(int num){\n  char int2str[10];\n  sprintf(int2str,\"%d\",num);\n  lcd_printStr(int2str);  \n}\n\n\/\/ \u6307\u5b9a\u30ec\u30b8\u30b9\u30bf\u306b\u30c7\u30fc\u30bf\u66f8\u304d\u8fbc\u307f\nvoid wrt_reg(byte dvc_adrs , uint8_t reg , uint8_t value) {\n    Wire.beginTransmission(dvc_adrs);             \/\/ \u30c7\u30d0\u30a4\u30b9\u6307\u5b9a\u3001\u901a\u4fe1\u958b\u59cb\n    Wire.write((uint8_t)reg);                     \/\/ \u30ec\u30b8\u30b9\u30bf\u6307\u5b9a\n    Wire.write((uint8_t)(value));                 \/\/ \u30c7\u30fc\u30bf\u66f8\u8fbc\n    Wire.endTransmission();                       \/\/ \u9001\u4fe1\u5b8c\u4e86\n}\n\n\/\/ \u6307\u5b9a\u30ec\u30b8\u30b9\u30bf\u304b\u3089\u30c7\u30fc\u30bf\u8aad\u307f\u51fa\u3057\nuint8_t read_reg(byte dvc_adrs , uint8_t reg) {\n    Wire.beginTransmission(dvc_adrs);             \/\/ \u9001\u4fe1\u51e6\u7406\u958b\u59cb\n    Wire.write(reg);                              \/\/ \u30ec\u30b8\u30b9\u30bf\u6307\u5b9a\n    Wire.endTransmission(false);                  \/\/ \u9001\u4fe1\u5b8c\u4e86(\u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u7dad\u6301)\n    Wire.requestFrom(dvc_adrs , 1);               \/\/ 1byte\u30c7\u30fc\u30bf\u306b\u8981\u6c42\n\n    if (! Wire.available()) return -1;            \/\/ \u30c7\u30fc\u30bf\u6709\u7121\u5224\u5b9a\n    return (Wire.read());                         \/\/ 1byte\u30c7\u30fc\u30bf  \n}\n\n\/\/ \u8d77\u52d5\u6642\u51e6\u7406\nvoid setup() {\n    Wire.begin();                                 \/\/ \u30de\u30b9\u30bf\u3068\u3057\u3066I2C\u30d0\u30b9\u306b\u63a5\u7d9a\u3059\u308b\n\n    \/\/ DVC_MCP23017_00(DVC\u30a2\u30c9\u30ec\u30b9\uff1a0x20)\n    wrt_reg( DVC_MCP23017_00 , 0x00 , 0xFF );     \/\/ DVC00 I\/O-PortA \u5165\u529b\u8a2d\u5b9a\n    wrt_reg( DVC_MCP23017_00 , 0x0C , 0xFF );     \/\/ DVC00 I\/O-PortA \u5165\u529b\uff8c\uff9f\uff99\uff71\uff6f\uff8c\uff9f\u8a2d\u5b9a\n    wrt_reg( DVC_MCP23017_00 , 0x01 , 0x00 );     \/\/ DVC00 I\/O-PortB \u51fa\u529b\u8a2d\u5b9a\n    wrt_reg( DVC_MCP23017_00 , 0x13 , 0x00 );     \/\/ DVC00 I\/O-PortB \u5168OFF\n    \/\/ DVC_MCP23017_01(DVC\u30a2\u30c9\u30ec\u30b9\uff1a0x21)\n    wrt_reg( DVC_MCP23017_01 , 0x00 , 0xFF );     \/\/ I\/O-PortA \u5165\u529b\u8a2d\u5b9a\n    wrt_reg( DVC_MCP23017_01 , 0x0C , 0xFF );     \/\/ I\/O-PortA \u5165\u529b\uff8c\uff9f\uff99\uff71\uff6f\uff8c\uff9f\u8a2d\u5b9a\n    wrt_reg( DVC_MCP23017_01 , 0x01 , 0x00 );     \/\/ I\/O-PortB \u51fa\u529b\u8a2d\u5b9a\n    wrt_reg( DVC_MCP23017_01 , 0x13 , 0x00 );     \/\/ I\/O-PortB \u5168OFF\n\n    LCD_INIT();                                   \/\/ \u2605 LCD\u521d\u671f\u5316\n}\n\n\/\/ \u7e70\u308a\u8fd4\u3057\u51e6\u7406\nvoid loop() {\n    U1_PA = read_reg( DVC_MCP23017_00 , 0x12 );   \/\/ \uff83\uff9e\uff8a\uff9e\uff72\uff7d\uff65\uff9a\uff7c\uff9e\uff7d\uff80\u6307\u5b9a\u3057\uff83\uff9e\uff70\uff80\u8aad\u53d6\n    U2_PA = read_reg( DVC_MCP23017_01 , 0x12 );   \/\/ \uff83\uff9e\uff8a\uff9e\uff72\uff7d\uff65\uff9a\uff7c\uff9e\uff7d\uff80\u6307\u5b9a\u3057\uff83\uff9e\uff70\uff80\u8aad\u53d6\n\n    lcd_cmd(0b00000001);                          \/\/ \u8868\u793a\u30af\u30ea\u30a2\n    \n    lcd_setCursor(0, 0);                          \/\/ \u8868\u793a\u5ea7\u6a19\u8a2d\u5b9a\n    if ((U1_PA &amp; 1 )!=0){\n        lcd_printStr(\"SW1 ON\");                   \/\/ \u8868\u793a\u5185\u5bb9\uff08\u6587\u5b57\uff09\n        wrt_reg( DVC_MCP23017_00 , 0x13 , 0x02 ); \/\/ DVC00 I\/O-PortB \u51fa\u529b\u8a2d\u5b9a\n    }else{\n        lcd_printStr(\"SW1 OFF\");                  \/\/ \u8868\u793a\u5185\u5bb9\uff08\u6587\u5b57\uff09\n        wrt_reg( DVC_MCP23017_00 , 0x13 , 0x01 ); \/\/ DVC00 I\/O-PortB \u51fa\u529b\u8a2d\u5b9a\n    }\n    \n    lcd_setCursor(0, 1);                          \/\/ \u8868\u793a\u5ea7\u6a19\u8a2d\u5b9a\n    if ((U2_PA &amp; 1 )!=0){\n        lcd_printStr(\"SW2 ON\");                   \/\/ \u8868\u793a\u5185\u5bb9\uff08\u6587\u5b57\uff09\n        wrt_reg( DVC_MCP23017_01 , 0x13 , 0x02 ); \/\/ DVC01 I\/O-PortB \u51fa\u529b\u8a2d\u5b9a\n    }else{\n        lcd_printStr(\"SW2 OFF\");                  \/\/ \u8868\u793a\u5185\u5bb9\uff08\u6587\u5b57\uff09\n        wrt_reg( DVC_MCP23017_01 , 0x13 , 0x01 ); \/\/ DVC01 I\/O-PortB \u51fa\u529b\u8a2d\u5b9a\n    }\n\n    delay(100);                     \n}<\/pre>\n<p>\u4ee5\u4e0a\u3067 I<sup>2<\/sup>C \u63a5\u7d9a\u306b\u95a2\u3059\u308b\u78ba\u8a8d\u306f\u4e00\u65e6\u5b8c\u4e86\u3068\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc \uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\uff08MCP23017-E\/SP\uff09\u306e\u78ba\u8a8d\u3092\u884c\u3044&nbsp;&nbsp;I2C\u63a5\u7d9a\u306b\u3064\u3044\u3066\u306e\u8abf\u67fb\u306f\u3068\u308a\u3042\u3048\u305a\u7d42\u4e86\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u4eca\u56de\u78ba\u8a8d\u3059\u308b\uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\u306f\u3001I2C\u63a5\u7d9a\u306b\u3088\u308a\u5165 &hellip; <a href=\"https:\/\/kats-eye.net\/info\/2018\/11\/07\/mcp23017-esp\/\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">ARDUINO\u3067I2C\u63a5\u7d9a \uff29\uff0f\uff2f\u30a8\u30ad\u30b9\u30d1\u30f3\u30c0\u30fc\u3092\u4f7f\u3046<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":710,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[9,16,23],"_links":{"self":[{"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/posts\/1024"}],"collection":[{"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/comments?post=1024"}],"version-history":[{"count":7,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/posts\/1024\/revisions"}],"predecessor-version":[{"id":4511,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/posts\/1024\/revisions\/4511"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/media\/710"}],"wp:attachment":[{"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/media?parent=1024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/categories?post=1024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kats-eye.net\/info\/wp-json\/wp\/v2\/tags?post=1024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}