Andrew c
/
Presistence_of_Vision_Display
Diff: main.cpp
- 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