0602 practice 2

Dependencies:   mbed Adafruit_GFX

Files at this revision

API Documentation at this revision

Comitter:
leejieun
Date:
Thu Jun 02 08:33:35 2022 +0000
Commit message:
0602 practice 2

Changed in this revision

2.cpp Show annotated file Show diff for this revision Revisions of this file
Adafruit_GFX.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
unist.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 14f55a40d9af 2.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2.cpp	Thu Jun 02 08:33:35 2022 +0000
@@ -0,0 +1,285 @@
+#include "mbed.h"
+#include "Adafruit_SSD1306.h"   // Adafruit_GFX library
+#include "unist.h"
+
+#define NUM_CHAR    16
+
+Serial      pc(SERIAL_TX, SERIAL_RX);
+DigitalOut  myled(LED1);
+DigitalOut  redLed(PA_12);
+Timer       t1, t2;
+Ticker      t3, t4;
+Ticker      ADCtimer;
+
+InterruptIn   myButton(PC_13);
+InterruptIn   exButton(PC_11);
+
+BusOut my7Seg(PA_8, PA_9, PA_10, PC_9, PC_8, PC_7, PC_6, PA_11); // 8bit data
+            // LSB,                                      , MSB
+
+I2C     I2C_Oled(PB_7, PA_15);       // SDA, SCL
+AnalogOut  myAnalogOut(PA_4);       // new added
+AnalogIn lightSensor(PA_0);
+
+
+char    rxData[5];
+bool    flagRx = 0;
+int     dir = 1;        // 1: increase, -1: decrease
+bool    flagT3 = 0;
+bool    modeT3 = 0;     // 0: stop, 1: working
+bool    modeADC = 0;
+bool    flagADC = 0;    // new added
+const float samplingTime = 0.00005;
+
+void GetADC(void)
+{
+    flagADC = 1;
+
+}
+void ReceiveInt() {
+    char inChar;
+    static char rxCount = 0;
+    static char rxBuf[4];
+    
+    while(1 == pc.readable()) {
+        inChar = pc.getc();
+        if ('<' == inChar){
+            rxCount = 1;            
+        }
+        else if (rxCount > 0 && rxCount < 5) {
+            rxBuf[rxCount-1] = inChar;
+            rxCount++;   
+        }
+        else if (5 == rxCount && '>' == inChar) {
+            rxCount = 0;
+            flagRx = 1;
+            memcpy(rxData, rxBuf, 4);
+//            pc.putc(rxData[0]);
+//            pc.putc(rxData[1]);
+//            pc.putc(rxData[2]);
+//            pc.putc(rxData[3]);
+ 
+//            pc.puts(rxData);  
+        }
+        else {
+            rxCount = 0;
+        }
+    }
+}
+
+void tickerFunc3() {
+    flagT3 = 1;
+}
+
+void Btn1Down() {
+//    pc.puts("1 pushed\n");   // for debugging
+    dir = -1*dir;
+}
+
+void Btn1Up() {
+//    pc.puts("1 released\n");    // for debugging
+    myled = !myled;
+}
+
+void Btn2Down() {
+//    pc.puts("2 pushed\n");   // for debugging
+    if (1 == modeT3) t3.detach();
+    else t3.attach(tickerFunc3, 0.1);
+    modeT3 = !modeT3;
+}
+
+void Btn2Up() {
+//    pc.puts("2 released\n");    // for debugging
+    redLed = !redLed;
+}
+
+// new added
+void ADCInt()
+{
+    flagADC = 1;
+}
+
+// new added
+int ADCcontrol(int val);
+
+
+int main()
+{   
+    pc.baud(115200);
+    pc.puts("\n<< ADC Test Start>>\n");    
+ 
+    myButton.disable_irq();     // to avoid unexpected interrupt
+    exButton.disable_irq();     // to avoid unexpected interrupt
+    
+    pc.attach(&ReceiveInt, Serial::RxIrq);      // RxIrq, TxIrq
+    myButton.fall(&Btn1Down);
+    myButton.rise(&Btn1Up);
+    exButton.fall(&Btn2Down);
+    exButton.rise(&Btn2Up);
+
+    ADCtimer.attach(&GetADC, 0.01); // new added
+    
+    float exLight; // new added
+    
+    I2C_Oled.frequency(400000);     // 400kHz clock
+//    Adafruit_SSD1306_I2c    myOled(I2C_Oled, PD_2, 0x78, 64, 128);    //  reset pin doesn't effect
+//
+//    myOled.clearDisplay();
+//    myOled.drawBitmap(0, 0, unistLogo, 128, 64, 1);
+//    myOled.display();
+//    wait(1);  
+
+    myButton.enable_irq();     // enable IRQ
+    exButton.enable_irq();     // enable IRQ
+    
+    time_t seconds = time(NULL);
+    
+    set_time(1651121217);  // Set RTC time to 2022-4월-28, PM 1:46:57
+    pc.printf("Time as a basic string = %s", ctime(&seconds));
+
+    char buffer[32];
+    strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
+    pc.printf("1) Time as a custom formatted string = %s", buffer);
+    strftime(buffer, 32, "%y-%m-%d, %H:%M:%S\n", localtime(&seconds));
+    pc.printf("2) Time as a custom formatted string = %s", buffer);    
+
+    char tmpCommand[3];
+    int rxVal;
+    char    val7Seg[NUM_CHAR] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};
+
+    my7Seg = 0xFF;
+      
+    uint16_t n = 0;
+    uint16_t k = 0;
+
+    char tempVal2[10] = {0,};
+    float tempVal3;
+
+//    ADCtimer.attach(&ADCInt, samplingTime);      // 50us is appropriate for F303RE (20kHz)
+    
+    float soundFreq = 500;      // Hz
+    pc.printf("smapling time = %dus, sound frequency = %dHz\n", (int)(samplingTime*1000000),   (int)soundFreq); 
+       
+    while(1)
+    {
+///////////////////////////////////////////////////////////////////
+        if (1 == flagADC) {
+            flagADC = 0;
+            exLight = lightSensor.read()*3.3;
+            myled = !myled;
+            
+            pc.printf("%f\n", exLight);
+        }
+    
+        if (exLight > 2){
+            myled = 0;
+            redLed = 0;
+        }
+        else if (exLight < 0.5){
+            myled = 1;
+            redLed = 1;
+        }
+        else{
+            myled = 0;
+            redLed = 1;
+        }
+    
+///////////////////////////////////////////////////////////////////
+
+        if (exLight < 0.5){
+            soundFreq = 400;
+            }
+        else if (exLight < 1){
+            soundFreq = 800;
+            }
+        else{
+            soundFreq = 2000;
+            }
+
+
+        if (1 == flagADC) {
+            flagADC = 0;
+            tempVal3 = soundFreq*n*samplingTime;
+            myAnalogOut = 0.3*(sin(2*3.14159*tempVal3)*0.5+0.5);        // an angle is expressed in radians. 2*pi*f*t, 10~20 times amplication
+            if (tempVal3 > 1.0f) n = 0;      // to prevent a phase shift due to overflow of the unsinged int variable
+            n++;      
+        }
+        if (1 == flagT3) {
+            flagT3 = 0;
+            k = k + dir;
+            tempVal3 = soundFreq*k*samplingTime*0.1f;       // general float calculation
+//            tempVal3 = soundFreq*k*samplingTime*0.1;      // double precision calculation
+            myAnalogOut = sin(2*3.14159*tempVal3)*0.5+0.5;        // 100 times slower
+            sprintf(tempVal2, "%1.2f, %1.2f\n", tempVal3, myAnalogOut.read());
+            pc.puts(tempVal2);
+
+            if (tempVal3 > 1.0f) k = 0;      // to prevent a phase shift due to overflow of the unsinged int variable
+            k++;      
+        }
+        
+        if (1 == flagRx){
+            flagRx = 0;
+            tmpCommand[0] = rxData[0];
+            tmpCommand[1] = rxData[1];
+            tmpCommand[2] = 0;
+            rxVal = atoi(rxData+2);
+            
+            if (0 == strcmp(tmpCommand, "LD")) {        // control a LED
+                pc.printf("val = %d\n", rxVal);
+                
+                myled = (1 == rxVal)? 1:0;
+//                myled = rxVal? 1:0;
+            }
+            else if (0 == strcmp(tmpCommand, "RE")) {        // reset all variables
+                myled = 0;
+                redLed = 1;
+                n = 0;
+                k = 0;
+            }
+            else if (0 == strcmp(tmpCommand, "DA")) {        // ADC control
+                int tempVal;
+                
+                tempVal = ADCcontrol(rxVal);
+                if (1 != tempVal) pc.puts(">> Wrong command\n");
+                else my7Seg = ~val7Seg[rxVal%16] & 0x7F;                
+            }
+       }   
+    }
+}
+
+int ADCcontrol(int val) {
+    if (val<1 || val>2) return 0;
+    switch (val) {
+        case 1:     // sound out On/Off
+            if (0 == modeADC) {
+                modeADC = 1;
+                
+                // for 10kHz sine wave generation, it's needed to have 
+                // a sampling frequency in 10 times of that frequency, 
+                // or 100kHz -> 10us period
+                ADCtimer.attach(&ADCInt, samplingTime);
+                pc.puts(">> Sound On\n");
+                }
+            else {
+                modeADC = 0;
+                ADCtimer.detach();
+                pc.puts(">> Sound Off\n");
+                } 
+            break;
+        case 2:
+            if (0 == modeT3) {
+                modeT3 = 1;
+                t3.attach(&tickerFunc3, 0.02);       // ticker3 start
+                pc.puts(">> Plotting Start\n");
+                }
+            else {
+                modeT3 = 0;
+                t3.detach();
+                pc.puts(">> Plotting Stop\n");
+                }
+            break;
+        default:
+            break;
+    }
+    return 1;
+}
diff -r 000000000000 -r 14f55a40d9af Adafruit_GFX.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Adafruit_GFX.lib	Thu Jun 02 08:33:35 2022 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/eins/code/Adafruit_GFX/#73e927988ade
diff -r 000000000000 -r 14f55a40d9af mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Jun 02 08:33:35 2022 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file
diff -r 000000000000 -r 14f55a40d9af unist.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/unist.h	Thu Jun 02 08:33:35 2022 +0000
@@ -0,0 +1,149 @@
+uint8_t unistLogo[64 * 128 / 8] =
+{
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,
+0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,
+0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x3F,0x3F,
+0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x00,0xFF,0xFF,0xFF,0xFE,0xFC,0x00,0x00,0x00,
+0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,0xBF,
+0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0x00,
+0x00,0x00,0x3F,0x3F,0x3F,0x3F,0x3F,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x3F,
+0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,
+0xFF,0xFF,0xFF,0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xC0,0xFF,0xFF,
+0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,
+0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,
+0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xCF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,
+0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
+0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+};
+    
+uint8_t walking1[42 * 64 / 8] = {
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xFB, 0xFF,
+0xFF, 0xFF, 0xFF, 0xCF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0xC0, 0xF0, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xF8, 0xFC, 0x3E, 0x1F, 0x0F, 0x07, 0x83, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x07, 0x1F, 0x1E, 0x3C, 0x30, 0x70,
+0xF0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xF8,
+0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x03, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xFE, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x07, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1E, 0x1F, 0x3F,
+0xFF, 0xF7, 0xE3, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x07, 0x0F, 0x3F, 0x1F, 0x1F, 0x1C, 0x1C, 0x1C, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+uint8_t walking2[42 * 64 / 8] = {
+// '걷기2', 42x64px
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xfb, 0xff, 0xff, 0xff, 
+0xff, 0xc7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x0e, 0x1f, 0x07, 0x07, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xef, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x80, 0x80, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x40, 0xe0, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0x7e, 0x3f, 0x3f, 0x1f, 0x0f, 0xcf, 0xff, 0xff, 
+0xff, 0xff, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1d, 0x38, 0x10, 0x10, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+
+uint8_t walking3[42 * 64 / 8] = {
+// '걷기3-3', 42x64px
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0xf0, 0xf8, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0xfd, 0xff, 0xff, 0xff, 
+0xff, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x80, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
+0xdf, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xf0, 
+0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xfc, 0xff, 0xff, 0x7f, 0x0f, 0x07, 0x01, 0x00, 0xf8, 
+0xff, 0xff, 0xff, 0xff, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1f, 
+0x1f, 0x1f, 0x1f, 0x3f, 0x30, 0x30, 0x20, 0x00, 0x00, 0x1f, 0x3f, 0x1f, 0x3f, 0x39, 0x70, 0x60, 
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};