Arduino for esp8266 1.3寸OLED 显示多边形缩放动画
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino for esp8266 1.3寸OLED 显示多边形缩放动画相关的知识,希望对你有一定的参考价值。
Arduino for esp8266 1.3寸OLED 显示多边形缩放动画
#include "SH1106Wire.h" //1.3寸用这个
//#include "SSD1306Wire.h" //0.96寸用这个
#include "OLEDDisplayUi.h"
#if defined(ESP8266) //OLED引脚定义
const int SDA_PIN = D2; //对应nodemcu接D5或者D1,,wemosD1mini的D2
const int SCL_PIN = D1; //对应nodemcu接D6或者D2,,wemosD1mini的D5
#endif
const int I2C_DISPLAY_ADDRESS = 0x3c; //I2c地址默认
SH1106Wire display(I2C_DISPLAY_ADDRESS, SDA_PIN, SCL_PIN); // 1.3寸用这个
//SSD1306Wire display(I2C_DISPLAY_ADDRESS, SDA_PIN, SCL_PIN); // 0.96寸用这个
OLEDDisplayUi ui ( &display );
int nFrames = 36;
void HariChord(int frame);
void setup() {
Serial.begin(115200);
display.init();
display.clear();
display.display();
// display.flipScreenVertically(); //屏幕翻转
// display.mirrorScreen();//使用分光棱镜显示需要用到此函数
display.setContrast(240); //屏幕亮度
ui.setTargetFPS(80); //刷新频率
ui.disableAllIndicators(); //不显示页码小点。
ui.enableAutoTransition();
ui.setFrameAnimation(SLIDE_LEFT); //切屏方向
// ui.disableAutoTransition();
ui.enableAutoTransition();
ui.setAutoTransitionForwards();//设置自动过渡方向,
// ui.setFrames(frames, numberOfFrames); // 设置框架和显示屏幕内容数
// ui.setTimePerFrame(5000); //设置切换时间
ui.setTimePerTransition(500);//设置转场大约所需要时间
// ui.setOverlays(overlays, numberOfOverlays); //设置覆盖的画面数
ui.init();// UI负责初始化显示
}
void loop() {
for (int frame=0; frame < 20; frame++)
{
HariChord(frame);
delay(200);
}
for (int frame=(20-1); frame >= 0; frame--)
{
HariChord(frame);
delay(200);
}
}
void HariChord(int frame)
{
display.clear();
int n = 7;
int r = frame * 64 / nFrames;
float rot = frame * 2*PI / nFrames;
for (int i=0; i<(n-1); i++)
{
float a = rot + i * 2*PI / n;
int x1 = 64 + cos(a) * r;
int y1 = 32 + sin(a) * r;
for (int j=i+1; j<n; j++)
{
a = rot + j * 2*PI / n;
int x2 = 64 + cos(a) * r;
int y2 = 32 + sin(a) * r;
display.drawLine(x1,y1, x2,y2);
}
}
display.display();
}
以上是关于Arduino for esp8266 1.3寸OLED 显示多边形缩放动画的主要内容,如果未能解决你的问题,请参考以下文章
ESP8266 驱动1.3寸SH1106 OLED屏幕显示库
ESP8266+1.3寸OLED显示-U8g2图形库—IIC使用方法
ESP8266/ESP32 +1.3“ or 0.96“ IIC OLED指针式时钟