Sample code to operate 6 of PCA9622_LED8x8 module

Dependencies:   PCA9622_LED8x8 mbed

Simple demo program to show 6 of PCA9622_LED8x8 modules individually.

Component page is available

Please refer to the component page for for more information.

I2C 8x8 LED matrix board" from Switch Science

Committer:
nxp_ip
Date:
Thu Feb 26 00:08:52 2015 +0000
Revision:
1:c7c3b6e41ba2
Parent:
0:e16bcfb2d84e
Version with latest library "PCA9622_LED8x8 v1.1.1"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nxp_ip 0:e16bcfb2d84e 1 /**
nxp_ip 0:e16bcfb2d84e 2 * Sample code to operate 6 of PCA9622_LED8x8 module
nxp_ip 0:e16bcfb2d84e 3 *
nxp_ip 0:e16bcfb2d84e 4 * @author Tedd OKANO
nxp_ip 0:e16bcfb2d84e 5 * @version 1.0
nxp_ip 0:e16bcfb2d84e 6 * @date 25-Dec-2014
nxp_ip 0:e16bcfb2d84e 7 */
nxp_ip 0:e16bcfb2d84e 8
nxp_ip 0:e16bcfb2d84e 9 #include "mbed.h"
nxp_ip 0:e16bcfb2d84e 10 #include "PCA9622_LED8x8.h"
nxp_ip 0:e16bcfb2d84e 11
nxp_ip 0:e16bcfb2d84e 12 I2C i2c( p28, p27 );
nxp_ip 0:e16bcfb2d84e 13
nxp_ip 0:e16bcfb2d84e 14 PCA9622_LED8x8 matrix[] = {
nxp_ip 0:e16bcfb2d84e 15 PCA9622_LED8x8( i2c, 0xA0 ),
nxp_ip 0:e16bcfb2d84e 16 PCA9622_LED8x8( i2c, 0xA2 ),
nxp_ip 0:e16bcfb2d84e 17 PCA9622_LED8x8( i2c, 0xA4 ),
nxp_ip 0:e16bcfb2d84e 18 PCA9622_LED8x8( i2c, 0xA6 ),
nxp_ip 0:e16bcfb2d84e 19 PCA9622_LED8x8( i2c, 0xA8 ),
nxp_ip 0:e16bcfb2d84e 20 PCA9622_LED8x8( i2c, 0xAA )
nxp_ip 0:e16bcfb2d84e 21 };
nxp_ip 0:e16bcfb2d84e 22
nxp_ip 0:e16bcfb2d84e 23 static char bm_nxp[] = {
nxp_ip 0:e16bcfb2d84e 24 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
nxp_ip 0:e16bcfb2d84e 25
nxp_ip 0:e16bcfb2d84e 26 0xFF, 0xFF, 0xFF, 0xF0, 0x78, 0x3C, 0x1E, 0x0F,
nxp_ip 0:e16bcfb2d84e 27 0xFF, 0x7E, 0xBD, 0xDB, 0xE7, 0x7E, 0x3C, 0x18,
nxp_ip 0:e16bcfb2d84e 28 0x3C, 0x7E, 0xE7, 0xDB, 0xBD, 0x7E, 0xFF, 0xCC,
nxp_ip 0:e16bcfb2d84e 29 0xCC, 0xCC, 0xCC, 0xCC, 0xFC, 0x78, 0x78,
nxp_ip 0:e16bcfb2d84e 30
nxp_ip 0:e16bcfb2d84e 31 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
nxp_ip 0:e16bcfb2d84e 32 };
nxp_ip 0:e16bcfb2d84e 33
nxp_ip 0:e16bcfb2d84e 34 #define N_OF_MTX 6
nxp_ip 0:e16bcfb2d84e 35
nxp_ip 0:e16bcfb2d84e 36 int main()
nxp_ip 0:e16bcfb2d84e 37 {
nxp_ip 0:e16bcfb2d84e 38 float image[ 8 ][ 8 ];
nxp_ip 0:e16bcfb2d84e 39 int index;
nxp_ip 0:e16bcfb2d84e 40 int count = 0;
nxp_ip 0:e16bcfb2d84e 41
nxp_ip 0:e16bcfb2d84e 42 while(1) {
nxp_ip 0:e16bcfb2d84e 43
nxp_ip 0:e16bcfb2d84e 44 for ( int offset = 0; offset < N_OF_MTX; offset++) {
nxp_ip 0:e16bcfb2d84e 45 index = ((count + offset * 11) % (sizeof( bm_nxp ) - 8));
nxp_ip 0:e16bcfb2d84e 46 for ( int i = 0; i < 8; i++ ) {
nxp_ip 0:e16bcfb2d84e 47 for ( int j = 0; j < 8; j++ ) {
nxp_ip 0:e16bcfb2d84e 48 image[ j ][ 7 - i ] = (bm_nxp[ index + j ] >> (7 - i)) & 0x1;
nxp_ip 0:e16bcfb2d84e 49 }
nxp_ip 0:e16bcfb2d84e 50 }
nxp_ip 0:e16bcfb2d84e 51 matrix[ offset ].set_data( image );
nxp_ip 0:e16bcfb2d84e 52 }
nxp_ip 0:e16bcfb2d84e 53
nxp_ip 0:e16bcfb2d84e 54 count++;
nxp_ip 0:e16bcfb2d84e 55 wait( 0.02 );
nxp_ip 0:e16bcfb2d84e 56 }
nxp_ip 0:e16bcfb2d84e 57 }