« GALAXY S 入手 | トップページ | PCF8575 ナイトライダーshield »

2010年10月31日 (日)

PCF8575 I2C port expander でナイトライダー

PCF8575 I2C port expanderで、ナイトライダーしてみました。

I2Cなので、Arduino側のポートを2本しか消費しないのが良いですね。

参考サイト Pervasive Tangibility

Pcf8575c_4 Pcf8575c_2

[sample sketch]
/*
SCL -- Arduino analog 5
SDA -- Arduino analog 4

*/

#include <Wire.h>

byte address = 0x20;   // address of PCF8575 number zero

static unsigned char pos1[] = {0b11111110,0b11111101,0b11111011,0b11110111
                              ,0b11101111,0b11011111,0b10111111,0b01111111};
static unsigned char pos2[] = {0b11111110,0b11111101,0b11111011,0b11110111
                              ,0b11101111,0b11011111,0b10111111,0b01111111};

static int pos1index[] = {0,1,2,3,4,5,6,7,7,6,5,4,3,2,1,0};
static int pos2index[] = {0,1,2,3,4,5,6,7,7,6,5,4,3,2,1,0};

void setup()
{
   Wire.begin();       // join i2c bus as master
}

// byte x  P00-->P07 byte y P17-->P10

void loop(){
   unsigned char x;
   unsigned char y;

   for (int i=0; i<16; i++){

      x = pos1[pos1index[i]];
      y = pos2[pos2index[i]];

      Wire.beginTransmission(address);   // send the address and the write cmnd
      Wire.send(x);                      // pack the first byte
      Wire.send(y);                      // pack the second byte
      Wire.endTransmission();            // send the data

      delay(100);   

   }

|

« GALAXY S 入手 | トップページ | PCF8575 ナイトライダーshield »

Arduino」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: PCF8575 I2C port expander でナイトライダー:

« GALAXY S 入手 | トップページ | PCF8575 ナイトライダーshield »