我的点灯项目
本帖最后由 xusp99 于 2022-10-9 21:25 编辑通过ESP8266、GY521、OLED三个模块完成的点灯项目,。
需要安装的软件有arduino IDE,ESP8266,MPU6050_light,SSD1306等库文件,具体可以通过ide的管理库进行安装,arduino的IDE还是非常便捷的。
具体演示图片如下:
https://www.arduino.cn/data/attachment/forum/202210/05/120100xru1uue1sj816gy6.jpghttps://www.arduino.cn/data/attachment/forum/202210/05/120101b5lbg5bgmlxgeukg.jpg 实例代码如下:
#include "Wire.h"
#include <MPU6050_light.h>
#include "SSD1306Wire.h"
#define BLINKER_WIFI
#include <Blinker.h>
#include "images.h"
char auth[] = "11111111111100";
char ssid[] = "TTTdd";
char pswd[] = "99999";
// 新建组件对象
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");
BlinkerButton Button2("btn-2");
SSD1306Wire display(0x3c, 2, 0);
MPU6050 mpu(Wire);
unsigned long timer = 0;
int counter = 0;
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 dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
counter++;
Number1.print(counter);
}
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();
}
void loop() {
Blinker.run();
}
//image.h
#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]