Dependencies:   MMA8451Q mbed

Revision:
0:4f2fc870fa2a
Child:
1:a913d88f652c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Feb 22 02:17:25 2018 +0000
@@ -0,0 +1,337 @@
+#include "mbed.h"
+#include "MMA8451Q.h"
+#include "Letters.h"
+
+//(MMA8451Q) accelerometer pins
+PinName const SDA = PTE25;
+PinName const SCL = PTE24;
+#define MMA8451_I2C_ADDRESS (0x1d<<1)
+
+
+int on =1;
+Timeout timeout;
+
+
+void attimeout()
+{
+    on=0;
+}
+
+DigitalOut LED_S[] = {
+    DigitalOut(PTB9),
+    DigitalOut(PTA17),
+    DigitalOut(PTA16),
+    DigitalOut(PTA15),
+    DigitalOut(PTA14),
+    DigitalOut(PTA6),
+    DigitalOut(PTA7),
+    DigitalOut(PTC16),
+
+    DigitalOut(PTD7),
+    DigitalOut(PTD6),
+    DigitalOut(PTD4),
+    DigitalOut(PTD2),
+    DigitalOut(PTA13),
+
+    DigitalOut(PTC9),
+    DigitalOut(PTC8),
+    DigitalOut(PTA5),
+    DigitalOut(PTA4),
+    DigitalOut(PTA12),
+    DigitalOut(PTD3)
+};
+
+int main(void)
+{
+    timeout.attach(&attimeout,5.0);
+
+    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
+
+    // PwmOut rled(LED1);
+    PwmOut gled(LED2);
+    PwmOut bled(LED3);
+
+    printf("MMA8451 ID: %d\r\n", acc.getWhoAmI());
+    printf("5 second of data\r\n");
+
+    while (on) {
+        // while (true) {
+        float x, y, z;
+        x = abs(acc.getAccX());
+        y = abs(acc.getAccY());
+        z = abs(acc.getAccZ());
+        // rled = 1.0f - x;
+        gled = 1.0f - y;
+        bled = 1.0f - z;
+        wait(0.1f);
+        printf("X: %1.2f, Y: %1.2f, Z: %1.2f\r\n", x, y, z);
+        //wait_ms(0.10);
+    }
+
+    float w_time=0.5;
+    while(true) {
+        for(int a=0; a<20; a++) {
+            LED_S[a]=1;
+            wait(w_time);
+        }
+        wait(w_time);
+        wait(w_time);
+        for(int a=0; a<20; a++) {
+            LED_S[a]=0;
+            wait(w_time);
+        }
+        wait(w_time);
+
+    }
+
+    char Display_Word[]= {'A','B','C','D','E','F','G'};//"ABCDEFG"
+    int Word_Num[]= {0,0,0,0,0,0,0};
+    for(int w=0; w<7; w++) {
+        Word_Num[w]=int(Display_Word[w]) - 65;
+        //Letter display loop: //A[row][column]
+    }
+
+    //pick letter to display:
+    for(int x=0; x<7; x++) {
+        switch (Word_Num[x]) {
+            case 0:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=A[j][i];
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 1:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=B[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 2:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=C[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 3:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=D[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 4:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=E[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 5:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=F[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 6:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=G[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 7:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=H[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 8:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=I[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 9:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=J[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 10:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=K[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 11:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=L[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 12:
+                for(int i=0; i<15; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=M[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 13:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=N[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 14:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=O[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 15:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=P[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 16:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {
+                        LED_S[j]=Q[j][i];   //r//row loopow loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 17:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=R[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 18:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=S[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 19:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=T[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 20:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=U[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 21:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=V[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 22:
+                for(int i=0; i<15; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=W[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 23:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=X[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 24:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=Y[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+            case 25:
+                for(int i=0; i<12; i++) { //column loop
+                    for(int j=0; j<12; j++) {//row loop
+                        LED_S[j]=Z[j][i];   //row loop
+                    }
+                    wait(w_time);
+                }
+                wait(w_time);
+                break;
+        }
+
+    }
+
+
+
+}
\ No newline at end of file