只需一步,快速开始
热门: 51单片机 | 24小时必答区 | 单片机教程 | 单片机DIY制作 | STM32 | Cortex M3 | 模数电子 | 电子DIY制作 | 音响/功放 | 拆机乐园 | Arduino | 嵌入式OS | 程序设计
SDS011是一款使用激光光源的PM2.5颗粒物监测传感器,串口输出,自带风扇,能检测直径最小0.3微米的颗粒物,性能稳定。
由于采用串口输出,使得数据获取更加方便,同时也提供PWM输出方式,也能满足更高的精度要求。程序使用软串口采集数据,同时输出至硬件串口,在实时显示数据的同时也能将数据发送至上位机或通过添加网络模块发送至物联网络。传感器监测结果较为可靠,比较接近环境监测站发布的数据。
制作资料下载:
SDS011激光PM2.5传感器简介.pdf (184.7 KB, 下载次数: 20) 2016-4-11 01:46 上传 点击文件名下载附件 NewSoftSerial12.zip (9.73 KB, 下载次数: 18) 2016-4-11 01:46 上传 点击文件名下载附件 graphicstest.rar (1.79 KB, 下载次数: 13) 2016-4-11 01:46 上传 点击文件名下载附件 部分源码预览: #define LCD_CS A3 #define LCD_CD A2 #define LCD_WR A1 #define LCD_RD A0 // you can also just connect RESET to the arduino RESET pin #define LCD_RESET A4 //Duemilanove/Diecimila/UNO/etc ('168 and '328 chips) microcontoller: // Color definitions #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF #include "TFTLCD.h" #include TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); NewSoftSerial nss(11, 12); uint8_t c; uint8_t data[10]; uint8_t pIdx = 0; bool LogData=false; int pm2_5 = 0; int pm10 = 0; int pm2_5_Old = 0; int pm10_Old = 0; uint16_t color2_5 = GREEN; uint16_t color10 = GREEN; void setup(void) { tft.reset(); tft.initDisplay(); tft.setRotation(3); tft.fillScreen(BLACK); tft.setCursor(0, 15); tft.setTextColor(BLUE); tft.setTextSize(4); tft.println("PM2.5:"); tft.setCursor(0, 130); tft.println("PM10:"); Serial.begin(9600); nss.begin(9600); // testtext(RED); // delay(2000); // testlines(CYAN); // delay(500); // testfastlines(RED, BLUE); // delay(500); // testdrawrects(GREEN); // delay(500); // testfillrects(YELLOW, MAGENTA); // delay(500); // tft.fillScreen(BLACK); // testfillcircles(10, MAGENTA); // testdrawcircles(10, WHITE); // delay(500); // testtriangles(); // delay(500); // testfilltriangles(); // delay(500); // testRoundRect(); // delay(500); // testFillRoundRect(); } void loop(void) { while(nss.available()) { c = nss.read(); if(c==170) { LogData=true; } if(LogData) { data[pIdx]=c; pIdx=pIdx+1; } if(c==171) { LogData=false; pIdx=0; uint8_t sumAdd = data[2]+data[3]+data[4]+data[5]+data[6]+data[7]; if(sumAdd==data[8]) { pm2_5 = (data[3] * 256 + data[2]) / 10; pm10 = (data[5] * 256 + data[4]) / 10; if(pm2_5>0 && pm2_5<=75) { color2_5 = GREEN; } else if(pm2_5>75 && pm2_5<=200) { color2_5 = YELLOW; } else if(pm2_5>200) { color2_5 = RED; } if(pm10>0 && pm10<=75) { color10 = GREEN; } else if(pm10>75 && pm10<=200) { color10 = YELLOW; } else if(pm10>200) { color10 = RED; } testtext(pm2_5,color2_5,pm10,color10); Serial.print(pm2_5,DEC); Serial.print(','); Serial.println(pm10,DEC); } } } } void testtext(uint16_t val2_5,uint16_t color2_5,uint16_t val10,uint16_t color10) { tft.setTextSize(9); tft.setCursor(0, 55); tft.setTextColor(BLACK); tft.println(pm2_5_Old); tft.setCursor(0, 55); tft.setTextColor(color2_5); tft.println(val2_5); pm2_5_Old=val2_5; tft.setCursor(0, 170); tft.setTextColor(BLACK); tft.println(pm10_Old); tft.setCursor(0, 170); tft.setTextColor(color10); tft.println(val10); pm10_Old=val10; } //void testFillRoundRect() { // tft.fillScreen(BLACK); // // for (uint16_t x=tft.width(); x > 20 ; x-=6) { // tft.fillRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(0, x, 0)); // } //} //void testRoundRect() { // tft.fillScreen(BLACK); // // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(x, 0, 0)); // } //} //void testtriangles() { // tft.fillScreen(BLACK); // for (uint16_t i=0; i<tft.width() 2;="" i+="5)" { // tft.drawTriangle(tft.width()/2, tft.height()/2-i, // tft.width()/2-i, tft.height()/2+i, // tft.width()/2+i, tft.height()/2+i, tft.Color565(0, 0, i)); // } //} //void testfilltriangles() { // tft.fillScreen(BLACK); // // for (uint16_t i=tft.width()/2; i>10; i-=5) { // tft.fillTriangle(tft.width()/2, tft.height()/2-i, // tft.width()/2-i, tft.height()/2+i, // tft.width()/2+i, tft.height()/2+i, // tft.Color565(0, i, i)); // tft.drawTriangle(tft.width()/2, tft.height()/2-i, // tft.width()/2-i, tft.height()/2+i, // tft.width()/2+i, tft.height()/2+i, tft.Color565(i, i, 0)); // } //} //void testfillcircles(uint8_t radius, uint16_t color) { // for (uint16_t x=radius; x < tft.width(); x+=radius*2) { // for (uint16_t y=radius; y < tft.height(); y+=radius*2) { // tft.fillCircle(x, y, radius, color); // } // } //} //void testdrawcircles(uint8_t radius, uint16_t color) { // for (uint16_t x=0; x < tft.width()+radius; x+=radius*2) { // for (uint16_t y=0; y < tft.height()+radius; y+=radius*2) { // tft.drawCircle(x, y, radius, color); // } // } //} //void testfillrects(uint16_t color1, uint16_t color2) { // tft.fillScreen(BLACK); // for (uint16_t x=tft.width()-1; x > 6; x-=6) { // //Serial.println(x, DEC); // tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1); // tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2); // } //} //void testdrawrects(uint16_t color) { // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color); // } //} //void testfastlines(uint16_t color1, uint16_t color2) { // tft.fillScreen(BLACK); // for (uint16_t y=0; y < tft.height(); y+=5) { // tft.drawHorizontalLine(0, y, tft.width(), color1); // } // for (uint16_t x=0; x < tft.width(); x+=5) { // tft.drawVerticalLine(x, 0, tft.height(), color2); // } // //} //void testlines(uint16_t color) { // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(0, 0, x, tft.height()-1, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(0, 0, tft.width()-1, y, color); // } // // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(tft.width()-1, 0, 0, y, color); // } // // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(0, tft.height()-1, x, 0, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(0, tft.height()-1, tft.width()-1, y, color); // } // // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color); // } //} //void testBars() { // uint16_t i,j; // for(i=0; i < tft.height(); i++) // { // for(j=0; j < tft.width(); j++) // { // if(i>279) tft.writeData(WHITE); // else if(i>239) tft.writeData(BLUE); // else if(i>199) tft.writeData(GREEN); // else if(i>159) tft.writeData(CYAN); // else if(i>119) tft.writeData(RED); // else if(i>79) tft.writeData(MAGENTA); // else if(i>39) tft.writeData(YELLOW); // else tft.writeData(BLACK); // } // } //} 复制代码
NewSoftSerial12.zip (9.73 KB, 下载次数: 18) 2016-4-11 01:46 上传 点击文件名下载附件 graphicstest.rar (1.79 KB, 下载次数: 13) 2016-4-11 01:46 上传 点击文件名下载附件 部分源码预览: #define LCD_CS A3 #define LCD_CD A2 #define LCD_WR A1 #define LCD_RD A0 // you can also just connect RESET to the arduino RESET pin #define LCD_RESET A4 //Duemilanove/Diecimila/UNO/etc ('168 and '328 chips) microcontoller: // Color definitions #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF #include "TFTLCD.h" #include TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); NewSoftSerial nss(11, 12); uint8_t c; uint8_t data[10]; uint8_t pIdx = 0; bool LogData=false; int pm2_5 = 0; int pm10 = 0; int pm2_5_Old = 0; int pm10_Old = 0; uint16_t color2_5 = GREEN; uint16_t color10 = GREEN; void setup(void) { tft.reset(); tft.initDisplay(); tft.setRotation(3); tft.fillScreen(BLACK); tft.setCursor(0, 15); tft.setTextColor(BLUE); tft.setTextSize(4); tft.println("PM2.5:"); tft.setCursor(0, 130); tft.println("PM10:"); Serial.begin(9600); nss.begin(9600); // testtext(RED); // delay(2000); // testlines(CYAN); // delay(500); // testfastlines(RED, BLUE); // delay(500); // testdrawrects(GREEN); // delay(500); // testfillrects(YELLOW, MAGENTA); // delay(500); // tft.fillScreen(BLACK); // testfillcircles(10, MAGENTA); // testdrawcircles(10, WHITE); // delay(500); // testtriangles(); // delay(500); // testfilltriangles(); // delay(500); // testRoundRect(); // delay(500); // testFillRoundRect(); } void loop(void) { while(nss.available()) { c = nss.read(); if(c==170) { LogData=true; } if(LogData) { data[pIdx]=c; pIdx=pIdx+1; } if(c==171) { LogData=false; pIdx=0; uint8_t sumAdd = data[2]+data[3]+data[4]+data[5]+data[6]+data[7]; if(sumAdd==data[8]) { pm2_5 = (data[3] * 256 + data[2]) / 10; pm10 = (data[5] * 256 + data[4]) / 10; if(pm2_5>0 && pm2_5<=75) { color2_5 = GREEN; } else if(pm2_5>75 && pm2_5<=200) { color2_5 = YELLOW; } else if(pm2_5>200) { color2_5 = RED; } if(pm10>0 && pm10<=75) { color10 = GREEN; } else if(pm10>75 && pm10<=200) { color10 = YELLOW; } else if(pm10>200) { color10 = RED; } testtext(pm2_5,color2_5,pm10,color10); Serial.print(pm2_5,DEC); Serial.print(','); Serial.println(pm10,DEC); } } } } void testtext(uint16_t val2_5,uint16_t color2_5,uint16_t val10,uint16_t color10) { tft.setTextSize(9); tft.setCursor(0, 55); tft.setTextColor(BLACK); tft.println(pm2_5_Old); tft.setCursor(0, 55); tft.setTextColor(color2_5); tft.println(val2_5); pm2_5_Old=val2_5; tft.setCursor(0, 170); tft.setTextColor(BLACK); tft.println(pm10_Old); tft.setCursor(0, 170); tft.setTextColor(color10); tft.println(val10); pm10_Old=val10; } //void testFillRoundRect() { // tft.fillScreen(BLACK); // // for (uint16_t x=tft.width(); x > 20 ; x-=6) { // tft.fillRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(0, x, 0)); // } //} //void testRoundRect() { // tft.fillScreen(BLACK); // // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(x, 0, 0)); // } //} //void testtriangles() { // tft.fillScreen(BLACK); // for (uint16_t i=0; i<tft.width() 2;="" i+="5)" { // tft.drawTriangle(tft.width()/2, tft.height()/2-i, // tft.width()/2-i, tft.height()/2+i, // tft.width()/2+i, tft.height()/2+i, tft.Color565(0, 0, i)); // } //} //void testfilltriangles() { // tft.fillScreen(BLACK); // // for (uint16_t i=tft.width()/2; i>10; i-=5) { // tft.fillTriangle(tft.width()/2, tft.height()/2-i, // tft.width()/2-i, tft.height()/2+i, // tft.width()/2+i, tft.height()/2+i, // tft.Color565(0, i, i)); // tft.drawTriangle(tft.width()/2, tft.height()/2-i, // tft.width()/2-i, tft.height()/2+i, // tft.width()/2+i, tft.height()/2+i, tft.Color565(i, i, 0)); // } //} //void testfillcircles(uint8_t radius, uint16_t color) { // for (uint16_t x=radius; x < tft.width(); x+=radius*2) { // for (uint16_t y=radius; y < tft.height(); y+=radius*2) { // tft.fillCircle(x, y, radius, color); // } // } //} //void testdrawcircles(uint8_t radius, uint16_t color) { // for (uint16_t x=0; x < tft.width()+radius; x+=radius*2) { // for (uint16_t y=0; y < tft.height()+radius; y+=radius*2) { // tft.drawCircle(x, y, radius, color); // } // } //} //void testfillrects(uint16_t color1, uint16_t color2) { // tft.fillScreen(BLACK); // for (uint16_t x=tft.width()-1; x > 6; x-=6) { // //Serial.println(x, DEC); // tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1); // tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2); // } //} //void testdrawrects(uint16_t color) { // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color); // } //} //void testfastlines(uint16_t color1, uint16_t color2) { // tft.fillScreen(BLACK); // for (uint16_t y=0; y < tft.height(); y+=5) { // tft.drawHorizontalLine(0, y, tft.width(), color1); // } // for (uint16_t x=0; x < tft.width(); x+=5) { // tft.drawVerticalLine(x, 0, tft.height(), color2); // } // //} //void testlines(uint16_t color) { // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(0, 0, x, tft.height()-1, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(0, 0, tft.width()-1, y, color); // } // // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(tft.width()-1, 0, 0, y, color); // } // // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(0, tft.height()-1, x, 0, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(0, tft.height()-1, tft.width()-1, y, color); // } // // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color); // } //} //void testBars() { // uint16_t i,j; // for(i=0; i < tft.height(); i++) // { // for(j=0; j < tft.width(); j++) // { // if(i>279) tft.writeData(WHITE); // else if(i>239) tft.writeData(BLUE); // else if(i>199) tft.writeData(GREEN); // else if(i>159) tft.writeData(CYAN); // else if(i>119) tft.writeData(RED); // else if(i>79) tft.writeData(MAGENTA); // else if(i>39) tft.writeData(YELLOW); // else tft.writeData(BLACK); // } // } //} 复制代码
graphicstest.rar (1.79 KB, 下载次数: 13) 2016-4-11 01:46 上传 点击文件名下载附件 部分源码预览: #define LCD_CS A3 #define LCD_CD A2 #define LCD_WR A1 #define LCD_RD A0 // you can also just connect RESET to the arduino RESET pin #define LCD_RESET A4 //Duemilanove/Diecimila/UNO/etc ('168 and '328 chips) microcontoller: // Color definitions #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF #include "TFTLCD.h" #include TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); NewSoftSerial nss(11, 12); uint8_t c; uint8_t data[10]; uint8_t pIdx = 0; bool LogData=false; int pm2_5 = 0; int pm10 = 0; int pm2_5_Old = 0; int pm10_Old = 0; uint16_t color2_5 = GREEN; uint16_t color10 = GREEN; void setup(void) { tft.reset(); tft.initDisplay(); tft.setRotation(3); tft.fillScreen(BLACK); tft.setCursor(0, 15); tft.setTextColor(BLUE); tft.setTextSize(4); tft.println("PM2.5:"); tft.setCursor(0, 130); tft.println("PM10:"); Serial.begin(9600); nss.begin(9600); // testtext(RED); // delay(2000); // testlines(CYAN); // delay(500); // testfastlines(RED, BLUE); // delay(500); // testdrawrects(GREEN); // delay(500); // testfillrects(YELLOW, MAGENTA); // delay(500); // tft.fillScreen(BLACK); // testfillcircles(10, MAGENTA); // testdrawcircles(10, WHITE); // delay(500); // testtriangles(); // delay(500); // testfilltriangles(); // delay(500); // testRoundRect(); // delay(500); // testFillRoundRect(); } void loop(void) { while(nss.available()) { c = nss.read(); if(c==170) { LogData=true; } if(LogData) { data[pIdx]=c; pIdx=pIdx+1; } if(c==171) { LogData=false; pIdx=0; uint8_t sumAdd = data[2]+data[3]+data[4]+data[5]+data[6]+data[7]; if(sumAdd==data[8]) { pm2_5 = (data[3] * 256 + data[2]) / 10; pm10 = (data[5] * 256 + data[4]) / 10; if(pm2_5>0 && pm2_5<=75) { color2_5 = GREEN; } else if(pm2_5>75 && pm2_5<=200) { color2_5 = YELLOW; } else if(pm2_5>200) { color2_5 = RED; } if(pm10>0 && pm10<=75) { color10 = GREEN; } else if(pm10>75 && pm10<=200) { color10 = YELLOW; } else if(pm10>200) { color10 = RED; } testtext(pm2_5,color2_5,pm10,color10); Serial.print(pm2_5,DEC); Serial.print(','); Serial.println(pm10,DEC); } } } } void testtext(uint16_t val2_5,uint16_t color2_5,uint16_t val10,uint16_t color10) { tft.setTextSize(9); tft.setCursor(0, 55); tft.setTextColor(BLACK); tft.println(pm2_5_Old); tft.setCursor(0, 55); tft.setTextColor(color2_5); tft.println(val2_5); pm2_5_Old=val2_5; tft.setCursor(0, 170); tft.setTextColor(BLACK); tft.println(pm10_Old); tft.setCursor(0, 170); tft.setTextColor(color10); tft.println(val10); pm10_Old=val10; } //void testFillRoundRect() { // tft.fillScreen(BLACK); // // for (uint16_t x=tft.width(); x > 20 ; x-=6) { // tft.fillRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(0, x, 0)); // } //} //void testRoundRect() { // tft.fillScreen(BLACK); // // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(x, 0, 0)); // } //} //void testtriangles() { // tft.fillScreen(BLACK); // for (uint16_t i=0; i<tft.width() 2;="" i+="5)" { // tft.drawTriangle(tft.width()/2, tft.height()/2-i, // tft.width()/2-i, tft.height()/2+i, // tft.width()/2+i, tft.height()/2+i, tft.Color565(0, 0, i)); // } //} //void testfilltriangles() { // tft.fillScreen(BLACK); // // for (uint16_t i=tft.width()/2; i>10; i-=5) { // tft.fillTriangle(tft.width()/2, tft.height()/2-i, // tft.width()/2-i, tft.height()/2+i, // tft.width()/2+i, tft.height()/2+i, // tft.Color565(0, i, i)); // tft.drawTriangle(tft.width()/2, tft.height()/2-i, // tft.width()/2-i, tft.height()/2+i, // tft.width()/2+i, tft.height()/2+i, tft.Color565(i, i, 0)); // } //} //void testfillcircles(uint8_t radius, uint16_t color) { // for (uint16_t x=radius; x < tft.width(); x+=radius*2) { // for (uint16_t y=radius; y < tft.height(); y+=radius*2) { // tft.fillCircle(x, y, radius, color); // } // } //} //void testdrawcircles(uint8_t radius, uint16_t color) { // for (uint16_t x=0; x < tft.width()+radius; x+=radius*2) { // for (uint16_t y=0; y < tft.height()+radius; y+=radius*2) { // tft.drawCircle(x, y, radius, color); // } // } //} //void testfillrects(uint16_t color1, uint16_t color2) { // tft.fillScreen(BLACK); // for (uint16_t x=tft.width()-1; x > 6; x-=6) { // //Serial.println(x, DEC); // tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1); // tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2); // } //} //void testdrawrects(uint16_t color) { // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color); // } //} //void testfastlines(uint16_t color1, uint16_t color2) { // tft.fillScreen(BLACK); // for (uint16_t y=0; y < tft.height(); y+=5) { // tft.drawHorizontalLine(0, y, tft.width(), color1); // } // for (uint16_t x=0; x < tft.width(); x+=5) { // tft.drawVerticalLine(x, 0, tft.height(), color2); // } // //} //void testlines(uint16_t color) { // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(0, 0, x, tft.height()-1, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(0, 0, tft.width()-1, y, color); // } // // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(tft.width()-1, 0, 0, y, color); // } // // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(0, tft.height()-1, x, 0, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(0, tft.height()-1, tft.width()-1, y, color); // } // // tft.fillScreen(BLACK); // for (uint16_t x=0; x < tft.width(); x+=6) { // tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color); // } // for (uint16_t y=0; y < tft.height(); y+=6) { // tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color); // } //} //void testBars() { // uint16_t i,j; // for(i=0; i < tft.height(); i++) // { // for(j=0; j < tft.width(); j++) // { // if(i>279) tft.writeData(WHITE); // else if(i>239) tft.writeData(BLUE); // else if(i>199) tft.writeData(GREEN); // else if(i>159) tft.writeData(CYAN); // else if(i>119) tft.writeData(RED); // else if(i>79) tft.writeData(MAGENTA); // else if(i>39) tft.writeData(YELLOW); // else tft.writeData(BLACK); // } // } //} 复制代码
部分源码预览:
使用道具 举报
本版积分规则 发表回复 回帖后跳转到最后一页
手机版|小黑屋|51黑电子论坛 | 管理员QQ:125739409;技术交流QQ群281945664
Powered by 单片机教程网