This is just a simple test program **to check the hardware**: mbeduino and 4x4x4 LED_cube shield. \\ A class library is available for easy operation. Please find it at...\\ http://mbed.org/users/okano/libraries/LED_Cube444/\\ There are two demo programs for this library available. Please find those at...\\ (1) Very simplified demo sample code : \\ http://mbed.org/users/okano/programs/LED_Cube444_mbeduino-very_simple_demo/\\ (2) More complex (fancy) demo : \\ http://mbed.org/users/okano/programs/LED_Cube444_mbeduino_demo/\\ About the hardware: \\ http://mbed.org/users/okini3939/notebook/mbeduino/ \\ http://www.galileo-7.com/?pid=20015630 \\

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
okano
Date:
Thu Oct 14 01:08:36 2010 +0000
Commit message:

Changed in this revision

LED_Cube444_test.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
mbeduino_shield.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LED_Cube444_test.cpp	Thu Oct 14 01:08:36 2010 +0000
@@ -0,0 +1,73 @@
+//  mbeduino test code (with 4x4x4 LED Cube shield)
+//
+//      mbeduino              = http://mbed.org/users/okini3939/notebook/mbeduino/  (Japanese)
+//      4x4x4 LED Cube shield = http://www.galileo-7.com/?pid=20015630  (Japanese)
+//
+//  This is just simple code to check the mbeduino and the 4x4x4 LED Cube shield operation
+//  It turns-on each indivisual LEDs one by one. 
+//  
+
+#include "mbed.h"
+#include "mbeduino_shield.h"
+
+#define     CUBE_SIZE       4                       //  n of nodes on one edge
+#define     SR_BIT_LENGTH   (CUBE_SIZE * CUBE_SIZE) //  n of bits on one layer
+
+typedef     unsigned short  U16;    //  bit length should be same or more than SR_BIT_LENGTH
+
+#define     SR_DATA_OUT     ARD_D2  //  data line to the shiftregister
+#define     SR_CLCK_OUT     ARD_D3  //  clock line to the shiftregister
+#define     CATHODE0        ARD_D11 //  cathode control line for bottom layer
+#define     CATHODE1        ARD_D10 //  cathode control line for 2nd layer from bottom
+#define     CATHODE2        ARD_D9  //  cathode control line for 3nd layer from bottom
+#define     CATHODE3        ARD_D8  //  cathode control line for top layer
+
+DigitalOut  sr_data(SR_DATA_OUT);
+DigitalOut  sr_clk(SR_CLCK_OUT);
+BusOut      cathode( CATHODE0, CATHODE1, CATHODE2, CATHODE3 );
+
+//U16         main_buffer[ CUBE_SIZE ]    = { 0, 0, 0, 0 };
+
+void set_serialregister( U16 v );
+
+int main() {
+    cathode = 0x0;
+
+    while (1) {
+        for ( int c = 0; c < CUBE_SIZE; c++ ) {
+            for ( int i = 0; i < SR_BIT_LENGTH; i++ ) {
+                set_serialregister( 0x0001 << i );
+                
+                cathode = 0x1 << c;
+                wait( 0.05 );
+                cathode = 0x0;
+            }
+        }
+    }
+}
+
+void set_serialregister( U16 v ) {
+    for ( int i = 0; i < SR_BIT_LENGTH; i++ ) {
+        sr_data = ((v >> i) & 0x1);
+        sr_clk  = 0;
+        sr_clk  = 1;
+    }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Oct 14 01:08:36 2010 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/e2ac27c8e93e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbeduino_shield.h	Thu Oct 14 01:08:36 2010 +0000
@@ -0,0 +1,47 @@
+//  pin definition header for "mbeduino"
+//
+//  http://mbed.org/users/okini3939/notebook/mbeduino-shieldh/
+
+#define ARD_D0 p27
+#define ARD_D1 p28
+#define ARD_D2 p29
+#define ARD_D3 p21
+#define ARD_D4 p30
+#define ARD_D5 p22
+#define ARD_D6 p23
+#define ARD_D7 p11
+#define ARD_D8 p12
+#define ARD_D9 p24
+#define ARD_D10 p25
+#define ARD_D11 p5
+#define ARD_D12 p6
+#define ARD_D13 p7
+
+#define ARD_D14 ARD_A0
+#define ARD_D15 ARD_A1
+#define ARD_D16 ARD_A2
+#define ARD_D17 ARD_A3
+#define ARD_D18 ARD_SDA
+#define ARD_D19 ARD_SCL
+
+#define ARD_A0 p15
+#define ARD_A1 p16
+#define ARD_A2 p17
+#define ARD_A3 p18
+#define ARD_A4 p19
+#define ARD_A5 p20
+
+#define ARD_PWM0 ARD_D3
+#define ARD_PWM1 ARD_D5
+#define ARD_PWM2 ARD_D6
+#define ARD_PWM3 ARD_D9
+#define ARD_PWM4 ARD_D10
+#define ARD_PWM5 p26
+
+#define ARD_RX ARD_D0
+#define ARD_TX ARD_D1
+#define ARD_SDA p9
+#define ARD_SCL p10
+#define ARD_MOSI p5
+#define ARD_MISO p6
+#define ARD_SCK p7
\ No newline at end of file