POV

Dependencies:   MMA8451Q mbed

main.cpp

Committer:
collinan
Date:
2018-02-22
Revision:
3:2617bb7e2eab
Parent:
2:5de47d55f618

File content as of revision 3:2617bb7e2eab:

#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)
{
float w_time=0.050;
   // 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);
        }
    */
    
    /*
    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);
    }
    */

    int z=1;
    while(z==1) {
        //for(int a=0; a<20; a++) {
        for(int a=0; a<11; a++) {
            LED_S[a]=1;
            printf("in first for loop\r\n");
            wait(w_time);
        }
        
        printf("t1\r\n");
        wait(w_time);
        printf("t2\r\n");
        wait(w_time);
        printf("t3\r\n");
        //for(int b=0; b<20; b++) {
        for(int b=0; b<11; b++) {
            LED_S[b]=0;
            wait(w_time);
            printf("in second for loop\r\n");
        }
        wait(w_time);
        z=0;
    }
    
    printf("Before letters\r\n");
    
    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++) {
        printf("tt _l\r\n");
        Word_Num[w]=int(Display_Word[w]) - 65;
        //Letter display loop: //A[row][column]
    }
    for(int u = 0;u<7;u++){printf("letter %d: %d\r\n",u,Word_Num[u]);}

    //pick letter to display:
    for(int x=0; x<7; x++) {
        switch (Word_Num[x]) {
            case 0:
            printf("t3\r\n");
                for(int i=0; i<12; i++) { //column loop
                    for(int j=0; j<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; 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<11; j++) {//row loop
                        LED_S[j]=Z[j][i];   //row loop
                    }
                    wait(w_time);
                }
                wait(w_time);
                break;
        }

    }
    
    
    printf("End\r\n");
    for(int b=0; b<11; b++) {
            LED_S[b]=0;
            wait(w_time);
            printf("turn off\r\n");
        }



}