#210 GPIO I2C Brick
Overview
汎用I/O拡張チップを使用したBrickです。
I2Cで8個のLEDを制御できます。
Connecting
I2Cコネクタへ接続します。

Support
| Arduino | RaspberryPI | IchigoJam | Edison | 
|---|---|---|---|
| ◯ | ◯ | ◯ | ◯ | 
PCAL6408 Datasheet
| Document | 
|---|
| PCAL6408 Datasheet | 
Register
| Slave Address | 
|---|
| 0x20 | 
Schematic

Library
for Arduino
- 
ライブラリ名:「FaBo 210 GPIO PCAL6408A」
 - Library Document
 
for RapberryPI
- pipからインストール
pip install FaBoGPIO_PCAL6408 - Library GitHub
 - Library Document
 
Sample Code
for Arduino
I2CコネクタにGPIO Brickを接続し、GPIO Brickについている8つのLEDを左上から右下に向かって順番に点灯させます。
//
// FaBo Brick Sample
//
// #210 GPIO I2C Brick
//
#include <Wire.h>
#define DEVICE_ADDR 0x20 // スレーブデバイスのアドレス
void setup() {
  Wire.begin(); // I2C開始
  Serial.begin(9600);
  Serial.println();
  Serial.println("RESET");
  Serial.println();
  Wire.beginTransmission(DEVICE_ADDR); // 初期化
  Wire.write(0x03);
  Wire.write(0x00);
  Wire.endTransmission();
}
void loop() {
  int c = 1;
  for (int i=0; i<8; i++) {
    Serial.println(c);
    Wire.beginTransmission(DEVICE_ADDR); // 順番に点滅させる
    Wire.write(0x01);
    Wire.write(c);
    Wire.endTransmission();
    c = c << 1;
    delay(100);
  }
}
for RapberryPI
# coding: utf-8
## @package FaBoGPIO_PCAL6408.py
#  This is a library for the FaBo GPIO I2C Brick.
#
#  http://fabo.io/210.html
#
#  Released under APACHE LICENSE, VERSION 2.0
#
#  http://www.apache.org/licenses/
#
#  FaBo <[email protected]>
import FaBoGPIO_PCAL6408
import time
import sys
pcal6408 = FaBoGPIO_PCAL6408.PCAL6408()
try:
    while True:
        for i in xrange(8):
            pcal6408.setDigital(1<<i, 1)
            time.sleep(1)
        pcal6408.setAllClear()
        time.sleep(1)
except KeyboardInterrupt:
    pcal6408.setAllClear()
    sys.exit()
for Ichigojam
I2CコネクタにGPIO Brickを接続し、GPIO Brickについている8つのLEDを左上から右下に向かって順番に点灯させます。
10 'FaBo Brick Sample
20 '#210 GPIO I2C Brick
30 CLS
100 'slave address
110 D=#20
200 'address set
210 POKE #800,#03,0,#01
220 POKE #810,#0,#1,#2,#4,#8,#10,#20,#40,#80
300 'init
310 A=I2CW(D,#800,1,#801,1)
320 I=0
400 'write
410 A=I2CW(D,#802,1,#810+I,1)
420 LOCATE 0,3
430 IF I>7 I=0:GOTO 510
440 I=I+1
500 'loop
510 WAIT 20
520 GOTO 410
for Edison
I2CコネクタにGPIO Brickを接続し、GPIO Brickについている8つのLEDを左上から右下に向かって順番に点灯させます。
//
// FaBo Brick Sample
//
// #210 GPIO I2C Brick
//
var m = require('mraa');
var i2c = new m.I2c(0);
var c = 1;
var i = 0;
i2c.address(0x20);
i2c.writeReg(0x03, 0x00);
loop();
function loop()
{
  console.log(c);
  i2c.writeReg(0x01, c);
  if(i < 7){
    i++;
    c = c << 1;
  } else {
    i = 0;
    c = 1
  }
  setTimeout(loop, 100);
}
Parts
- NXP PCAL6408