Blue LED matrix (8x16) program. Gets text string through bluetooth and displays it on led matrix. Also has a clock function- get system time from a phone through bluetooth and enters clock mode. In clock mode it acts as a clock showing hours and minutes and blinking led every second. Clock mode can be broken if a text string is received through bluetooth.

Dependencies:   mbed

Revision:
2:3cc1e2dec7a2
Child:
3:35a47548d29d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/text.cpp	Wed Jun 25 16:24:03 2014 +0000
@@ -0,0 +1,408 @@
+#include "text.h"
+#include "mbed.h"
+
+Serial pc(USBTX, USBRX);
+
+text::text(){
+};
+
+void text::generate(string input){
+    LocalFileSystem local("local");
+    stringLength = input.length();
+    pc.printf("\r\nStarting generation, string length: %i", stringLength);
+    FILE *fp = fopen("/local/out.txt", "w");
+    pc.printf("\r\nOpened a text file out.txt");
+    calcLength(input);
+    fprintf(fp, "%i\r\n", length);
+    for (int i = 0; i < stringLength; i++){
+        pc.printf("\r\nTaking letter ");
+        pc.putc(input.at(i));
+        letters(input.at(i));
+        pc.printf("\r\nDone with ");
+        pc.putc(input.at(i));
+        tempCheck();
+        for (int j = 0; j < letSize; j++){
+            for (int g = 7; g > (-1); g--){
+                fprintf(fp, "%i", temp[g][j]);
+            }
+            fprintf(fp,"\r\n");
+        } 
+        fprintf(fp, "00000000\r\n");    
+    } 
+    for (int i = 0; i < 15; i++){
+        fprintf(fp, "00000000\r\n");
+    }
+    fclose(fp);   
+}
+
+void text::letters(char take){
+    switch (take){
+        case 'A': 
+            letSize = 4;
+            int a[8][8] = {
+                {0, 1, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+            };
+            memcpy(temp, a, sizeof(a));
+            break;
+        case 'B':
+            letSize = 4;
+            int b[8][8] = {
+                {1, 1, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 1, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, b, sizeof(b));
+            break;
+        case 'C':
+            letSize = 4;
+            int c[8][8] = {
+                {0, 1, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {0, 1, 1, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, c, sizeof(c));
+            break;
+        case 'D':
+            letSize = 4;
+            int d[8][8] = {
+                {1, 1, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 1, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, d, sizeof(d));
+            break;
+        case 'E':
+            letSize = 4;
+            int e[8][8] = {
+                {1, 1, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 1, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 1, 1, 1, 0, 0, 0, 0},
+            };
+            memcpy(temp, e, sizeof(e));
+            break;
+        case 'F':
+            letSize = 4;
+            int f[8][8] = {
+                {1, 1, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 1, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, f, sizeof(f));
+            break;
+        case 'G':
+            letSize = 4;
+            int g[8][8] = {
+                {0, 1, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {0, 1, 1, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, g, sizeof(g));
+            break;
+        case 'H':
+            letSize = 4;
+            int h[8][8] = {
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+            };
+            memcpy(temp, h, sizeof(h));
+            break;
+        case 'I':
+            letSize = 1;
+            int i[8][8] = {
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, i, sizeof(i));
+            break;
+        case 'J':
+            letSize = 3;
+            int j[8][8] = {
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {1, 0, 1, 0, 0, 0, 0, 0},
+                {0, 1, 0, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, j, sizeof(j));
+            break;
+        case 'K':
+            letSize = 4;
+            int k[8][8] = {
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 1, 0, 0, 0, 0, 0},
+                {1, 0, 1, 0, 0, 0, 0, 0},
+                {1, 1, 0, 0, 0, 0, 0, 0},
+                {1, 0, 1, 0, 0, 0, 0, 0},
+                {1, 0, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+            };
+            memcpy(temp, k, sizeof(k));
+            break;
+        case 'L':
+            letSize = 3;
+            int l[8][8] = {
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 1, 1, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, l, sizeof(l));
+            break;
+        case 'M':
+            letSize = 5;
+            int m[8][8] = {
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 1, 0, 1, 1, 0, 0, 0},
+                {1, 0, 1, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+            };
+            memcpy(temp, m, sizeof(m));
+            break;
+        case 'N':
+            letSize = 4;
+            int n[8][8] = {
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+            };
+            memcpy(temp, n, sizeof(n));
+            break;
+        case 'O':
+            letSize = 4;
+            int o[8][8] = {
+                {1, 1, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 1, 1, 0, 0, 0, 0},
+            };
+            memcpy(temp, o, sizeof(o));
+            break;
+        case 'P':
+            letSize = 4;
+            int p[8][8] = {
+                {1, 1, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, p, sizeof(p));
+            break;
+        case 'R':
+            letSize = 4;
+            int r[8][8] = {
+                {1, 1, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 1, 0, 0, 0, 0, 0},
+                {1, 0, 1, 0, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+            };
+            memcpy(temp, r, sizeof(r));
+            break;
+        case 'S':
+            letSize = 4;
+            int s[8][8] = {
+                {0, 1, 1, 1, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {0, 1, 1, 0, 0, 0, 0, 0},
+                {0, 0, 0, 1, 0, 0, 0, 0},
+                {0, 0, 0, 1, 0, 0, 0, 0},
+                {0, 0, 0, 1, 0, 0, 0, 0},
+                {1, 1, 1, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, s, sizeof(s));
+            break;
+        case 'T':
+            letSize = 5;
+            int t[8][8] = {
+                {1, 1, 1, 1, 1, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, t, sizeof(t));
+            break;
+        case 'U':
+            letSize = 4;
+            int u[8][8] = {
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {1, 0, 0, 1, 0, 0, 0, 0},
+                {0, 1, 1, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, u, sizeof(u));
+            break;
+        case 'V':
+            letSize = 5;
+            int v[8][8] = {
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {0, 1, 0, 1, 0, 0, 0, 0},
+                {0, 1, 0, 1, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, v, sizeof(v));
+            break;
+        case 'Z':
+            letSize = 4;
+            int z[8][8] = {
+                {1, 1, 1, 1, 0, 0, 0, 0},
+                {0, 0, 0, 1, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 0, 1, 0, 0, 0, 0, 0},
+                {0, 1, 0, 0, 0, 0, 0, 0},
+                {0, 1, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 1, 1, 1, 0, 0, 0, 0},
+            };
+            memcpy(temp, z, sizeof(z));
+            break;
+        case 'W':
+            letSize = 5;
+            int w[8][8] = {
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 0, 0, 1, 0, 0, 0},
+                {1, 0, 1, 0, 1, 0, 0, 0},
+                {0, 1, 0, 1, 1, 0, 0, 0},
+                {0, 1, 0, 1, 0, 0, 0, 0},
+            };
+            memcpy(temp, w, sizeof(w));
+            break;
+        case ' ':
+            letSize = 3;
+            int gap[8][8] = {
+                {0, 0, 0, 0, 0, 0, 0, 0},
+                {0, 0, 0, 0, 0, 0, 0, 0},
+                {0, 0, 0, 0, 0, 0, 0, 0},
+                {0, 0, 0, 0, 0, 0, 0, 0},
+                {0, 0, 0, 0, 0, 0, 0, 0},
+                {0, 0, 0, 0, 0, 0, 0, 0},
+                {0, 0, 0, 0, 0, 0, 0, 0},
+                {0, 0, 0, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, gap, sizeof(gap));
+            break;
+        default :
+            letSize = 1;
+            int def[8][8] = {
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+                {0, 0, 0, 0, 0, 0, 0, 0},
+                {1, 0, 0, 0, 0, 0, 0, 0},
+            };
+            memcpy(temp, def, sizeof(def));
+    }
+}    
+
+void text::tempCheck(){
+    for (int i = 0; i < 5; i++){
+        pc.printf("\r\n");
+        for (int j = 7; j > (-1); j--){
+            pc.printf("%i", temp[j][i]);
+        }
+    }
+}
+
+void text::calcLength(string input){
+    length = 0;
+    for (int i = 0; i < stringLength; i++){
+        letters(input.at(i));
+        length += letSize + 1;
+    }   
+    length += 15;  
+}
\ No newline at end of file