From 047969f276aaf735e206dd91dcca890fd1944f48 Mon Sep 17 00:00:00 2001 From: Alexander Kauerz Date: Fri, 4 Nov 2011 16:45:32 +0100 Subject: TP-Matrix wieder umbenannt. --- Matrix_5x6/TP-Matrix/TP-Matrix.pde | 174 +++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 Matrix_5x6/TP-Matrix/TP-Matrix.pde (limited to 'Matrix_5x6/TP-Matrix') diff --git a/Matrix_5x6/TP-Matrix/TP-Matrix.pde b/Matrix_5x6/TP-Matrix/TP-Matrix.pde new file mode 100644 index 0000000..e5c3069 --- /dev/null +++ b/Matrix_5x6/TP-Matrix/TP-Matrix.pde @@ -0,0 +1,174 @@ +/* +5x6 LEDs Text scroller +Frank Bartels 2010 + */ + +#define leaner 1 // 0:std 1:normal 2:lean +//char myoutstring[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ "; +//char myoutstring[]="0123456789 "; +char myoutstring[]="META MEUTE "; +//char myoutstring[]="TOPPOINT KIEL FRICKL 27C3 "; +int myoutstringpos=0; + +#define NledPins 6 +int ledPins[NledPins] = { 7,6,5,4,3,2 }; + +int i, j, k, x,y,xx,yy, lum=0,newscr=0,tmp; +int scrollx,scrolly; +#define SCRdx 5 +#define SCRdy 6 +#define OSf 4 // oversampling factor <=5, sonst Speicher voll! + +// int=2 ByteFRICKL FRICKL +int scr[SCRdx][SCRdy]; // (real) screen +int vscr[SCRdx*OSf][SCRdy*OSf]; // virtual (high res) screen + +#define CFONTwidth 0x5 // (font constant) +#define CFONTwidth2 0x7 // with std space between chars std=7 +#define CFONTstart 0x20 +#define CFONTend 0x5b +char cfont[]= +{ 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x21 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x22 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x23 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x24 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x25 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x26 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x27 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x28 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x29 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2a + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2b + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2c + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2d + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2e + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2f + //0x1e, 0x31, 0x29, 0x25, 0x1e, // 0x30 0 + 0x1e, 0x21, 0x2d, 0x21, 0x1e, // 0x30 0 + 0x00, 0x22, 0x3f, 0x20, 0x00, // 0x31 1 + 0x22, 0x31, 0x29, 0x29, 0x26, // 0x32 2 + 0x12, 0x21, 0x25, 0x25, 0x1a, // 0x33 3 + 0x18, 0x14, 0x12, 0x3f, 0x10, // 0x34 4 + 0x22, 0x25, 0x25, 0x25, 0x18, // 0x35 5 + //0x1e, 0x29, 0x29, 0x29, 0x1a, // 0x36 6 + 0x1e, 0x25, 0x25, 0x25, 0x18, // 0x36 6 + 0x01, 0x01, 0x31, 0x0d, 0x03, // 0x37 7 + 0x1a, 0x25, 0x25, 0x25, 0x1a, // 0x38 8 + 0x06, 0x29, 0x29, 0x29, 0x1e, // 0x39 9 + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3a + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3b + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3c + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3d + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3e + 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3f + + 0x00, 0x00, 0x00, 0x00, 0x00, // SPACE (0x40 or 0x20) + 0x38, 0x16, 0x11, 0x16, 0x38, // A (0x41) + 0x3f, 0x25, 0x25, 0x26, 0x18, // B (0x42) + 0x1e, 0x21, 0x21, 0x21, 0x12, // C + 0x3f, 0x21, 0x21, 0x21, 0x1e, // D + 0x3f, 0x25, 0x25, 0x25, 0x21, // E + 0x3f, 0x05, 0x05, 0x05, 0x01, // F + 0x1e, 0x21, 0x21, 0x29, 0x1a, // G + 0x3f, 0x08, 0x08, 0x08, 0x3f, // H + 0x00, 0x21, 0x3f, 0x21, 0x00, // I + 0x00, 0x11, 0x21, 0x1f, 0x00, // J + 0x3f, 0x08, 0x14, 0x14, 0x22, // K + 0x3f, 0x20, 0x20, 0x20, 0x20, // L + 0x3f, 0x02, 0x0c, 0x02, 0x3f, // M + 0x3f, 0x02, 0x04, 0x08, 0x3f, // N + 0x1e, 0x21, 0x21, 0x21, 0x1e, // O + 0x3f, 0x09, 0x09, 0x09, 0x06, // P + 0x1e, 0x21, 0x29, 0x11, 0x2e, // Q + 0x3f, 0x09, 0x09, 0x19, 0x26, // R + 0x22, 0x25, 0x25, 0x25, 0x18, // S + 0x01, 0x01, 0x3f, 0x01, 0x01, // T + 0x1f, 0x20, 0x20, 0x20, 0x1f, // U + 0x03, 0x0c, 0x30, 0x0c, 0x03, // V + 0x3f, 0x10, 0x0c, 0x10, 0x3f, // W + 0x31, 0x0a, 0x04, 0x0a, 0x31, // X + 0x01, 0x02, 0x3c, 0x02, 0x01, // Y + 0x31, 0x29, 0x25, 0x23, 0x21, // Z +}; + +volatile int dummy; + +void setup() +{ for (int i=0; i254) lum=0; + + int xx=-1; + int yy=-1; + for (int y=0; ylum2) // (real) screen + //if (scr[yy][xx]+48 lum2*13/16) // good for font scroll + { //digitalWrite(ledPins[x], LOW); // digitalWrite(ledPins[y], LOW); (ganz unten) + pinMode(ledPins[x], OUTPUT); + //for (int ll=0; ll!=10; ll++) for (int l=0; l!=0x7fff; l++) dummy=l; + for (int l=0; l!=0x80; l++) dummy=l; + pinMode(ledPins[x], INPUT); + } + } + pinMode(ledPins[y], INPUT); + digitalWrite(ledPins[y], HIGH); + } +} -- cgit v1.2.3