[https://www.switch-science.com/catalog/2389/ PCA9624PW 8ch I2C 電圧スイッチ型LEDコントローラ ピッチ変換基板]用のArduino サンプルスケッチです。 基板上の八つのLEDが同時に点灯し端から順番に消えていきます。 {{{ #include //コントロールレジスタ #define MODE1 0x00 #define MODE2 0x01 #define PPWM0 0x02 #define GRPPWM 0x0A #define GRPFREQ 0x0B #define LEDOUT0 0x0C #define LEDOUT1 0x0D #define SUBADR1 0x0E #define SUBADR2 0x0F #define SUBADR3 0x10 #define ALLCALLADR 0x11 //スレーブアドレス #define addr 0x60 //LEDの数 #define MAX_LED 8 static unsigned char led_data[MAX_LED]; //LEDの明るさ設定用配列 //------ PCA9624PW 初期化 ------// void initLEDdriver(){ char cmd[3]; //MODE1レジスタ設定 cmd[0] = MODE1; cmd[1] = 0x00; //SLEEP = 0 i2cWrite(addr,cmd,2); //ポートモード設定 cmd[0] = LEDOUT0 | 0x80; //LEDOUT0から連続書き込み cmd[1] = 0xAA; //LED 3, 2, 1, 0 : PWM(=10) cmd[2] = 0xAA; //LED 7, 6, 5, 4 : PWM(=10) i2cWrite(addr,cmd,3); clearLEDdata(); //LEDの明るさ用データ初期化 writeLED(addr,led_data,0); //明るさデータをPCA9624に反映 } void i2cWrite(char slave_address,char *data, int num){ Wire.beginTransmission(slave_address); for(int i=0;i 0){ led_data[i]--; } } writeLED(addr,led_data,0); //PCA9624に反映 delay(10); if(led_data[7] == 0){ //LED7が消えたらループ終了 break; } } delay(1000); } }}}