#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