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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 685|回复: 3

[分享] 我的点灯程序

[复制链接]
发表于 2022-10-5 12:02 | 显示全部楼层 |阅读模式
国庆天气比较冷,于是空闲时间把ESP8266拿出来,准备做个点灯小实验,主要是完成MPU方向显示以及图片显示功能。

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




73edbc77cea0fee5d0ef9f895dc4b5a.jpg
406b5f60038c92aab7d78bc7afdf2df.jpg
f35e9b46557b369b857912004d21e29.jpg
 楼主| 发表于 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();
}








发表于 2022-10-5 19:13 | 显示全部楼层
请问显示两只企鹅的程序是哪一段?我学习下~
 楼主| 发表于 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,
};



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:39 , Processed in 0.180706 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表