Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Example 41.1 - Microchip MCP23017 with Arduino
- */
- // pins 15~17 to GND, I2C bus address is 0x20
- #include "Wire.h"
- #define DELY 350
- void setup()
- {
- Wire.begin(); // wake up I2C bus
- // set I/O pins to outputs
- Wire.beginTransmission(0x20);
- Wire.write(0x00); // IODIRA register
- Wire.write(0x00); // set all of port A to outputs
- Wire.endTransmission();
- Wire.beginTransmission(0x20);
- Wire.write(0x01); // IODIRB register
- Wire.write(0x00); // set all of port B to outputs
- Wire.endTransmission();
- }
- void loop()
- {
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x01); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x02); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x04); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x08); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x10); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x20); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x40); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x80); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x13); // address port B
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- //PORT A
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x01); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x02); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x04); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x08); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x10); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x20); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x40); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x80); // value to send
- Wire.endTransmission();
- delay(DELY);
- Wire.beginTransmission(0x20);
- Wire.write(0x12); // address port A
- Wire.write(0x00); // value to send
- Wire.endTransmission();
- delay(DELY);
- }
Add Comment
Please, Sign In to add comment