#include <Wire.h>
#include <Adafruit_MCP23X08.h>
#include <Adafruit_MCP23X17.h>
int state = 0;
Adafruit_MCP23X08 mcp;
void setup() {
Wire.begin();
Serial.begin(9600);
// MCP23017 আরম্ভ করা
mcp.begin_I2C(); // ডিফল্ট অ্যাড্রেস 0
// পিন কনফিগারেশন
mcp.pinMode(0, INPUT); // GPA0 ইনপুট হিসেবে
//mcp.pullUp(0, HIGH); // GPA0 পুল-আপ রেজিস্টর সক্রিয়
mcp.pinMode(8, OUTPUT); // GPB0 আউটপুট হিসেবে
mcp.pinMode(9, OUTPUT); // GPB0 আউটপুট হিসেবে
mcp.pinMode(10, OUTPUT); // GPB0 আউটপুট হিসেবে
mcp.pinMode(11, OUTPUT); // GPB0 আউটপুট হিসেবে
mcp.pinMode(12, OUTPUT); // GPB0 আউটপুট হিসেবে
Serial.println("MCP23017 configured");
}
void loop() {
// ইনপুট পিন থেকে বোতামের মান পড়া
uint8_t buttonState = mcp.digitalRead(0);
Serial.println(buttonState);
// বোতাম চাপা হলে LED অন হবে, না চাপা হলে বন্ধ থাকবে
//if (buttonState == LOW) { // বোতাম চাপা হলে ইনপুট LOW হবে
//Serial.println("Btn press");
//}
mcp.digitalWrite(8, 1);
delay(1000);
mcp.digitalWrite(8, 0);
delay(1000);
mcp.digitalWrite(9, 1);
delay(1000);
mcp.digitalWrite(9, 0);
delay(1000);
mcp.digitalWrite(10, 1);
delay(1000);
mcp.digitalWrite(10, 0);
delay(1000);
mcp.digitalWrite(11, 1);
delay(1000);
mcp.digitalWrite(11, 0);
delay(1000);
mcp.digitalWrite(12, 1);
delay(1000);
mcp.digitalWrite(12,0);
delay(1000);
}