├── bitCoin.ino ├── frame.h └── orb.h /bitCoin.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include "orb.h" 9 | #include "frame.h" 10 | 11 | TFT_eSPI tft = TFT_eSPI(); 12 | 13 | const int pwmFreq = 5000; 14 | const int pwmResolution = 8; 15 | const int pwmLedChannelTFT = 0; 16 | 17 | const char* ssid = "xxxxxx"; ///EDIIIT 18 | const char* password = "xxxxxx"; //edit 19 | int timeZone=1; //edit 20 | #define gray 0x39C7 21 | #define dblue 0x01A9 22 | #define purple 0xF14F 23 | #define green 0x2D51 24 | 25 | 26 | String payload=""; 27 | const String endpoint ="https://api.cryptonator.com/api/ticker/btc-usd"; 28 | 29 | double current=0; 30 | double last=0; 31 | 32 | double readings[12]={0}; 33 | int n=0; 34 | int fromtop=60; 35 | int f=0; //frame in animation 36 | 37 | double minimal; 38 | double maximal; 39 | 40 | int p[12]={0}; 41 | 42 | unsigned long currTime=0; 43 | unsigned long refresh=120000; 44 | 45 | int deb=0; 46 | int brightnes[5]={40,80,120,160,200}; 47 | int b=1; 48 | 49 | int spe=0; //speed of animation/ 50 | 51 | StaticJsonDocument<6000> doc; 52 | 53 | void setup() { 54 | pinMode(35,INPUT_PULLUP); 55 | Serial.begin(9600); 56 | tft.init(); 57 | tft.setRotation(1); 58 | tft.setSwapBytes(true); 59 | tft.fillScreen(TFT_BLACK); 60 | 61 | ledcSetup(pwmLedChannelTFT, pwmFreq, pwmResolution); 62 | ledcAttachPin(TFT_BL, pwmLedChannelTFT); 63 | ledcWrite(pwmLedChannelTFT, brightnes[b]); 64 | 65 | WiFi.begin(ssid, password); 66 | tft.print("connecting"); 67 | 68 | 69 | while (WiFi.status() != WL_CONNECTED) { 70 | delay(400); 71 | tft.print("."); 72 | } 73 | tft.print("CONECTED!!"); 74 | delay(1000); 75 | tft.fillScreen(TFT_BLACK); 76 | getData(); 77 | } 78 | 79 | void loop() { 80 | 81 | if(millis()>currTime+refresh) 82 | { 83 | getData(); 84 | currTime=millis(); 85 | } 86 | 87 | if(spe>8000){ 88 | tft.pushImage(4,22,38,38,frame[f]); 89 | spe=0; 90 | f++; 91 | if(f==59) 92 | f=0; 93 | } 94 | 95 | 96 | if(digitalRead(35)==0) 97 | { 98 | if(deb==0) 99 | { 100 | deb=1; 101 | b++; 102 | if(b==6) 103 | b=0; 104 | ledcWrite(pwmLedChannelTFT, brightnes[b]); 105 | } 106 | }else deb=0; 107 | 108 | spe++; 109 | } 110 | 111 | void getData() 112 | { 113 | tft.fillScreen(TFT_BLACK); 114 | //tft.fillRect(200,126,4,4,TFT_GREEN); 115 | tft.fillRect(46,32,56,28,dblue); 116 | 117 | //tft.fillRect(118,22,120,100,dblue); 118 | 119 | for(int i=0;i<13;i++) 120 | tft.drawLine(118+(i*10),22,118+(i*10),122,gray); 121 | for(int i=0;i<10;i++) 122 | tft.drawLine(118,22+(i*10),238,22+(i*10),gray); 123 | tft.drawLine(118,22,118,122,TFT_WHITE); 124 | tft.drawLine(118,122,238,122,TFT_WHITE); 125 | if ((WiFi.status() == WL_CONNECTED)) { //Check the current connection status 126 | HTTPClient http; 127 | http.begin(endpoint); //Specify the URL 128 | int httpCode = http.GET(); //Make the request 129 | if (httpCode > 0) { //Check for the returning code 130 | payload = http.getString(); 131 | char inp[payload.length()]; 132 | payload.toCharArray(inp,payload.length()); 133 | deserializeJson(doc,inp); 134 | 135 | String v=doc["ticker"]["price"]; 136 | String c=doc["ticker"]["change"]; 137 | String t=doc["timestamp"]; 138 | Serial.print(t); 139 | unsigned long t1=t.toInt()+(timeZone*3600); 140 | //day(t), month(t), year(t), hour(t), minute(t), second(t) 141 | 142 | tft.setTextColor(TFT_WHITE,dblue); 143 | tft.drawString("updated:",50,37); 144 | tft.drawString(String(hour(t1))+":"+String(minute(t1)),50,47); 145 | tft.setTextColor(TFT_WHITE,TFT_BLACK); 146 | 147 | current=v.toDouble(); 148 | tft.drawString("PRICE (usd):",4,fromtop+4,2); 149 | tft.drawString("CHANGE:",4,fromtop+32+8,2); 150 | tft.setFreeFont(&Orbitron_Medium_16); 151 | tft.setTextColor(green,TFT_BLACK); 152 | tft.drawString(String(current),4,fromtop+20); 153 | tft.setTextColor(TFT_ORANGE,TFT_BLACK); 154 | tft.drawString("bitCoin",4,0); 155 | tft.setTextColor(green,TFT_BLACK); 156 | 157 | tft.drawString(String(current-last),4,fromtop+46+10,2); 158 | tft.setTextColor(0x0B52,TFT_BLACK); 159 | tft.setTextFont(1); 160 | tft.drawString("LAST 12 READINGS",118,6); 161 | tft.setTextColor(TFT_ORANGE,TFT_BLACK); 162 | tft.setTextFont(1); 163 | tft.drawString("MAX",94,16); 164 | tft.drawString("MIN",94,122,1); 165 | last=current; 166 | 167 | if(n<12) 168 | {readings[n]=current; 169 | n++;} 170 | else 171 | { 172 | for(int i=1;i<12;i++) 173 | readings[i-1]=readings[i]; 174 | readings[11]=current; 175 | } 176 | 177 | minimal=readings[0]; 178 | maximal=readings[0]; 179 | 180 | for(int i=0;imaximal) 185 | maximal=readings[i]; 186 | 187 | int mx=maximal/2; 188 | int mi=minimal/2; 189 | int re=readings[i]/2; 190 | //tft.drawString(String(i)+"."+String(readings[i]),120,i*10); 191 | 192 | } 193 | int mx=maximal/2; 194 | int mi=minimal/2; 195 | 196 | for(int i=0;i=1) 203 | for(int i=1;i' 37 | 0xFF,0x1F,0xF0,0x03,0x00,0x60,0x0C,0x01,0x8F,0xE3,0xF8,0x60,0x00,0x01,0x80,0x30,0x00, // '?' 38 | 0x3F,0xCF,0xFE,0xC0,0x2C,0x02,0xDF,0x2D,0x12,0xD1,0x2D,0x12,0xCF,0xEC,0x00,0xFF,0xE7,0xFE, // '@' 39 | 0x3F,0xCF,0xFE,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xFF,0xEF,0xFE,0xC0,0x2C,0x02,0xC0,0x2C,0x02, // 'A' 40 | 0xFF,0x8F,0xFE,0xC0,0x6C,0x06,0xC0,0x6F,0xFE,0xFF,0xEC,0x02,0xC0,0x2C,0x02,0xFF,0xEF,0xFE, // 'B' 41 | 0x3F,0xEF,0xFE,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xFF,0xE7,0xFE, // 'C' 42 | 0xFF,0xCF,0xFE,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xFF,0xEF,0xFE, // 'D' 43 | 0xFF,0xDF,0xFB,0x00,0x60,0x0C,0x01,0xFF,0x3F,0xE6,0x00,0xC0,0x18,0x03,0xFF,0x7F,0xE0, // 'E' 44 | 0xFF,0xDF,0xFB,0x00,0x60,0x0C,0x01,0xFF,0x3F,0xE6,0x00,0xC0,0x18,0x03,0x00,0x60,0x00, // 'F' 45 | 0x3F,0xCF,0xFE,0xC0,0x2C,0x00,0xC0,0x0C,0x00,0xC1,0xEC,0x02,0xC0,0x2C,0x02,0xFF,0xE7,0xFE, // 'G' 46 | 0xC0,0x36,0x01,0xB0,0x0D,0x80,0x6C,0x03,0x7F,0xFB,0xFF,0xD8,0x06,0xC0,0x36,0x01,0xB0,0x0D,0x80,0x60, // 'H' 47 | 0xDB,0x6D,0xB6,0xDB,0x60, // 'I' 48 | 0x00,0x30,0x01,0x80,0x0C,0x00,0x60,0x03,0x00,0x18,0x00,0xC0,0x06,0x00,0x36,0x01,0xBF,0xFC,0xFF,0xC0, // 'J' 49 | 0xC0,0x6C,0x0C,0xC1,0xCC,0x38,0xC3,0x0F,0xE0,0xFE,0x0C,0x60,0xC3,0x0C,0x18,0xC0,0xCC,0x06, // 'K' 50 | 0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xFF,0xEF,0xFE, // 'L' 51 | 0xC0,0x1B,0x80,0xEF,0x07,0xBC,0x3E,0xD8,0xDB,0x36,0x6C,0x71,0xB0,0x86,0xC2,0x1B,0x00,0x6C,0x01,0xB0,0x06, // 'M' 52 | 0xC0,0x2E,0x02,0xF0,0x2F,0x02,0xD8,0x2C,0xC2,0xC6,0x2C,0x32,0xC3,0xAC,0x1E,0xC0,0xEC,0x06, // 'N' 53 | 0x3F,0x8F,0xFE,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xFF,0xE7,0xFE, // 'O' 54 | 0xFF,0x8F,0xFE,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xFF,0xEF,0xFE,0xC0,0x0C,0x00,0xC0,0x0C,0x00, // 'P' 55 | 0x3F,0x83,0xFF,0x8C,0x02,0x30,0x08,0xC0,0x23,0x00,0x8C,0x02,0x30,0x08,0xC0,0x23,0x00,0x8F,0xFF,0x9F,0xFE, // 'Q' 56 | 0xFF,0x8F,0xFE,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xFF,0xEF,0xFE,0xC3,0x8C,0x1C,0xC0,0xCC,0x06, // 'R' 57 | 0x3F,0x8F,0xFE,0xC0,0x2C,0x00,0xC0,0x0F,0xFC,0xFF,0xE0,0x02,0x00,0x2C,0x02,0xFF,0xE7,0xFE, // 'S' 58 | 0xFF,0xF7,0xFF,0x81,0x80,0x0C,0x00,0x60,0x03,0x00,0x18,0x00,0xC0,0x06,0x00,0x30,0x01,0x80,0x0C,0x00, // 'T' 59 | 0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xC0,0x2C,0x02,0xFF,0xE7,0xFE, // 'U' 60 | 0xC0,0x06,0xC0,0x0C,0x60,0x18,0x60,0x18,0x30,0x30,0x30,0x30,0x18,0x60,0x0C,0x60,0x0C,0xC0,0x07,0x80,0x07,0x80,0x03,0x00, // 'V' 61 | 0x80,0x81,0xB0,0x70,0x6C,0x1C,0x19,0x8D,0x0C,0x63,0x63,0x18,0xD8,0x83,0x63,0x60,0xD8,0xD8,0x34,0x34,0x07,0x07,0x01,0xC1,0xC0,0x20,0x20, // 'W' 62 | 0xC0,0x6E,0x0E,0x60,0xC3,0x18,0x1B,0x00,0xE0,0x0E,0x01,0xF0,0x3B,0x83,0x18,0x60,0xCC,0x06, // 'X' 63 | 0xC0,0x19,0x80,0xC3,0x06,0x0E,0x30,0x19,0xC0,0x36,0x00,0x70,0x01,0x80,0x02,0x00,0x08,0x00,0x20,0x00,0x80, // 'Y' 64 | 0xFF,0xEF,0xFE,0x00,0x60,0x1C,0x03,0x80,0x70,0x0E,0x01,0x80,0x30,0x0E,0x00,0xFF,0xEF,0xFE, // 'Z' 65 | 0xEE,0xCC,0xCC,0xCC,0xCC,0xEE, // '[' 66 | 0x80,0x40,0x30,0x0C,0x03,0x00,0xC0,0x60,0x18,0x06,0x01,0x80,0x40,0x20, // '\' 67 | 0xEE,0x66,0x66,0x66,0x66,0xEE, // ']' 68 | 0x00, // '^' 69 | 0xFF,0xEF,0xFE, // '_' 70 | 0x9B,0x00, // '`' 71 | 0xFF,0x80,0x60,0x08,0x02,0xFF,0xB0,0x2C,0x0B,0xFE,0x7F,0x80, // 'a' 72 | 0xC0,0x30,0x0C,0x03,0xFE,0xC1,0xB0,0x2C,0x0B,0x02,0xC0,0xB0,0x2F,0xFB,0xFE, // 'b' 73 | 0xFF,0xB0,0x0C,0x03,0x00,0xC0,0x30,0x0C,0x03,0xFE,0x7F,0x80, // 'c' 74 | 0x00,0xC0,0x18,0x03,0x3F,0xEC,0x0D,0x81,0xB0,0x36,0x06,0xC0,0xD8,0x1B,0xFF,0x3F,0xE0, // 'd' 75 | 0xFF,0xB0,0x6C,0x0B,0x02,0xFF,0xB0,0x0C,0x03,0xFE,0x7F,0x80, // 'e' 76 | 0xFB,0x0C,0x3E,0xC3,0x0C,0x30,0xC3,0x0C,0x30, // 'f' 77 | 0xFF,0xB0,0x68,0x1A,0x06,0x81,0xA0,0x68,0x1B,0xFE,0xFF,0x80,0x60,0x19,0xFE,0x7F,0x00, // 'g' 78 | 0xC0,0x30,0x0C,0x03,0xFE,0xC1,0xB0,0x2C,0x0B,0x02,0xC0,0xB0,0x2C,0x0B,0x02, // 'h' 79 | 0xC0,0x6D,0xB6,0xDB,0x60, // 'i' 80 | 0x0C,0x00,0x00,0x60,0xC1,0x83,0x06,0x0C,0x18,0x30,0x60,0xC1,0xBF,0x7C, // 'j' 81 | 0xC0,0x30,0x0C,0x03,0x0E,0xC3,0x31,0x8C,0xC3,0xE0,0xCC,0x31,0x8C,0x33,0x06, // 'k' 82 | 0xC6,0x31,0x8C,0x63,0x18,0xC6,0x3C,0xE0, // 'l' 83 | 0xFF,0xF9,0x86,0x1B,0x0C,0x36,0x18,0x6C,0x30,0xD8,0x61,0xB0,0xC3,0x61,0x86,0xC3,0x0C, // 'm' 84 | 0xFF,0xB0,0x6C,0x0B,0x02,0xC0,0xB0,0x2C,0x0B,0x02,0xC0,0x80, // 'n' 85 | 0xFF,0xB0,0x6C,0x0B,0x02,0xC0,0xB0,0x2C,0x0B,0xFE,0x7F,0x80, // 'o' 86 | 0xFF,0xB0,0x6C,0x0B,0x02,0xC0,0xB0,0x2C,0x0B,0xFE,0xFF,0xB0,0x0C,0x03,0x00,0xC0,0x00, // 'p' 87 | 0x7F,0xD8,0x1B,0x03,0x60,0x6C,0x0D,0x81,0xB0,0x37,0xFE,0x7F,0xC0,0x18,0x03,0x00,0x60,0x0C, // 'q' 88 | 0xFE,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, // 'r' 89 | 0xFF,0xB0,0x6C,0x03,0xF8,0xFF,0x80,0x60,0x1B,0xFE,0xFF,0x00, // 's' 90 | 0xC3,0x0C,0x3E,0xC3,0x0C,0x30,0xC3,0x0F,0x9E, // 't' 91 | 0xC0,0xB0,0x2C,0x0B,0x02,0xC0,0xB0,0x2C,0x0B,0xFE,0x7F,0x80, // 'u' 92 | 0xE0,0x33,0x03,0x0C,0x18,0x61,0x81,0x8C,0x04,0xC0,0x36,0x00,0xE0,0x06,0x00, // 'v' 93 | 0xC3,0x87,0x61,0xC3,0x19,0xB1,0x8C,0xD9,0x86,0x66,0xC1,0xE3,0x40,0xF0,0xE0,0x30,0x70,0x18,0x30,0x00, // 'w' 94 | 0xC1,0x98,0xC3,0x60,0x70,0x1C,0x0F,0x83,0x61,0x8C,0xC1,0x80, // 'x' 95 | 0x81,0xA0,0x68,0x1A,0x06,0x81,0xA0,0x68,0x1B,0xFE,0xFF,0x80,0x60,0x19,0xFE,0x7F,0x00, // 'y' 96 | 0xFF,0x80,0x60,0x30,0x38,0x1C,0x0C,0x0E,0x03,0xFE,0xFF,0x80, // 'z' 97 | 0x13,0x98,0xC6,0x63,0x0C,0x63,0x1C,0x60, // '{' 98 | 0xDB,0x6D,0xB6,0xDB,0x6D,0xB0, // '|' 99 | 0x8C,0x66,0x66,0x26,0x66,0xCC // '}' 100 | }; 101 | const GFXglyph Orbitron_Medium_16Glyphs[] PROGMEM = { 102 | // bitmapOffset, width, height, xAdvance, xOffset, yOffset 103 | { 0, 1, 1, 6, 0, 0 }, // ' ' 104 | { 1, 3, 12, 5, 1, -12 }, // '!' 105 | { 6, 5, 3, 7, 1, -12 }, // '"' 106 | { 8, 12, 11, 14, 1, -11 }, // '#' 107 | { 25, 12, 15, 14, 1, -13 }, // '$' 108 | { 48, 15, 12, 16, 1, -12 }, // '%' 109 | { 71, 14, 12, 16, 1, -12 }, // '&' 110 | { 92, 3, 3, 5, 1, -12 }, // ''' 111 | { 94, 4, 12, 5, 1, -12 }, // '(' 112 | { 100, 4, 12, 5, 1, -12 }, // ')' 113 | { 106, 8, 7, 9, 0, -12 }, // '*' 114 | { 113, 8, 6, 8, 0, -8 }, // '+' 115 | { 119, 3, 4, 4, 1, -2 }, // ',' 116 | { 121, 7, 2, 9, 1, -6 }, // '-' 117 | { 123, 3, 2, 4, 1, -2 }, // '.' 118 | { 124, 9, 12, 9, 0, -12 }, // '/' 119 | { 138, 12, 12, 14, 1, -12 }, // '0' 120 | { 156, 6, 12, 7, 0, -12 }, // '1' 121 | { 165, 12, 12, 14, 1, -12 }, // '2' 122 | { 183, 12, 12, 14, 1, -12 }, // '3' 123 | { 201, 12, 12, 13, 0, -12 }, // '4' 124 | { 219, 12, 12, 14, 1, -12 }, // '5' 125 | { 237, 12, 12, 14, 1, -12 }, // '6' 126 | { 255, 11, 12, 12, 0, -12 }, // '7' 127 | { 272, 12, 12, 14, 1, -12 }, // '8' 128 | { 290, 12, 12, 14, 1, -12 }, // '9' 129 | { 308, 3, 9, 4, 1, -9 }, // ':' 130 | { 312, 3, 11, 4, 1, -9 }, // ';' 131 | { 317, 8, 9, 9, 0, -9 }, // '<' 132 | { 326, 9, 5, 11, 1, -7 }, // '=' 133 | { 332, 8, 9, 9, 1, -9 }, // '>' 134 | { 341, 11, 12, 12, 1, -12 }, // '?' 135 | { 358, 12, 12, 14, 1, -12 }, // '@' 136 | { 376, 12, 12, 14, 1, -12 }, // 'A' 137 | { 394, 12, 12, 14, 1, -12 }, // 'B' 138 | { 412, 12, 12, 14, 1, -12 }, // 'C' 139 | { 430, 12, 12, 14, 1, -12 }, // 'D' 140 | { 448, 11, 12, 13, 1, -12 }, // 'E' 141 | { 465, 11, 12, 13, 1, -12 }, // 'F' 142 | { 482, 12, 12, 14, 1, -12 }, // 'G' 143 | { 500, 13, 12, 15, 1, -12 }, // 'H' 144 | { 520, 3, 12, 5, 1, -12 }, // 'I' 145 | { 525, 13, 12, 13, 0, -12 }, // 'J' 146 | { 545, 12, 12, 14, 1, -12 }, // 'K' 147 | { 563, 12, 12, 13, 1, -12 }, // 'L' 148 | { 581, 14, 12, 16, 1, -12 }, // 'M' 149 | { 602, 12, 12, 14, 1, -12 }, // 'N' 150 | { 620, 12, 12, 14, 1, -12 }, // 'O' 151 | { 638, 12, 12, 14, 1, -12 }, // 'P' 152 | { 656, 14, 12, 15, 1, -12 }, // 'Q' 153 | { 677, 12, 12, 14, 1, -12 }, // 'R' 154 | { 695, 12, 12, 14, 1, -12 }, // 'S' 155 | { 713, 13, 12, 13, 0, -12 }, // 'T' 156 | { 733, 12, 12, 14, 1, -12 }, // 'U' 157 | { 751, 16, 12, 17, 1, -12 }, // 'V' 158 | { 775, 18, 12, 20, 1, -12 }, // 'W' 159 | { 802, 12, 12, 14, 1, -12 }, // 'X' 160 | { 820, 14, 12, 14, 0, -12 }, // 'Y' 161 | { 841, 12, 12, 14, 1, -12 }, // 'Z' 162 | { 859, 4, 12, 5, 1, -12 }, // '[' 163 | { 865, 9, 12, 9, 0, -12 }, // '\' 164 | { 879, 4, 12, 5, 1, -12 }, // ']' 165 | { 885, 1, 1, 1, 0, 0 }, // '^' 166 | { 886, 12, 2, 14, 1, 0 }, // '_' 167 | { 889, 3, 3, 4, 1, -16 }, // '`' 168 | { 891, 10, 9, 12, 1, -9 }, // 'a' 169 | { 903, 10, 12, 12, 1, -12 }, // 'b' 170 | { 918, 10, 9, 12, 1, -9 }, // 'c' 171 | { 930, 11, 12, 12, 0, -12 }, // 'd' 172 | { 947, 10, 9, 12, 1, -9 }, // 'e' 173 | { 959, 6, 12, 8, 1, -12 }, // 'f' 174 | { 968, 10, 13, 12, 1, -9 }, // 'g' 175 | { 985, 10, 12, 12, 1, -12 }, // 'h' 176 | { 1000, 3, 12, 4, 1, -12 }, // 'i' 177 | { 1005, 7, 16, 5, -3, -12 }, // 'j' 178 | { 1019, 10, 12, 11, 1, -12 }, // 'k' 179 | { 1034, 5, 12, 6, 1, -12 }, // 'l' 180 | { 1042, 15, 9, 17, 1, -9 }, // 'm' 181 | { 1059, 10, 9, 12, 1, -9 }, // 'n' 182 | { 1071, 10, 9, 12, 1, -9 }, // 'o' 183 | { 1083, 10, 13, 12, 1, -9 }, // 'p' 184 | { 1100, 11, 13, 12, 0, -9 }, // 'q' 185 | { 1118, 8, 9, 9, 1, -9 }, // 'r' 186 | { 1127, 10, 9, 12, 1, -9 }, // 's' 187 | { 1139, 6, 12, 8, 1, -12 }, // 't' 188 | { 1148, 10, 9, 12, 1, -9 }, // 'u' 189 | { 1160, 13, 9, 14, 0, -9 }, // 'v' 190 | { 1175, 17, 9, 18, 1, -9 }, // 'w' 191 | { 1195, 10, 9, 12, 1, -9 }, // 'x' 192 | { 1207, 10, 13, 12, 1, -9 }, // 'y' 193 | { 1224, 10, 9, 12, 1, -9 }, // 'z' 194 | { 1236, 5, 12, 6, 0, -12 }, // '{' 195 | { 1244, 3, 15, 4, 1, -13 }, // '|' 196 | { 1250, 4, 12, 6, 1, -12 } // '}' 197 | }; 198 | const GFXfont Orbitron_Medium_16 PROGMEM = { 199 | (uint8_t *)Orbitron_Medium_16Bitmaps,(GFXglyph *)Orbitron_Medium_16Glyphs,0x20, 0x7E, 16}; 200 | --------------------------------------------------------------------------------