我的点灯程序-Arduino中文社区 - Powered by Discuz! Archiver

xusp99 发表于 2022-10-5 12:02

我的点灯程序

国庆天气比较冷,于是空闲时间把ESP8266拿出来,准备做个点灯小实验,主要是完成MPU方向显示以及图片显示功能。

需要安装的软件有arduino IDE,ESP8266,MPU6050_light,SSD1306等库文件,具体可以通过ide的管理库进行安装,arduino的IDE还是非常便捷的。
具体演示图片如下:




xusp99 发表于 2022-10-5 12:06

主要代码块有:


BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");
BlinkerButton Button2("btn-2");

SSD1306Wire display(0x3c, 2, 0);
MPU6050 mpu(Wire);



void button1_callback(const String & state)
{
   mpu.update();
    BLINKER_LOG("get button state: ", state);
    Serial.print("X : ");
    Serial.print(mpu.getAngleX());
    Serial.print("\tY : ");
    Serial.print(mpu.getAngleY());
    Serial.print("\tZ : ");
    Serial.println(mpu.getAngleZ());
    timer = millis();

    display.clear();
    display.drawString(10, 0, "z=");
    display.drawString(30, 0, String(mpu.getAngleZ()));
    display.drawString(10, 20, "y=");
    display.drawString(30, 20, String(mpu.getAngleY()));
    display.drawString(10, 40, "x=");
    display.drawString(30, 40, String(mpu.getAngleX()));
    display.display();
}
void button2_callback(const String & state)
{
BLINKER_LOG("get button2 state: ", state);
display.clear();
display.drawXbm(10, 0, YQ_width, YQ_height, YQ_bits);
display.display();
}






void setup() {
Serial.begin(9600);
Wire.begin(2,0);

byte status = mpu.begin();
Serial.print(F("MPU6050 status: "));
Serial.println(status);
while(status!=0){ } // stop everything if could not connect to MPU6050

Serial.println(F("Calculating offsets, do not move MPU6050"));
delay(1000);
// mpu.upsideDownMounting = true; // uncomment this line if the MPU6050 is mounted upside-down
mpu.calcOffsets(); // gyro and accelero
Serial.println("Done!\n");

display.init();

display.flipScreenVertically();
display.setFont(ArialMT_Plain_16);


    BLINKER_DEBUG.stream(Serial);
    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);

    Button1.attach(button1_callback);
    Button2.attach(button2_callback);

    display.clear();
    display.drawString(30, 0, "welcome ESP8266");
    display.display();
}








apei2005 发表于 2022-10-5 19:13

请问显示两只企鹅的程序是哪一段?我学习下~

xusp99 发表于 2022-10-7 13:03


//两只企鹅
// display.drawXbm(10, 0, YQ_width, YQ_height, YQ_bits);


#define YQ_width 114
#define YQ_height 64

