Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <MeggyJrSimple.h>
- #include "Font.h"
- char char_temp[] = {'0', '0'};
- int image[64];
- int temp_text[64];
- int icon_image[64];
- int pos = 0;
- int temp_pos = 0;
- char msg = '0';
- char read_mode= 'T';
- void display_image();
- void display_temp();
- void setup() {
- MeggyJrSimpleSetup();
- Serial.begin(9600);
- }
- void loop() {
- ClearSlate();
- while (Serial.available() > 0) {
- msg = Serial.read();
- if (msg == 'N') {
- read_mode = 'N';
- pos = 0;
- }
- else if (msg == 'T') {
- read_mode = 'T';
- temp_pos = 0;
- }
- else {
- if (read_mode == 'N') {
- icon_image[pos] = msg - '0';
- pos++;
- }
- if (read_mode == 'T' && temp_pos < 2) {
- char_temp[temp_pos] = msg;
- Serial.println(msg);
- temp_pos++;
- }
- }
- }
- if (read_mode == 'N' && pos == 63) {
- int i;
- for (i=0; i<64; i++) {
- image[i] = icon_image[i];
- }
- }
- else if (read_mode == 'T') {
- display_temp();
- }
- display_image();
- DisplaySlate();
- }
- void display_image() {
- int i;
- for (i=0; i<8; i++) {
- int j;
- for (j=0; j<8; j++) {
- DrawPx(j, 7-i, image[8*i+j]);
- }
- }
- }
- void display_temp() {
- switch (char_temp[1]) {
- case '0':
- display_2nd(zero);
- break;
- case '1':
- display_2nd(one);
- break;
- case '2':
- display_2nd(two);
- break;
- case '3':
- display_2nd(three);
- break;
- case '4':
- display_2nd(four);
- break;
- case '5':
- display_2nd(five);
- break;
- case '6':
- display_2nd(six);
- break;
- case '7':
- display_2nd(seven);
- break;
- case '8':
- display_2nd(eight);
- break;
- case '9':
- display_2nd(nine);
- break;
- }
- switch (char_temp[0]) {
- case '0':
- display_1st(zero);
- break;
- case '1':
- display_1st(one);
- break;
- case '2':
- display_1st(two);
- break;
- case '3':
- display_1st(three);
- break;
- case '4':
- display_1st(four);
- break;
- case '5':
- display_1st(five);
- break;
- case '6':
- display_1st(six);
- break;
- case '7':
- display_1st(seven);
- break;
- case '8':
- display_1st(eight);
- break;
- case '9':
- display_1st(nine);
- break;
- }
- int i;
- for (i=0; i<64; i++) {
- image[i] = temp_text[i];
- }
- }
- void display_1st(char figure[8][4]) {
- for (int i=0; i<8; i++) {
- for (int j=0; j<4; j++) {
- temp_text[8*i+j] = figure[i][j];
- }
- }
- }
- void display_2nd(char figure[8][4]) {
- for (int i=0; i<8; i++) {
- for (int j=4; j<8; j++) {
- temp_text[8*i+j] = figure[i][j-4];
- }
- }
- }
Add Comment
Please, Sign In to add comment