shree0403

Arduino MCP23017

Nov 8th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  Example 41.1 - Microchip MCP23017 with Arduino
  3. */
  4. // pins 15~17 to GND, I2C bus address is 0x20
  5. #include "Wire.h"
  6. #define DELY 350
  7. void setup()
  8. {
  9.  Wire.begin(); // wake up I2C bus
  10. // set I/O pins to outputs
  11.  Wire.beginTransmission(0x20);
  12.  Wire.write(0x00); // IODIRA register
  13.  Wire.write(0x00); // set all of port A to outputs
  14.  Wire.endTransmission();
  15. Wire.beginTransmission(0x20);
  16.  Wire.write(0x01); // IODIRB register
  17.  Wire.write(0x00); // set all of port B to outputs
  18.  Wire.endTransmission();
  19. }
  20. void loop()
  21. {
  22.  
  23.  Wire.beginTransmission(0x20);
  24. Wire.write(0x13); // address port B
  25. Wire.write(0x01); // value to send
  26. Wire.endTransmission();
  27. delay(DELY);
  28.  
  29. Wire.beginTransmission(0x20);
  30. Wire.write(0x13); // address port B
  31. Wire.write(0x00); // value to send
  32. Wire.endTransmission();
  33. delay(DELY);
  34.  
  35. Wire.beginTransmission(0x20);
  36. Wire.write(0x13); // address port B
  37. Wire.write(0x02); // value to send
  38. Wire.endTransmission();
  39. delay(DELY);
  40.  
  41. Wire.beginTransmission(0x20);
  42. Wire.write(0x13); // address port B
  43. Wire.write(0x00); // value to send
  44. Wire.endTransmission();
  45. delay(DELY);
  46.  
  47. Wire.beginTransmission(0x20);
  48. Wire.write(0x13); // address port B
  49. Wire.write(0x04); // value to send
  50. Wire.endTransmission();
  51. delay(DELY);
  52.  
  53.  
  54. Wire.beginTransmission(0x20);
  55. Wire.write(0x13); // address port B
  56. Wire.write(0x00); // value to send
  57. Wire.endTransmission();
  58. delay(DELY);
  59.  
  60.  
  61. Wire.beginTransmission(0x20);
  62. Wire.write(0x13); // address port B
  63. Wire.write(0x08); // value to send
  64. Wire.endTransmission();
  65. delay(DELY);
  66.  
  67.  
  68. Wire.beginTransmission(0x20);
  69. Wire.write(0x13); // address port B
  70. Wire.write(0x00); // value to send
  71. Wire.endTransmission();
  72. delay(DELY);
  73.  
  74.  
  75. Wire.beginTransmission(0x20);
  76. Wire.write(0x13); // address port B
  77. Wire.write(0x10); // value to send
  78. Wire.endTransmission();
  79. delay(DELY);
  80.  
  81.  
  82. Wire.beginTransmission(0x20);
  83. Wire.write(0x13); // address port B
  84. Wire.write(0x00); // value to send
  85. Wire.endTransmission();
  86. delay(DELY);
  87.  
  88.  
  89. Wire.beginTransmission(0x20);
  90. Wire.write(0x13); // address port B
  91. Wire.write(0x20); // value to send
  92. Wire.endTransmission();
  93. delay(DELY);
  94.  
  95.  
  96. Wire.beginTransmission(0x20);
  97. Wire.write(0x13); // address port B
  98. Wire.write(0x00); // value to send
  99. Wire.endTransmission();
  100. delay(DELY);
  101.  
  102.  
  103. Wire.beginTransmission(0x20);
  104. Wire.write(0x13); // address port B
  105. Wire.write(0x40); // value to send
  106. Wire.endTransmission();
  107. delay(DELY);
  108.  
  109.  
  110. Wire.beginTransmission(0x20);
  111. Wire.write(0x13); // address port B
  112. Wire.write(0x00); // value to send
  113. Wire.endTransmission();
  114. delay(DELY);
  115.  
  116.  
  117. Wire.beginTransmission(0x20);
  118. Wire.write(0x13); // address port B
  119. Wire.write(0x80); // value to send
  120. Wire.endTransmission();
  121. delay(DELY);
  122.  
  123.  
  124. Wire.beginTransmission(0x20);
  125. Wire.write(0x13); // address port B
  126. Wire.write(0x00); // value to send
  127. Wire.endTransmission();
  128. delay(DELY);
  129.  
  130. //PORT A
  131.  Wire.beginTransmission(0x20);
  132. Wire.write(0x12); // address port A
  133. Wire.write(0x01); // value to send
  134. Wire.endTransmission();
  135. delay(DELY);
  136.  
  137. Wire.beginTransmission(0x20);
  138. Wire.write(0x12); // address port A
  139. Wire.write(0x00); // value to send
  140. Wire.endTransmission();
  141. delay(DELY);
  142.  
  143. Wire.beginTransmission(0x20);
  144. Wire.write(0x12); // address port A
  145. Wire.write(0x02); // value to send
  146. Wire.endTransmission();
  147. delay(DELY);
  148.  
  149. Wire.beginTransmission(0x20);
  150. Wire.write(0x12); // address port A
  151. Wire.write(0x00); // value to send
  152. Wire.endTransmission();
  153. delay(DELY);
  154.  
  155. Wire.beginTransmission(0x20);
  156. Wire.write(0x12); // address port A
  157. Wire.write(0x04); // value to send
  158. Wire.endTransmission();
  159. delay(DELY);
  160.  
  161.  
  162. Wire.beginTransmission(0x20);
  163. Wire.write(0x12); // address port A
  164. Wire.write(0x00); // value to send
  165. Wire.endTransmission();
  166. delay(DELY);
  167.  
  168.  
  169. Wire.beginTransmission(0x20);
  170. Wire.write(0x12); // address port A
  171. Wire.write(0x08); // value to send
  172. Wire.endTransmission();
  173. delay(DELY);
  174.  
  175.  
  176. Wire.beginTransmission(0x20);
  177. Wire.write(0x12); // address port A
  178. Wire.write(0x00); // value to send
  179. Wire.endTransmission();
  180. delay(DELY);
  181.  
  182.  
  183. Wire.beginTransmission(0x20);
  184. Wire.write(0x12); // address port A
  185. Wire.write(0x10); // value to send
  186. Wire.endTransmission();
  187. delay(DELY);
  188.  
  189.  
  190. Wire.beginTransmission(0x20);
  191. Wire.write(0x12); // address port A
  192. Wire.write(0x00); // value to send
  193. Wire.endTransmission();
  194. delay(DELY);
  195.  
  196.  
  197. Wire.beginTransmission(0x20);
  198. Wire.write(0x12); // address port A
  199. Wire.write(0x20); // value to send
  200. Wire.endTransmission();
  201. delay(DELY);
  202.  
  203.  
  204. Wire.beginTransmission(0x20);
  205. Wire.write(0x12); // address port A
  206. Wire.write(0x00); // value to send
  207. Wire.endTransmission();
  208. delay(DELY);
  209.  
  210.  
  211. Wire.beginTransmission(0x20);
  212. Wire.write(0x12); // address port A
  213. Wire.write(0x40); // value to send
  214. Wire.endTransmission();
  215. delay(DELY);
  216.  
  217.  
  218. Wire.beginTransmission(0x20);
  219. Wire.write(0x12); // address port A
  220. Wire.write(0x00); // value to send
  221. Wire.endTransmission();
  222. delay(DELY);
  223.  
  224.  
  225. Wire.beginTransmission(0x20);
  226. Wire.write(0x12); // address port A
  227. Wire.write(0x80); // value to send
  228. Wire.endTransmission();
  229. delay(DELY);
  230.  
  231.  
  232. Wire.beginTransmission(0x20);
  233. Wire.write(0x12); // address port A
  234. Wire.write(0x00); // value to send
  235. Wire.endTransmission();
  236. delay(DELY);
  237.  
  238. }
Add Comment
Please, Sign In to add comment