const uint8_t YQ_bits[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC4, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x1E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78,
0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x00, 0x00, 0x1C, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0xFF, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00,
0x00, 0x00, 0xF8, 0x05, 0xFE, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
0x07, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x01,
0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07,
0x00, 0xC0, 0xF0, 0x00, 0x00, 0xFE, 0x0C, 0x00, 0x00, 0x00, 0x80, 0x01,
0x00, 0x00, 0x0C, 0x00, 0x60, 0xFC, 0x01, 0x00, 0xF6, 0x19, 0x00, 0x00,
0x00, 0xC0, 0x1F, 0x00, 0x80, 0x3B, 0x00, 0x30, 0xFC, 0x01, 0x00, 0xF3,
0x33, 0x00, 0x00, 0x00, 0x60, 0x3B, 0x00, 0xE0, 0x36, 0x00, 0x30, 0x6E,
0x03, 0x00, 0x83, 0x31, 0x00, 0x00, 0x00, 0xF0, 0x23, 0x00, 0xE0, 0x6C,
0x00, 0x18, 0x8C, 0x03, 0x00, 0x86, 0x61, 0x00, 0x00, 0x00, 0x38, 0x37,
0x00, 0xE0, 0xCD, 0x00, 0x18, 0xF8, 0xA0, 0x0A, 0xFE, 0x60, 0x00, 0x00,
0x00, 0x18, 0x3F, 0x48, 0xE0, 0xC7, 0x00, 0x18, 0xF0, 0xFF, 0xFF, 0x3F,
0xC0, 0x00, 0x00, 0x00, 0x0C, 0xFE, 0xFF, 0xFF, 0xC3, 0x00, 0x0C, 0xF8,
0x31, 0x38, 0xFC, 0xC0, 0x00, 0x00, 0x00, 0x0C, 0xFE, 0x03, 0xFB, 0x81,
0x01, 0x0C, 0x0E, 0x70, 0x18, 0xC0, 0xC3, 0x00, 0x00, 0x00, 0xC6, 0x03,
0xC7, 0x81, 0x8F, 0x01, 0xEC, 0x03, 0xC0, 0x0C, 0x00, 0xDF, 0x00, 0x00,
0x00, 0x7E, 0x00, 0xC6, 0x00, 0xBC, 0x01, 0x7C, 0x00, 0x80, 0x0F, 0x00,
0xF0, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x7C, 0x00, 0xF0, 0x01, 0x0E, 0x00,
0x00, 0x07, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x06, 0x00, 0x38, 0x00, 0xC0,
0x01, 0x0C, 0x00, 0x00, 0x02, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00,
0xC0, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x06, 0x00,
0x00, 0x00, 0x00, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00,
0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
0x80, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00,
0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0x06, 0x00, 0xC0, 0x07, 0x00,
0x00, 0x00, 0x00, 0x8E, 0x07, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0C, 0x00,
0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x0F, 0x00, 0x00, 0x00, 0x00,
0x80, 0x18, 0x00, 0x70, 0x06, 0x00, 0x00, 0x00, 0x00, 0xB6, 0x05, 0x00,
0x00, 0x00, 0x00, 0xC0, 0x18, 0x00, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00,
0xE2, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x00, 0x1C, 0x0C, 0x00,
0x00, 0x00, 0x00, 0xF6, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x20, 0x00,
0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00,
0xC0, 0x60, 0x00, 0x80, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x00,
0x00, 0x00, 0x00, 0xC0, 0xE7, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
0x03, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x00, 0x03, 0x18, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
0x00, 0x30, 0x00, 0x00, 0x00, 0x80, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00,
0x60, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x30, 0x00,
0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xC0,
0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xC0, 0x00,
0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
0x00, 0x80, 0x01, 0x00, 0x00, 0x30, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x18, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x1C, 0x00, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x0F,
0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x3C,
0x00, 0xC0, 0x01, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
0x00, 0x00, 0xF8, 0xAF, 0xFF, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x80,
0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFE, 0x6F, 0x00, 0x00, 0x00, 0x1C,
0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x06, 0xC4, 0x00,
0x00, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
0x06, 0xCC, 0x00, 0x00, 0x00, 0xC0, 0xDF, 0xEE, 0x1F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0x04, 0xCC, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xFF, 0x39,
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0C, 0x84, 0x01, 0x00, 0x00, 0x00,
0xC1, 0xC0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1C, 0x86, 0x03,
0x00, 0x00, 0x80, 0x83, 0xC0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
0x1C, 0x06, 0x03, 0x00, 0x00, 0x80, 0x81, 0xC1, 0x60, 0x00, 0x00, 0x00,
0x00, 0x00, 0xE8, 0x3F, 0x87, 0x0F, 0x00, 0x00, 0x80, 0x81, 0xC1, 0xC1,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x81, 0xFF, 0x0C, 0x00, 0x00, 0xC0,
0x00, 0xC1, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x70, 0x00,
0x00, 0x00, 0x60, 0x00, 0x83, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x20, 0x00, 0x00, 0x00, 0xF0, 0x43, 0xCF, 0xC0, 0x0F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEE, 0xEF, 0xE3,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x78, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};



页: [1]
查看完整版本: 我的点灯程序