有星星閃爍的聖誕樹 + Happy New Year 8X8 LED矩陣 (MAX 7219)

編輯歷史

時間 作者 版本
2014-12-25 12:24 – 12:51 章國俊 r97 – r143
顯示 diff
- 有星星閃爍的聖誕樹 8X8 LED矩陣 (MAX 7219)
+ 有星星閃爍的聖誕樹 + Happy New Year 8X8 LED矩陣 (MAX 7219)
- 一個小程式,可以顯示有星星閃爍的聖誕樹...拿來應景一下了
+ 小程式,可以顯示有星星閃爍的聖誕樹和 Happy New Year... 拿來應景一下了
跟貪食蛇一樣用這個 library
https://code.google.com/p/arudino-maxmatrix-library/
(54 行未修改)
- vu
+ 新年快樂
+
+ *
+ *#include <MaxMatrix.h>
+ *#include <avr/pgmspace.h>
+ *
+ *PROGMEM prog_uchar CH[] = {
+ * 8, 8, B0000000, B0000000, B0000000, B0000000, B0000000, // space
+ * 1, 8, B1011111, B0000000, B0000000, B0000000, B0000000, // !
+ * 3, 8, B0000011, B0000000, B0000011, B0000000, B0000000, // "
+ * 5, 8, B0010100, B0111110, B0010100, B0111110, B0010100, // #
+ * 4, 8, B0100100, B1101010, B0101011, B0010010, B0000000, // $
+ * 5, 8, B1100011, B0010011, B0001000, B1100100, B1100011, // %
+ * 5, 8, B0110110, B1001001, B1010110, B0100000, B1010000, // &
+ * 1, 8, B0000011, B0000000, B0000000, B0000000, B0000000, // '
+ * 3, 8, B0011100, B0100010, B1000001, B0000000, B0000000, // (
+ * 3, 8, B1000001, B0100010, B0011100, B0000000, B0000000, // )
+ * 5, 8, B0101000, B0011000, B0001110, B0011000, B0101000, // *
+ * 5, 8, B0001000, B0001000, B0111110, B0001000, B0001000, // +
+ * 2, 8, B10110000, B1110000, B0000000, B0000000, B0000000, // ,
+ * 4, 8, B0001000, B0001000, B0001000, B0001000, B0000000, // -
+ * 2, 8, B1100000, B1100000, B0000000, B0000000, B0000000, // .
+ * 4, 8, B1100000, B0011000, B0000110, B0000001, B0000000, // /
+ * 4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // 0
+ * 3, 8, B1000010, B1111111, B1000000, B0000000, B0000000, // 1
+ * 4, 8, B1100010, B1010001, B1001001, B1000110, B0000000, // 2
+ * 4, 8, B0100010, B1000001, B1001001, B0110110, B0000000, // 3
+ * 4, 8, B0011000, B0010100, B0010010, B1111111, B0000000, // 4
+ * 4, 8, B0100111, B1000101, B1000101, B0111001, B0000000, // 5
+ * 4, 8, B0111110, B1001001, B1001001, B0110000, B0000000, // 6
+ * 4, 8, B1100001, B0010001, B0001001, B0000111, B0000000, // 7
+ * 4, 8, B0110110, B1001001, B1001001, B0110110, B0000000, // 8
+ * 4, 8, B0000110, B1001001, B1001001, B0111110, B0000000, // 9
+ * 2, 8, B01010000, B0000000, B0000000, B0000000, B0000000, // :
+ * 2, 8, B10000000, B01010000, B0000000, B0000000, B0000000, // ;
+ * 3, 8, B0010000, B0101000, B1000100, B0000000, B0000000, // <
+ * 3, 8, B0010100, B0010100, B0010100, B0000000, B0000000, // =
+ * 3, 8, B1000100, B0101000, B0010000, B0000000, B0000000, // >
+ * 4, 8, B0000010, B1011001, B0001001, B0000110, B0000000, // ?
+ * 5, 8, B0111110, B1001001, B1010101, B1011101, B0001110, // @
+ * 8, 8, B1111110, B0010001, B0010001, B1111110, B0000000, // A
+ * 4, 8, B1111111, B1001001, B1001001, B0110110, B0000000, // B
+ * 4, 8, B0111110, B1000001, B1000001, B0100010, B0000000, // C
+ * 4, 8, B1111111, B1000001, B1000001, B0111110, B0000000, // D
+ * 8, 8, B1111111, B1001001, B1001001, B1000001, B0000000, // E
+ * 4, 8, B1111111, B0001001, B0001001, B0000001, B0000000, // F
+ * 4, 8, B0111110, B1000001, B1001001, B1111010, B0000000, // G
+ * 8, 8, B1111111, B0001000, B0001000, B1111111, B0000000, // H
+ * 3, 8, B1000001, B1111111, B1000001, B0000000, B0000000, // I
+ * 4, 8, B0110000, B1000000, B1000001, B0111111, B0000000, // J
+ * 4, 8, B1111111, B0001000, B0010100, B1100011, B0000000, // K
+ * 4, 8, B1111111, B1000000, B1000000, B1000000, B0000000, // L
+ * 5, 8, B1111111, B0000010, B0001100, B0000010, B1111111, // M
+ * 8, 8, B1111111, B0000100, B0001000, B0010000, B1111111, // N
+ * 4, 8, B0111110, B1000001, B1000001, B0111110, B0000000, // O
+ * 8, 8, B1111111, B0001001, B0001001, B0000110, B0000000, // P
+ * 4, 8, B0111110, B1000001, B1000001, B10111110, B0000000, // Q
+ * 4, 8, B1111111, B0001001, B0001001, B1110110, B0000000, // R
+ * 8, 8, B1000110, B1001001, B1001001, B0110010, B0000000, // S
+ * 5, 8, B0000001, B0000001, B1111111, B0000001, B0000001, // T
+ * 4, 8, B0111111, B1000000, B1000000, B0111111, B0000000, // U
+ * 5, 8, B0001111, B0110000, B1000000, B0110000, B0001111, // V
+ * 5, 8, B0111111, B1000000, B0111000, B1000000, B0111111, // W
+ * 5, 8, B1100011, B0010100, B0001000, B0010100, B1100011, // X
+ * 8, 8, B0000111, B0001000, B1110000, B0001000, B0000111, // Y
+ * 4, 8, B1100001, B1010001, B1001001, B1000111, B0000000, // Z
+ * 2, 8, B1111111, B1000001, B0000000, B0000000, B0000000, // [
+ * 4, 8, B0000001, B0000110, B0011000, B1100000, B0000000, // backslash
+ * 2, 8, B1000001, B1111111, B0000000, B0000000, B0000000, // ]
+ * 3, 8, B0000010, B0000001, B0000010, B0000000, B0000000, // hat
+ * 4, 8, B1000000, B1000000, B1000000, B1000000, B0000000, // _
+ * 2, 8, B0000001, B0000010, B0000000, B0000000, B0000000, // `
+ * 4, 8, B0100000, B1010100, B1010100, B1111000, B0000000, // a
+ * 4, 8, B1111111, B1000100, B1000100, B0111000, B0000000, // b
+ * 4, 8, B0111000, B1000100, B1000100, B0101000, B0000000, // c
+ * 4, 8, B0111000, B1000100, B1000100, B1111111, B0000000, // d
+ * 4, 8, B0111000, B1010100, B1010100, B0011000, B0000000, // e
+ * 3, 8, B0000100, B1111110, B0000101, B0000000, B0000000, // f
+ * 4, 8, B10011000, B10100100, B10100100, B01111000, B0000000, // g
+ * 4, 8, B1111111, B0000100, B0000100, B1111000, B0000000, // h
+ * 3, 8, B1000100, B1111101, B1000000, B0000000, B0000000, // i
+ * 4, 8, B1000000, B10000000, B10000100, B1111101, B0000000, // j
+ * 4, 8, B1111111, B0010000, B0101000, B1000100, B0000000, // k
+ * 3, 8, B1000001, B1111111, B1000000, B0000000, B0000000, // l
+ * 5, 8, B1111100, B0000100, B1111100, B0000100, B1111000, // m
+ * 4, 8, B1111100, B0000100, B0000100, B1111000, B0000000, // n
+ * 4, 8, B0111000, B1000100, B1000100, B0111000, B0000000, // o
+ * 4, 8, B11111100, B0100100, B0100100, B0011000, B0000000, // p
+ * 4, 8, B0011000, B0100100, B0100100, B11111100, B0000000, // q
+ * 4, 8, B1111100, B0001000, B0000100, B0000100, B0000000, // r
+ * 4, 8, B1001000, B1010100, B1010100, B0100100, B0000000, // s
+ * 3, 8, B0000100, B0111111, B1000100, B0000000, B0000000, // t
+ * 4, 8, B0111100, B1000000, B1000000, B1111100, B0000000, // u
+ * 5, 8, B0011100, B0100000, B1000000, B0100000, B0011100, // v
+ * 5, 8, B0111100, B1000000, B0111100, B1000000, B0111100, // w
+ * 5, 8, B1000100, B0101000, B0010000, B0101000, B1000100, // x
+ * 4, 8, B10011100, B10100000, B10100000, B1111100, B0000000, // y
+ * 3, 8, B1100100, B1010100, B1001100, B0000000, B0000000, // z
+ * 3, 8, B0001000, B0110110, B1000001, B0000000, B0000000, // {
+ * 1, 8, B1111111, B0000000, B0000000, B0000000, B0000000, // |
+ * 3, 8, B1000001, B0110110, B0001000, B0000000, B0000000, // }
+ * 4, 8, B0001000, B0000100, B0001000, B0000100, B0000000, // ~
+ *};
+ *
+ *int data = 5;
+ *int load = 3;
+ *int clock = 4;
+ *int maxInUse = 1;
+ *MaxMatrix m(data, load, clock, maxInUse);
+ *byte buffer[10];
+ *void setup()
+ *{
+ * delay(3000);
+ * m.init();
+ * fadeInMessage("HAPPYNEWYEAR ");
+ *
+ *}
+ *
+ *
+ *void loop()
+ *{
+ * drawArrow();
+ * printStringWithShift("2015 ", 150);
+ * delay(200);
+ *}
+ *
+ *void drawArrow() {
+ * m.setIntensity(1);
+ *
+ * byte CH_A[] = {
+ * 16, 8,
+ * B00000000,
+ * B00000000,
+ * B00000000,
+ * B00000000,
+ * B00001000,
+ * B00011100,
+ * B00111110,
+ * B01111111,
+ * B00011100,
+ * B00011100,
+ * B00011100,
+ * B00011100,
+ * B00011100,
+ * B00011100,
+ * B00011100
+ * };
+ *
+ * m.writeSprite(0, 0, CH_A);
+ *
+ *
+ *}
+ *
+ *void fadeInMessage(char* s) {
+ * for (int i = 0; i < strlen(s); i++) {
+ * printString(&s[i]);
+ * for (int i = 1; i <= 15 ; i++) {
+ * m.setIntensity(i);
+ * delay(40 - i * 2);
+ * }
+ * }
+ *}
+ *
+ *void printString(char* s)
+ *{
+ * int col = 0;
+ * while (*s != 0)
+ * {
+ * if (*s < 32) continue;
+ * char c = *s - 32;
+ * memcpy_P(buffer, CH + 7 * c, 7);
+ * m.writeSprite(col + 2, 0, buffer);
+ * m.setColumn(col + 2 + buffer[0], 0);
+ * col += buffer[0] + 1;
+ * s++;
+ * }
+ *}
+ *void printCharWithShift(char c, int shift_speed)
+ *{
+ * if (c < 32) return;
+ * c -= 32;
+ * memcpy_P(buffer, CH + 7 * c, 7);
+ * m.writeSprite(32, 0, buffer);
+ * m.setColumn(32 + buffer[0], 0);
+ *
+ * for (int i = 0; i < buffer[0] + 1; i++)
+ * {
+ * delay(shift_speed);
+ * m.shiftLeft(false, false);
+ * }
+ *}
+ *
+ *void printStringWithShift(char * s, int shift_speed)
+ *{
+ * while (*s != 0)
+ * {
+ * printCharWithShift(*s, shift_speed);
+ * s++;
+ * }
+ *}
+ *
2014-12-25 12:24 (unknown) r96
顯示 diff
(62 行未修改)
2014-12-25 12:24 – 12:24 章國俊 r94 – r95
顯示 diff
(57 行未修改)
*
*}
+
+
+ vu
2014-12-25 09:54 – 09:54 章國俊 r91 – r93
顯示 diff
(43 行未修改)
*
* byte CH_A[] = {
- * 10, 8,
+ * 8, 8,
* B00100000,
* B01110000,
(11 行未修改)
2014-12-25 07:32 – 08:08 章國俊 r1 – r90
顯示 diff
- Untitled
+ 有星星閃爍的聖誕樹 8X8 LED矩陣 (MAX 7219)
- This pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!
+ 一個小程式,可以顯示有星星閃爍的聖誕樹...拿來應景一下了
+ 跟貪食蛇一樣用這個 library
+ https://code.google.com/p/arudino-maxmatrix-library/
+
+ *
+ https://www.youtube.com/watch?v=YhTBy7RoQ9k
+
+ *#include <MaxMatrix.h>
+ *#include <avr/pgmspace.h>
+ *
+ *int data = 5;
+ *int load = 3;
+ *int clock = 4;
+ *int maxInUse = 1; //change this variable to set how many MAX7219's you'll use
+ *MaxMatrix m(data, load, clock, maxInUse);
+ *
+ *void setup() {
+ * m.init();
+ *}
+ *
+ *void loop() {
+ *
+ * m.clear();
+ * drawStar();
+ * drawTree();
+ * delay(300);
+ *
+ *}
+ *
+ *void drawStar() {
+ * m.setIntensity(15);
+ *
+ * m.setDot(1, 1, HIGH);
+ * m.setDot(0, 2, HIGH);
+ * m.setDot(4, 0, HIGH);
+ * m.setDot(0, 7, HIGH);
+ *
+ *}
+ *
+ *void drawTree() {
+ * m.setIntensity(1);
+ *
+ * byte CH_A[] = {
+ * 10, 8,
+ * B00100000,
+ * B01110000,
+ * B11111000,
+ * B01110000,
+ * B11111000,
+ * B11111100,
+ * B00100000,
+ * B00100000,
+ * };
+ *
+ * m.writeSprite(0, 0, CH_A);
+ *
+ *}
2014-12-25 07:32 (unknown) r0
顯示 diff
+ Untitled
+ This pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!