提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、实物连接

二、代码实现
//#include <Adafruit_GFX(1).h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <SPI.h>
#include "bitmap.h"
//#include "sensorManage.h"
#define uint8 unsigned char
#define uint16 unsigned int
#define OLED_RESET 8
Adafruit_SSD1306 display(OLED_RESET);
//constant define
#define PICTURE_GLCD_HEIGHT 64
#define PICTURE_GLCD_WIDTH 128
#define BAR_Y 20
#define BAR_X 57
#define BAR_WIDTH 50
//pin define
#define photoPin A0
void setup()
{
//----- by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
display.begin(SSD1306_SWITCHCAPVCC, 0x3c); // initialize with the I2C addr 0x3D (for the 128x64)
display.clearDisplay();
}
void loop()
{
//showLight();
showLogo(0, 0);
}
void showLogo(uint8 x, uint8 y)
{
display.clearDisplay(); // clears the screen and buffer
display.drawBitmap(x, y, logo_CLB, PICTURE_GLCD_WIDTH, PICTURE_GLCD_HEIGHT, 1);
display.display();
}
头文件
代码如下:
#include <avr/pgmspace.h>
////////////////////////////////////////////////////
// 16x24 Logo
////////////////////////////////////////////////////
const unsigned char PROGMEM IMG_logo_24x24[] = {
0x07,0xff,0xe0,
0x07,0xff,0xe0,
0x07,0xff,0xe0,
0x08,0x10,0x10,
0x10,0x10,0x08,
0x10,0x00,0x08,
0x10,0x00,0x08,
0x10,0x00,0x08,
0x10,0x00,0x08,
0x10,0x02,0x08,
0x10,0x04,0x08,
0x10,0x08,0x0c,
0x1c,0x10,0x3c,
0x10,0x08,0x0c,
0x10,0x08,0x08,
0x10,0x04,0x08,
0x10,0x04,0x08,
0x10,0x02,0x08,
0x10,0x02,0x08,
0x10,0x10,0x08,
0x08,0x10,0x10,
0x07,0xff,0xe0,
0x07,0xff,0xe0,
0x07,0xff,0xe0
};
////////////////////////////////////////////////////
// 8x8 Indicator
////////////////////////////////////////////////////
const unsigned char PROGMEM IMG_indicator_emg[] = {
0x00,
0x18,
0x18,
0x18,
0x00,
0x18,
0x00,
0x00
};
const unsigned char PROGMEM IMG_indicator_msg[] = {
0x00,
0x3c,
0x42,
0x42,
0x34,
0x08,
0x00,
0x00
};
////////////////////////////////////////////////////
// 16x16 icon bitmap matrix
////////////////////////////////////////////////////
#define GET_ICON(A) ICON_BITMAP_##A
//----- Change below count if you added new icon
#define ICON_ARRAY_SIZE 65
const unsigned char PROGMEM ICON_BITMAP_1[] = {
0x00,0x00,
0x00,0x00,
0x04,0x40,
0x07,0xc0,
0x0f,0xe0,
0x0b,0xa0,
0x1f,0xf0,
0x00,0x00,
0x5f,0xf4,
0x5f,0xf4,
0x5f,0xf4,
0x5f,0xf4,
0x1f,0xf0,
0x0c,0x60,
0x0c,0x60,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_2[] = {
0x00,0x00,
0x00,0x00,
0x03,0x80,
0x06,0xc0,
0x03,0x80,
0x03,0x80,
0x03,0x80,
0x1f,0xf0,
0x03,0x80,
0x03,0x80,
0x43,0x84,
0x63,0x8c,
0x77,0xdc,
0x3f,0xf8,
0x1c,0x70,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_3[] = {
0x00,0x00,
0x00,0x00,
0x00,0xc0,
0x01,0xc0,
0x01,0x80,
0x1d,0x70,
0x3f,0xf8,
0x7f,0xf0,
0x7f,0xe0,
0x7f,0xe0,
0x7f,0xe0,
0x7f,0xf0,
0x3f,0xf8,
0x1f,0xf0,
0x0e,0xe0,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_4[] = {
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x5a,0xac,
0x5a,0xac,
0x5a,0xac,
0x5a,0xac,
0x5a,0xac,
0x5a,0xac,
0x02,0x08,
0x56,0xa8,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_5[] = {
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x3f,0xfc,
0x20,0x04,
0x6d,0xb4,
0x6d,0xb4,
0x6d,0xb4,
0x20,0x04,
0x3f,0xfc,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_6[] = {
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x3f,0xfc,
0x20,0x04,
0x61,0xb4,
0x61,0xb4,
0x61,0xb4,
0x20,0x04,
0x3f,0xfc,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_7[] = {
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x3f,0xfc,
0x20,0x04,
0x60,0x34,
0x60,0x34,
0x60,0x34,
0x20,0x04,
0x3f,0xfc,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_8[] = {
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x3f,0xfc,
0x20,0x04,
0x60,0x04,
0x60,0x04,
0x60,0x04,
0x20,0x04,
0x3f,0xfc,
0x00,0x00,
0x00,0x00,
0x00,0x00,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_9[] = {
0x00,0x00,
0x00,0x00,
0x7f,0xfc,
0x40,0xe4,
0x70,0xe4,
0x40,0xe4,
0x70,0xe4,
0x40,0xe4,
0x70,0xa4,
0x40,0x04,
0x70,0x04,
0x40,0x04,
0x70,0x04,
0x40,0x04,
0x7f,0xfc,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_10[] = {
0x00,0x00,
0x00,0x00,
0x7f,0xfc,
0x7f,0xfc,
0x7f,0xfc,
0x40,0x04,
0x44,0xe4,
0x4d,0xb4,
0x5d,0xb4,
0x4d,0xb4,
0x4d,0xb4,
0x4d,0xb4,
0x5e,0xe4,
0x40,0x04,
0x7f,0xfc,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_11[] = {
0x00,0x00,
0x00,0x00,
0x03,0x80,
0x07,0x80,
0x0f,0x80,
0x0f,0x80,
0x0d,0x80,
0x0c,0x00,
0x0c,0x00,
0x0c,0x10,
0x0d,0xa8,
0x0f,0xa8,
0x0f,0x90,
0x07,0xec,
0x03,0x80,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_12[] = {
0x00,0x00,
0x00,0x00,
0x3f,0xf8,
0x7f,0xcc,
0x7f,0xcc,
0x7d,0xcc,
0x7f,0xfc,
0x7c,0x7c,
0x49,0x24,
0x4a,0xa4,
0x49,0x24,
0x44,0x44,
0x53,0x84,
0x40,0x04,
0x3f,0xf8,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_13[] = {
0x00,0x00,
0x00,0x00,
0x30,0x06,
0x38,0x0e,
0x1c,0x1c,
0x0e,0x38,
0x07,0x70,
0x03,0xe0,
0x01,0xc0,
0x03,0xe0,
0x07,0x70,
0x0e,0x38,
0x1c,0x1c,
0x38,0x0e,
0x30,0x06,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_14[] = {
0x00,0x00,
0x00,0x00,
0x1f,0xf0,
0x3f,0xf8,
0x3f,0xf8,
0x77,0xdc,
0x63,0x8c,
0x63,0x8c,
0x7e,0xfc,
0x3c,0x78,
0x1c,0x70,
0x0f,0xe0,
0x0f,0xe0,
0x0a,0xa0,
0x0a,0xa0,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_15[] = {
0x00,0x00,
0x00,0x00,
0x04,0x40,
0x04,0x40,
0x1f,0xf0,
0x10,0x10,
0x14,0x50,
0x70,0x1c,
0x47,0xc4,
0x40,0x04,
0x70,0x1c,
0x10,0x10,
0x17,0xd0,
0x24,0x48,
0x3c,0x78,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_16[] = {
0x00,0x00,
0x00,0x00,
0x01,0x00,
0x03,0x00,
0x1f,0xf0,
0x10,0x10,
0x14,0x50,
0x71,0x1c,
0x43,0x84,
0x41,0x04,
0x71,0x1c,
0x10,0x90,
0x17,0xd0,
0x24,0x48,
0x3c,0x78,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_17[] = {
0x00,0x00,
0x00,0x00,
0x20,0x08,
0x30,0x18,
0x1f,0xf0,
0x10,0x10,
0x14,0x50,
0x70,0x1c,
0x47,0xc4,
0x45,0x44,
0x72,0x9c,
0x10,0x10,
0x17,0xd0,
0x24,0x48,
0x3c,0x78,
0x00,0x00
};
const unsigned char PROGMEM ICON_BITMAP_18[] = {
0x00,0x00,
0x00,0x00,
0x60,0x0c,
0x1f,0xf0,
0x10,0x10,
0x10,0x10,
0x14,0x50,
0x70,0x1c

本文探讨了物联网设备的连接方式,包括使用Adafruit GFX库进行显示和Wire、SPI通信协议的使用。同时展示了如何通过编程实现设备连接,并分析了不同天气条件下的图像图标,如多云、下雨、太阳等。
最低0.47元/天 解锁文章
673

被折叠的 条评论
为什么被折叠?



