【毕业设计】基于单片机的太空游戏机 - 嵌入式 物联网 stm32 51

news/2024/9/16 19:03:34/

文章目录

  • 1 简介
  • 2 主要器件
    • 2.1 硬件器件
  • 3 实现效果
  • 4 设计原理
    • 4.1 器件连接
  • 5 部分实现代码
  • 6 最后


1 简介

Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目

基于单片机的太空飞机游戏机设计与实现

大家可用于 课程设计 或 毕业设计


单片机-嵌入式毕设选题大全及项目分享:

https://blog.csdn.net/m0_71572576/article/details/125409052


2 主要器件

2.1 硬件器件

  • 任意单片机
  • OLED 显示屏 128x64×1 ( i2c 和 SPI 都可以工作)
  • 按钮开关 12mm ×3(SparkFun 按钮开关 12mm)
  • 电阻 10k 欧姆× 3
  • 通用印刷电路板×1( 或者你可以在面包板上制作)
  • 母头 8 位 1 排 (0.1") ×1
  • 公头 40 位置 1 排 (0.1") ×1
  • 4xAA 电池座×1

在这里插入图片描述

3 实现效果

在这里插入图片描述

在这里插入图片描述

4 设计原理

4.1 器件连接

连接 OLED显示器

  • 显示器的 Vcc 连接到 Arduino 的 5V 输出。
  • 显示器的 GND 连接到 Arduino GND 引脚。
  • 显示器的 SDA 引脚连接到 Arduino 的 A4 或 SDA 引脚。
  • 显示器的 SCL 引脚连接到 Arduino 的 A5 或 SCL 引脚。
  • 连接按钮

MCU(学长选arduino)

  • Arduino D3的向上按钮
  • Arduino D4的向下按钮
  • Arduino D5 的点火按钮

在这里插入图片描述

5 部分实现代码

/*太空游戏源码*/#include <Arduino.h>
#include <U8g2lib.h>#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#万一
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#万一// 请取消注释下面的构造器行之一
// U8g2 构造器列表(图片循环页面缓冲区)
//完整列表在这里:https://github.com/olikraus/u8g2/wiki/u8g2setupcpp
// 请根据您的设置更新引脚编号。如果未连接复位引脚,则
使用 U8X8_PIN_NONE
//U8G2_NULL u8g2 ( U8G2_R0 ) ;     // 空设备,一个 8x8 像素的显示器,什么都不做
// U8G2_SSD1306_128X64_NONAME_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1306_128X64_NONAME_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 12 , /* dc = */ 4 , /* reset = */ 6 ) ;     // Arduboy (生产,Kickstarter 版)
//U8G2_SSD1306_128X64_NONAME_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_SSD1306_128X64_NONAME_1_3W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* reset = */ 8 ) ;
U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE ) ;
//U8G2_SSD1306_128X64_ALT0_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE ) ;    // 与 NONAME 变体相同,但可以解决“每 2 行被跳过”的问题
//U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* reset = */ 8 ) ;
//U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2 ( U8G2_R0, /* clock = */ SCL, /* data = */ SDA, /* reset = */ U8X8_PIN_NONE ) ;    // 没有重置显示的所有板
//U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2 ( U8G2_R0, /* clock = */ 16 , /* data = */ 17 , /* reset = */ U8X8_PIN_NONE ) ;    // ESP32 Thing,纯软件模拟 I2C
//U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE, /* clock = */ 16 , /* data = */ 17 ) ;    // ESP32 Thing,带引脚重新映射的硬件 I2C
// U8G2_SSD1306_128X64_NONAME_1_6800 u8g2 ( U8G2_R0,13,11,2,3,4,5,6,A4,/ *使能= * / 7,/ * CS = * / 10,/ * DC = * / 9,/ *复位= */ 8 ) ;
// U8G2_SSD1306_128X64_NONAME_1_8080 u8g2 ( U8G2_R0,13,11,2,3,4,5,6,A4,/ *使能= * / 7,/ * CS = * / 10,/ * DC = * / 9,/ *复位= */ 8 ) ;
//U8G2_SSD1306_128X64_VCOMH0_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;     // 与 NONAME 变体相同,但最大化 setContrast ()范围
//U8G2_SSD1306_128X64_ALT0_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;     // 与 NONAME 变体相同,但可以解决“每 2 行被跳过”的问题
//U8G2_SH1106_128X64_NONAME_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_SH1106_128X64_NONAME_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE ) ;
//U8G2_SH1106_128X64_VCOMH0_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;         // 与 NONAME 变体相同,但最大化 setContrast ()范围
//U8G2_SH1106_128X64_WINSTAR_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;         // 与 NONAME 变体相同,但使用更新的 SH1106 初始化序列
//U8G2_SH1106_72X40_WISE_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_SH1107_64X128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_SH1107_128X128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_SH1107_128X128_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ 8 ) ;
//U8G2_SH1107_PIMORONI_128X128_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ 8 ) ;
//U8G2_SH1107_SEEED_128X128_1_SW_I2C u8g2 ( U8G2_R0, /* clock = */ SCL, /* data = */ SDA, /* reset = */ U8X8_PIN_NONE ) ;
//U8G2_SH1107_SEEED_128X128_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE ) ;
//U8G2_SH1107_SEEED_96X96_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_SH1108_160X160_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_SH1122_256X64_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;                 // 在 u8g2.h 中启用 U8G2_16BIT
//U8G2_SSD1306_128X32_UNIVISION_1_SW_I2C u8g2 ( U8G2_R0, /* clock = */ 21 , /* data = */ 20 , /* reset = */ U8X8_PIN_NONE ) ;    // Adafruit Feather M0 Basic Proto + FeatherWing OLED
//U8G2_SSD1306_128X32_UNIVISION_1_SW_I2C u8g2 ( U8G2_R0, /* clock = */ SCL, /* data = */ SDA, /* reset = */ U8X8_PIN_NONE ) ;    // Adafruit Feather ESP8266/32u4 板 + FeatherWing OLED
//U8G2_SSD1306_128X32_UNIVISION_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE ) ;    // Adafruit ESP8266/32u4/ARM 板 + FeatherWing OLED
//U8G2_SSD1306_128X32_UNIVISION_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE, /* clock = */ SCL, /* data = */ SDA ) ;    // 使用 ESP8266 HW I2C 重新映射引脚
//U8G2_SSD1306_128X32_WINSTAR_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE, /* clock = */ SCL, /* data = */ SDA ) ;    // 使用 ESP8266 HW I2C 重新映射引脚
//U8G2_SSD1306_64X48_ER_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE ) ;    // EastRising 0 .66 " OLED 分线板,Uno:A4=SDA,A5=SCL,5V 供电
//U8G2_SSD1306_48X64_WINSTAR_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);   
//U8G2_SSD1306_64X32_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
//U8G2_SSD1306_64X32_1F_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
//U8G2_SSD1306_96X16_ER_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // EastRising 0.69" OLED 
// U8G2_SSD1322_NHD_256X64_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     // 在 u8g2.h 中启用 U8G2_16BIT
//U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;     // 在 u8g2.h 中启用 U8G2_16BIT
// U8G2_SSD1322_NHD_128X64_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1322_NHD_128X64_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_SSD0323_OS128064_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD0323_OS128064_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_SSD1326_ER_256X32_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );          //实验司机为ER-OLED018-1
//U8G2_SSD1327_SEEED_96X96_1_SW_I2C u8g2 ( U8G2_R0, /* clock = */ SCL, /* data = */ SDA, /* reset = */ U8X8_PIN_NONE ) ;     // Seeedstudio Grove OLED 96x96
//U8G2_SSD1327_SEEED_96X96_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE ) ;     // Seeedstudio Grove OLED 96x96
// U8G2_SSD1327_EA_W128128_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1327_EA_W128128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_SSD1327_EA_W128128_1_SW_I2C u8g2 ( U8G2_R0, /* clock = */ 5 , /* data = */ 4 , /* reset = */ U8X8_PIN_NONE ) ;
//U8G2_SSD1327_EA_W128128_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE ) ;
// U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1327_MIDAS_128X128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_SSD1327_WS_128X128_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1327_WS_128X128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_SSD1329_128X96_NONAME_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1329_128X96_NONAME_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_SSD1305_128X32_NONAME_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1305_128X32_NONAME_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_SSD1305_128X32_ADAFRUIT_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1305_128X32_ADAFRUIT_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_SSD1305_128X64_ADAFRUIT_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_SSD1305_128X64_ADAFRUIT_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_SSD1309_128X64_NONAME0_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );  
//U8G2_SSD1309_128X64_NONAME0_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;  
// U8G2_SSD1309_128X64_NONAME2_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );  
//U8G2_SSD1309_128X64_NONAME2_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;  
//U8G2_SSD1316_128X32_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;  
//U8G2_SSD1316_128X32_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;     
//U8G2_SSD1317_96X96_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;   // 未测试,未确认
//U8G2_SSD1317_96X96_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;      // 未测试,未确认
//U8G2_SSD1318_128X96_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;  
//U8G2_SSD1318_128X96_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;     
//U8G2_LD7032_60X32_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 11 , /* data = */ 12 , /* cs = */ 9 , /* dc = */ 10 , /* reset = */ 8 ) ;     // SW SPI纳米板
//U8G2_LD7032_60X32_1_4W_SW_I2C u8g2 ( U8G2_R0, /* clock = */ 11 , /* data = */ 12 , /* reset = */ U8X8_PIN_NONE ) ;     // 未测试!
// U8G2_UC1701_EA_DOGS102_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_UC1701_EA_DOGS102_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_PCD8544_84X48_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;     // 诺基亚5110显示器
//U8G2_PCD8544_84X48_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;                         // 诺基亚5110显示器
//U8G2_PCF8812_96X65_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;     // 也可以是 PCF8814
//U8G2_PCF8812_96X65_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;                         // 也可以是 PCF8814
//U8G2_HX1230_96X68_1_3W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* reset = */ 8 ) ;
//U8G2_HX1230_96X68_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_KS0108_128X64_1 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18,/ * DC = * / 17,/ * CS0 = * / 14,/ * CS1 = */ 15 , /*cs2 = */ U8X8_PIN_NONE, /*重置= */ U8X8_PIN_NONE ) ;      // 将 R/W 设置为低!
// U8G2_KS0108_ERM19264_1 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18,/ * DC = * / 17,/ * CS0 = * / 14,/ * CS1 = */ 15 , /*cs2 = */ 16 , /*重置= */ U8X8_PIN_NONE ) ;      // 将 R/W 设置为低!
// U8G2_ST7920_192X32_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18,/ * CS = * / U8X8_PIN_NONE,/ * DC = * / 17,/ *复位= */ U8X8_PIN_NONE ) ;
//U8G2_ST7920_192X32_1_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 18 /* A4 */ , /* data = */ 16 /* A2 */, /* CS = */ 17 /* A3 */, /* reset = */ U8X8_PIN_NONE ) ;
// U8G2_ST7920_128X64_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18 / * A4 * /,/ * CS = * / U8X8_PIN_NONE,/ * DC / RS = */ 17 /* A3 */, /*reset = */ 15 /* A1 */ ) ;     // 记得将R/W设置为0 
//U8G2_ST7920_128X64_1_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 18 /* A4 */ , /* data = */ 16 /* A2 */, /* CS = */ 17 /* A3 */, /* reset = */ U8X8_PIN_NONE ) ;
//U8G2_ST7920_128X64_1_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* CS = */ 10 , /* reset = */ 8 ) ;
//U8G2_ST7920_128X64_1_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 14 , /* data = */ 13 , /* CS = */ 15 , /* reset = */ 16 ) ; // Feather HUZZAH ESP8266, E =时钟= 14 , RW =数据= 13 , RS = CS
//U8G2_ST7920_128X64_1_HW_SPI u8g2 ( U8G2_R0, /* CS = */ 10 , /* reset = */ 8 ) ;
//U8G2_ST7920_128X64_1_HW_SPI u8g2 ( U8G2_R0, /* CS = */ 15 , /* reset = */ 16 ) ; // Feather HUZZAH ESP8266, E =时钟= 14 , RW =数据= 13 , RS = CS
// U8G2_ST7565_EA_DOGM128_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_ST7565_EA_DOGM128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_ST7565_64128N_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_ST7565_64128N_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_ST7565_EA_DOGM132_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ PIN_ONE ) ;     // DOGM132 盾牌
//U8G2_ST7565_EA_DOGM132_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ U8X8_PIN_NONE ) ;     // DOGM132 盾牌
// U8G2_ST7565_ZOLEN_128X64_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_ST7565_ZOLEN_128X64_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_ST7565_LM6059_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;         // Adafruit ST7565 GLCD
//U8G2_ST7565_LM6059_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;             // Adafruit ST7565 GLCD
//U8G2_ST7565_LX12864_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
//U8G2_ST7565_LX12864_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_ST7565_ERC12864_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_ST7565_ERC12864_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_ST7565_ERC12864_ALT_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 ); //对比度改进版的ERC12864
//U8G2_ST7565_ERC12864_ALT_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ; //对比度改进版的ERC12864
// U8G2_ST7565_NHD_C12832_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_ST7565_NHD_C12832_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_ST7565_NHD_C12864_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_ST7565_NHD_C12864_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_ST7565_JLX12864_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_ST7565_JLX12864_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_ST7567_PI_132X64_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 7,/ * DC = * / 9,/ *复位= * / 8 );   // Pax Instruments Shield, LCD_BL = 6
//U8G2_ST7567_PI_132X64_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 7 , /* dc = */ 9 , /* reset = */ 8 ) ;   // Pax Instruments Shield, LCD_BL = 6
// U8G2_ST7567_JLX12864_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 7,/ * DC = * / 9,/ *复位= * / 8 );  
//U8G2_ST7567_JLX12864_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 7 , /* dc = */ 9 , /* reset = */ 8 ) ;  
// U8G2_ST7567_ENH_DG128064_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 ); 
//U8G2_ST7567_ENH_DG128064_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ; 
// U8G2_ST7567_ENH_DG128064I_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 ); 
//U8G2_ST7567_ENH_DG128064I_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ; 
//U8G2_ST7567_64X32_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ U8X8_PIN_NONE ) ; 
// U8G2_ST75256_JLX172104_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_ST75256_JLX172104_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_ST75256_JLX19296_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_ST75256_JLX19296_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;
// U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     //乌诺,启用U8g2 16位模式对于该显示
//U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;                 //乌诺,启用U8g2 16位模式对于该显示
// U8G2_ST75256_WO256X128_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     //乌诺,启用U8g2 16位模式对于该显示
//U8G2_ST75256_WO256X128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;                 //乌诺,启用U8g2 16位模式对于该显示
//U8G2_ST75256_JLX256128_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 9 , /* data = */ 8 , /* cs = */ 7 , /* dc = */ 6 , /* reset = */ 5 ) ;   // MKR零,使能U8g2 16位模式对于该显示
//U8G2_ST75256_JLX256128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 7 , /* dc = */ 6 , /* reset = */ 5 ) ;   // MKR零,使能U8g2 16位模式对于该显示
// U8G2_ST75256_JLX256160_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     //乌诺,启用U8g2 16位模式对于该显示
//U8G2_ST75256_JLX256160_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;                 //乌诺,启用U8g2 16位模式对于该显示
// U8G2_ST75256_JLX256160M_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     //乌诺,启用U8g2 16位模式对于该显示
//U8G2_ST75256_JLX256160M_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;                 //乌诺,启用U8g2 16位模式对于该显示
// U8G2_ST75256_JLX256160_ALT_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     //乌诺,启用U8g2 16位模式对于该显示
//U8G2_ST75256_JLX256160_ALT_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;                 //乌诺,启用U8g2 16位模式对于该显示
// U8G2_ST75256_JLX240160_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
//U8G2_ST75256_JLX240160_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;    
//U8G2_ST75256_JLX25664_1_2ND_HW_I2C u8g2 ( U8G2_R0, /* reset = */ 8 ) ;     //由于,第二I2C,使U8g2 16位模式对于该显示
// U8G2_ST75320_JLX320240_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     //乌诺,启用U8g2 16位模式对于该显示
//U8G2_ST75320_JLX320240_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;                 //乌诺,启用U8g2 16位模式对于该显示
// U8G2_NT7534_TG12864R_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );  
//U8G2_NT7534_TG12864R_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;  
//U8G2_ST7588_JLX12864_1_SW_I2C u8g2 ( U8G2_R0, /*时钟= */ SCL, /*数据= */ SDA, /*复位= */ 5 ) ;  
//U8G2_ST7588_JLX12864_1_HW_I2C u8g2 ( U8G2_R0, /* reset = */ 5 ) ;
// U8G2_IST3020_ERC19264_1_6800 u8g2 ( U8G2_R0,44,43,42,41,40,39,38,37,/ *使能= * / 28,/ * CS = * / 32,/ * DC = * / 30,/ *复位= */ 31 ) ; // 将 WR 引脚与 GND 连接
// U8G2_IST3020_ERC19264_1_8080 u8g2 ( U8G2_R0,44,43,42,41,40,39,38,37,/ *使能= * / 29,/ * CS = * / 32,/ * DC = * / 30,/ *复位= */ 31 ) ; // 将 RD 引脚与3 .3V
连接
// U8G2_IST3020_ERC19264_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );
// U8G2_LC7981_160X80_1_6800 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18,/ * CS = * / 14,/ * DC = * / 15,/ *复位= */ 16 ) ; // 将 RW 与 GND 连接
// U8G2_LC7981_160X160_1_6800 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18,/ * CS = * / 14,/ * DC = * / 15,/ *复位= */ 16 ) ; // 将 RW 与 GND 连接
// U8G2_LC7981_240X128_1_6800 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18,/ * CS = * / 14,/ * DC = * / 15,/ *复位= */ 16 ) ; // 将 RW 与 GND 连接
// U8G2_LC7981_240X64_1_6800 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18,/ * CS = * / 14,/ * DC = * / 15,/ *复位= */ 16 ) ; // 将 RW 与 GND 连接
// U8G2_SED1520_122X32_1 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ * DC = * / A0,/ * E1 = * / A3,/ * E2 = * / A2,/ *复位= */ A4 ) ;      // 将 R/W 设置为低!
// U8G2_T6963_240X128_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能/ WR = * / 17,/ * CS / CE = * / 14,/ * DC = * / 15 , /* 重置= */ 16 ) ; // RD 接+5V,FS0 和 FS1 接GND
// U8G2_T6963_256X64_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能/ WR = * / 17,/ * CS / CE = * / 14,/ * DC = * / 15 , /* 重置= */ 16 ) ; // RD 接+5V,FS0 和 FS1 接GND
// U8G2_T6963_160X80_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能/ WR = * / 17,/ * CS / CE = * / 14,/ * DC = * / 15 , /* 重置= */ 16 ) ; // RD 接+5V,FS0 和 FS1 接GND
// U8G2_T6963_128X64_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能/ WR = * / 17,/ * CS / CE = * / 14,/ * DC = * / 15 , /* 重置= */ 16 ) ; // RD 接+5V,FS0 和 FS1 接GND
// U8G2_T6963_128X64_ALT_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能/ WR = * / 17,/ * CS / CE = * / 14,/ * DC = * / 15 , /* 重置= */ 16 ) ; // RD 接+5V,FS0 和 FS1 接GND
// U8G2_SED1330_240X128_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 17,/ * CS = * / 14,/ * DC = * / 15,/ *复位= */ 16 ) ; // 将/RD = E 与+5V 连接,使能是/WR = RW,FG 与GND,14 = Uno 引脚A0
// U8G2_SED1330_240X128_1_6800 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 17,/ * CS = * / 14,/ * DC = * / 15,/ *复位= */ 16 ) ; // A0 是直流引脚,/WR =  RW  = GND,使能是 /RD = E
// U8G2_RA8835_NHD_240X128_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 17,/ * CS = * / 14,/ * DC = * / 15,/ *复位= */ 16 ) ; // 将/RD = E 与+5V 连接,使能是/WR = RW,FG 与GND,14 = Uno 引脚A0
// U8G2_RA8835_NHD_240X128_1_6800 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 17,/ * CS = * / 14,/ * DC = * / 15,/ *复位= */ 16 ) ; // A0 是直流引脚,/WR =  RW  = GND,使能是 /RD = E
//U8G2_UC1601_128X32_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ; 
//U8G2_UC1601_128X32_1_3W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* reset = */ 8 ) ;
// U8G2_UC1604_JLX19264_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 ); 
//U8G2_UC1604_JLX19264_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;  
// U8G2_UC1608_ERC24064_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );   // SW SPI,由于 ERC24064-1 测试设置
// U8G2_UC1608_ERC240120_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 ); 
// U8G2_UC1608_240X128_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );   // SW SPI,由于 ERC24064-1 测试设置
//U8G2_UC1610_EA_DOGXL160_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ PIN U8ONE ) ;
//U8G2_UC1610_EA_DOGXL160_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ 9 , /* reset = */ U8X8_PIN_NONE ) ;
//U8G2_UC1611_EA_DOGM240_1_2ND_HW_I2C u8g2 ( U8G2_R0, /* reset = */ 8 ) ;     // 由于,第二个 I2C,DOGM240 测试板
// U8G2_UC1611_EA_DOGM240_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );    // SW SPI,由于 DOGXL240 测试板
//U8G2_UC1611_EA_DOGXL240_1_2ND_HW_I2C u8g2 ( U8G2_R0, /* reset = */ 8 ) ;     // 由于,第二个 I2C,DOGXL240 测试板
// U8G2_UC1611_EA_DOGXL240_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );    // SW SPI,由于 DOGXL240 测试板
// U8G2_UC1611_EW50850_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18,/ * CS = * / 3,/ * DC = * / 16,/ *复位= */ 17 ) ; // 240x160,将 RD/WR1 引脚与3 .3V 连接,CS 为高电平
// U8G2_UC1611_CG160160_1_8080 u8g2 ( U8G2_R0,8,9,10,11,4,5,6,7,/ *使能= * / 18,/ * CS = * / 3,/ * DC = * / 16,/ *复位= */ 17 ) ; // 将 WR1 和 CD1 引脚与3 .3V 连接,将 CS0 与 cs 连接,WR0 与使能连接,CD 与直流连接
//U8G2_UC1638_160X128_1_4W_HW_SPI u8g2 ( U8G2_R2, /* cs = */ 2 , /* dc = */ 3 , /* reset = */ 4 ) ;   // 未测试 
//U8G2_SSD1606_172X72_1_4W_SW_SPI u8g2 ( U8G2_R0, /* clock = */ 13 , /* data = */ 11 , /* cs = */ 10 , /* dc = */ 9 , /* reset = */ 8 ) ;         // 电子墨水/电子纸显示
// U8G2_SSD1607_200X200_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     // eInk/ePaper Display,来自嵌入式艺术家的原始 LUT
// U8G2_SSD1607_GD_200X200_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     // 良好的显示
// U8G2_SSD1607_WS_200X200_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     // 波共享
// U8G2_IL3820_296X128_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     // bottom我2 0.9英寸EINK /电子纸显示,使 16位模式对于该显示!
// U8G2_IL3820_V2_296X128_1_4W_SW_SPI u8g2 ( U8G2_R0,/ *时钟= * / 13,/ *数据= * / 11,/ * CS = * / 10,/ * DC = * / 9,/ *复位= * / 8 );     //电子纸显示,较小的闪烁和更快的速度,使 16位模式对于该显示!
//U8G2_LS013B7DH03_128X128_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ U8X8_PIN_NONE, /* reset = */ 8 ) ;     //没有直流线用于该显示
//U8G2_LS027B7DH01_400X240_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ U8X8_PIN_NONE, /* reset = */ 8 ) ;     //没有直流线用于该显示
//U8G2_LS013B7DH05_144X168_1_4W_HW_SPI u8g2 ( U8G2_R0, /* cs = */ 10 , /* dc = */ U8X8_PIN_NONE, /* reset = */ 8 ) ;     //没有直流线用于该显示
// U8G2_ST7511_AVD_320X240_1_8080 u8g2 ( U8G2_R0,13,11,2,3,4,5,6,A4,/ *使能/ WR = * / 7,/ * CS = * / 10,/ * DC = * / 9,/ *重置= */ 8 ) ; // 启用 U8g2 16Bit 模式并将 RD 引脚连接到3 .3V/5V
// 构造函数列表结束
/ *按钮设置为Arduboy生产* /
uint8_t pin_up  =  3 ;
uint8_t pin_down  =  4 ;
uint8_t pin_fire  =  5 ;
#define ST_FP 4/* 对象类型 */
结构体_st_ot_struct
{/* 导弹和​​命中: 位0 : 玩家导弹和垃圾位1:垃圾,可能会击中玩家*/
...
篇幅有限,只展示部分代码

单片机-嵌入式毕设选题大全及项目分享:

https://blog.csdn.net/m0_71572576/article/details/125409052


6 最后


http://www.ppmy.cn/news/622327.html

相关文章

视频融合平台EasyCVR电子地图增加鼠标悬停展示经纬度

EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可…

计算机网络—数据链路层

文章目录 数据链路层服务差错编码多路访问协议信道划分随机访问MAC协议 数据链路层服务 该层中的帧数据结构&#xff1a; 帧头部会因为不同的局域网协议而不同&#xff0c;因此会在另一篇博文中继续介绍不同的帧数据报&#xff0c;不在本博文介绍。&#xff08;不过除了PPP协…

python实现图片拼接

# -*- coding:utf-8 -*- # 图片拼接 import PIL.Image as Image import os, sys mw 256 # 图片大小 toImage Image.new(RGB, (25171, 11802))#构造图片的宽和高&#xff0c;如果图片不能填充完全会 #出现黑色区域 for y in range(47):#0-46for x in range(99):#0-98fname &q…

C/C++ 图片拼接

注意CV::Mat dst(height,weight)顺序 // TODO 1 merge frame(background)/face(tmp_ptr->frame) into one imagecv::Mat background;cap.read(background);cv::Mat dst(720,1280,CV_8UC3,cv::Scalar(0));//黑底cv::Rect rect_face(0,0,640,720);cv::resize(tmp_ptr->fra…

numpy数组做 图片拼接(concatenate、vstack、hstack)

两种方法拼接 #img np.vstack((img, img2)) # vstack按垂直方向&#xff0c;hstack按水平方向 img np.concatenate((img, img2), axis0) # axis0 按垂直方向&#xff0c;axis1 按水平方向统一图片大小&#xff0c;保证数组维度一致避免拼接失败。 把图片全部调整成第一…

基于python的多张不同宽高图片拼接成大图

半年前写过一篇将多张图片拼接成大图的博客,是讲的把所有图片先转换为256256的图片后再进行拼接,今天看到一个朋友的评论说如何拼接非正方形图片,如4757,之前有个朋友也问过这个,我当时理解错了,以为是要把不同尺寸的照片如3245、5675等拼接成大图,当时还纳闷,那不是很…

OpenCV 纵向、横向拼接图片

&#x1f468;‍&#x1f4bb;个人简介&#xff1a; 深度学习图像领域工作者 &#x1f389;总结链接&#xff1a; 链接中主要是个人工作的总结&#xff0c;每个链接都是一些常用demo&#xff0c;代码直接复制运行即可。包括&#xff1a; &am…

Python实现将多张图片拼接为一张

文章目录 一、需求二、代码 一、需求 将多个这样的图片进行拼接为一张 拼接效果&#xff1a; 更多照片张数同理 二、代码 import PIL.Image as Image import osIMAGES_PATH img\\test\\ # 图片集地址IMAGES_FORMAT [.png, .jpg] # 图片格式 IMAGE_SIZE 224 # 每张小…

Python之多张图片拼接

参考&#xff1a;https://www.jianshu.com/p/9a4739420c9e 在做图像处理时&#xff0c;线阵相机采集保存的图片高度不够&#xff0c;需要将多张图片拼接在一起&#xff0c;原图片大小是20481024&#xff0c;需要将三张纵向拼接&#xff0c;形成大小为20483072的图片。话不多说…

Unity 图片拼接中间有空隙问题详解

有一种美&#xff0c;叫对称美。对称随处可见&#xff0c;从皇城庙宇到民宅轩榭&#xff0c;对称之美&#xff0c;美在庄重。项目中&#xff0c;我们常常会遇到一些对称的图片&#xff0c;但是为了节约资源&#xff0c;往往我们会选择将其分成两半&#xff0c;只取其一&#xf…

R语言可视化——图片拼接排布(一)

目录 0引言1、customLayout包1.1 主要函数介绍1.2主要函数讲解1.2.1 lay_new1.2.2 lay_show1.2.3 lay_bind_col1.2.4 lay_split_field 1.3案例一1.4案例二 2、总结 0引言 在之前使用R语言拼接图片&#xff0c;一般的图形用的是par函数&#xff0c;ggplot2的拼接使用的是gridEx…

python - 图像处理 - 图片拼接和堆叠

业务说明&#xff1a; 此示例脚本作用&#xff0c;包含方法和逻辑&#xff1a;图像读取&#xff0c;图片尺寸读取&#xff0c;重置图片大小&#xff0c;图片等比缩放&#xff0c;图片拼接&#xff0c;图片覆盖与堆叠&#xff08;子母图&#xff09; 图片展示&#xff1a; 单…

CTF图片拼接

CTF图片拼接需要的工具有montage和gaps&#xff0c;找了大量的博客终于成功了。 montage在python的库里可以下载&#xff0c;所以下载指令为&#xff1a; pip install montage 但是我一直爆pip的依赖错误&#xff0c;搞半天没成功过&#xff0c;但是我在linux的apt的安装库里…

使用python将任意张图片拼接成多张大图

今天看到在之前的一篇博客下有位朋友留言提到了“将多张图片拼接成多张大图”的问题,这一系列的博客已经写了三篇了,这是第四篇了,后三篇全都是基于广大博友的热心提问而成型的,十分感谢各位的关注,让我们一起进步吧~~~ 先放上之前的三篇吧,都是姊妹篇: 1.使用pyth…

阿里图片合成接口拼接

上篇博客我写了把两张图片合成为一张图片。 那样的合成方式是可以的&#xff0c;也是可以合成成功的。但是这样的合成方式有些许不足 1、合成的图片除非服务器端给配置的图片考虑到了不同设备的分辨率的情况&#xff0c;这对不同的设备给了不同的图&#xff0c;如果不是这样&am…

ENVI拼接图片

ENVI CLASSIC可以根据两张图片的经纬度信息进行拼接 MapMosaickingGeoreferenced

前端使用canvas拼接多张图片

应业务要求&#xff0c;要把使用canvas截取的app每一屏的图片拼接在一起。图片的地址存放在一个log文件中。 先了解一下drawImage() 方法&#xff1a; drawImage() 方法在画布上绘制图像、画布或视频。 drawImage() 方法也能够绘制图像的某些部分&#xff0c;以及/或者增加或…

python切割、拼接图片

在做智能识别方面的时候遇到了一些瓶颈&#xff0c;即对于一张清晰度足够高&#xff0c;目标却很小时&#xff0c;识别的效果不是很好。 这时可以首先将图片分割成3*3&#xff0c;一共九张图片&#xff0c;分别进行识别之后再进行图片的拼接。 首先是图片的分割&#xff0c;将图…

Vue 中对图片地址进行拼接

拿到一组数据&#xff0c;其中的img地址是这样的 我们想要将它转化为正常的图片地址&#xff0c;需要使用for循环来将图片拼接起来 getSingList(){getSingerList().then((res) >{if (res.codeERR_ok){this.singersres.data.listconsole.log(this.singers)for(var i0;i<th…

JS实现拼接图片src

编辑文章后将html格式的文章内容传到后台保存&#xff0c;需要将文章里本地图片的src重新拼接上传&#xff0c;主要代码如下&#xff1a; var con document.getElementById("manage-preview").innerHTML; //文章内容//var i 0;var con1 con.replace(/<img [^&…