上個圖片。
20181123_210714.jpg (304.69 KB, 下載次數: 68)
下載附件
2018-11-23 22:34 上傳
20181123_210728.jpg (314.45 KB, 下載次數: 81)
下載附件
2018-11-23 22:34 上傳
程序源碼:
- /*
- * 16X16點陣顯示 取模方式 陰碼+逐行式+順向
- **/
- #include <Wire.h>
- #include <Adafruit_GFX.h>
- #include <Adafruit_SSD1306.h>
- #define OLED_RESET 4
- Adafruit_SSD1306 display(OLED_RESET);
- #define NUMFLAKES 10
- #define XPOS 0
- #define YPOS 1
- #define DELTAY 2
- #define LOGO16_GLCD_HEIGHT 16
- #define LOGO16_GLCD_WIDTH 16
- #if (SSD1306_LCDHEIGHT != 64)
- #error("Height incorrect, please fix Adafruit_SSD1306.h!");
- #endif
- int r,xo,yo,a,z;//動畫變量不能用char型變量無法計算
- int sec;//動畫變量不能用char型變量無法計算
- void setup() {
- Serial.begin(115200);
- delay(500);
- display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64)
- }
- void loop() {
-
- sec++;
- if(sec==60)sec=0;
- //1.檢測全屏顯示(看看有沒有大面積壞點)
- display.fillScreen(WHITE);//檢測全屏顯示(看看有沒有大面積壞點)
- display.clearDisplay(); // clears the screen and buffer
-
- //14.顯示數字變量
- display.setTextSize(3);//設置字體大小
- display.setTextColor(WHITE);//設置字體不反白
- display.setCursor(0,20);// 列127 行63 坐標
- display.println(sec/10);
- display.setCursor(22,20);// 列127 行63 坐標
- display.println(sec%10);
- //6.畫空心圓
- display.drawCircle(xo,yo,25,WHITE);//(控制圓心位置列0/127 控制圓心位置行0/63 )(控制大小=0+x )
-
- //不能用char型變量無法計算
- r=16;//指針半徑
- xo=70;//圓心坐標
- yo=28;//圓心坐標
- // a=6;//圓角度
- z=180;//圓
- a=sec*6;//圓角度
- //3. 畫線 從(0,0)到(50,50
- if(sec==0 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==1 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==2 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==3 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==4 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==5 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==6 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==7 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==8 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==9 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
-
- if(sec==10 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==11 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==12 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==13 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==14 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==15 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==16 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==17 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==18 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==19 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
-
- if(sec==20 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==21 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==22 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==23 ){ ;display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==24 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==25 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==26 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==27 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==28 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==29 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
-
- if(sec==30 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==31 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==32 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==33 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==34 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==35 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==36 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==37 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==38 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==39 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
-
- if(sec==40 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==41 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==42 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==43 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==44 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==45 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==46 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==47 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==48 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==49 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
-
- if(sec==50 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==51 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==52 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==53 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==54 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==55 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==56 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==57 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==58 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
- if(sec==59 ){ display.drawLine((xo+(r*cos(a*3.14/z))),(yo+(r*sin(a*3.14/z))),xo,yo, WHITE);}//(開始列127 開始行63)( 結束列127 結束行63) /////00
-
- //13.顯示英文
- display.setTextSize(1);//設置字體大小
- display.setTextColor(WHITE);//設置字體不反白
- display.setCursor(xo-5,yo-22);//列127 行63 坐標
- display.println("12");
- display.setCursor(xo+18,yo-5);//列127 行63 坐標
- display.println("3");
- display.setCursor(xo-2,yo+15);//列127 行63 坐標
- display.println("6");
- display.setCursor(xo-22,yo-5);//列127 行63 坐標
- display.println("9");
-
- display.display();
- //delay(2000);
-
-
- }
復制代碼
|