vmh
Dependencies: mbed
main.cpp
- Committer:
- wonner163
- Date:
- 2017-12-11
- Revision:
- 0:4562b55bbb43
- Child:
- 1:b4814760d8ee
File content as of revision 0:4562b55bbb43:
#include "mbed.h" #include "ColorMbed.h" #include "TextLCD.h" ColorMbed dotmatrix; Serial bt(PA_15, PB_7); Serial pc(D1,D0); I2C i2c_lcd(D14,D15); // SDA, SCL TextLCD_I2C lcd(&i2c_lcd, 0x4E, TextLCD::LCD16x2, TextLCD::HD44780); // I2C bus, PCF8574 Slaveaddress, LCD Type, Device Type int main(void) { int ch; int x=0; int x0=0; int x1=0; int x2=0; int x3=0; int x4=0; int x5=0; int x6=0; int x7=0; int x8=0; int amount =0; int stateprint1 = 0; int stateprint2 = 0; int stateprint3 = 0; int stateprint4 = 0; int stateprint5 = 0; int stateprint6 = 0; // uint8_t rgb[3] = {255,255,100}; uint8_t rgbready[3] = {100,100,100}; //เริ่มต้นสีโรสโกล uint8_t green[3] = {0,255,0}; //ไฟเขียว uint8_t red[3] = {0,0,100}; //ไฟเฟล:ไม่ถึงองศาที่ต้องการ uint8_t yellow[3] = {0,150,200}; // ไฟสีเหลือง uint8_t tast[8] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; //เทสไฟติดเต็มแผ่น uint8_t complete[8] = {0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF}; //สำเร็จติดสองแถว uint8_t Ncomplete[8] = {0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF}; //ไม่สำร็จติดสองแถว //คิดว่าไม่น่าใช้ /*uint8_t pic[8] = {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; // ติด1ดวง uint8_t pic2[8] = {0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00}; // ติด 2 ดวง uint8_t pic3[8] = {0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00}; uint8_t pic4[8] = {0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00}; uint8_t pic5[8] = {0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00}; uint8_t pic6[8] = {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00}; uint8_t pic7[8] = {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80};*/ // ระดับ left uint8_t greenleft[8] = {0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00}; uint8_t yellowleft[8] = {0x00,0x00,0x80,0x00,0x00,0x80,0x00,0x00}; uint8_t redleft[8] = {0x80,0x80,0x00,0x00,0x00,0x00,0x80,0x80}; // right uint8_t greenright[8] = {0x00,0x00,0x00,0x0,0x0,0x00,0x00,0x18}; uint8_t yellowright[8] = {0x00,0x00,0x0,0x00,0x00,0x00,0x00,0x24}; uint8_t redright[8] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC3}; // เลข 1-30 uint8_t zero[8] = {0x1C,0x14,0x14,0x14,0x14,0x14,0x1C,0x00}; uint8_t one[8] = {0x1C,0x08,0x08,0x08,0x08,0x18,0x08,0x00}; uint8_t two[8] = {0x1C,0x10,0x10,0x1C,0x04,0x04,0x1C,0x00}; uint8_t three[8] = {0x1C,0x04,0x04,0x1C,0x04,0x04,0x1C,0x00}; uint8_t four[8] = {0x04,0x04,0x04,0x1C,0x14,0x14,0x14,0x00}; uint8_t five[8] = {0x1C,0x04,0x04,0x1C,0x10,0x10,0x1C,0x00}; uint8_t six[8] = {0x1C,0x14,0x14,0x1C,0x10,0x10,0x1C,0x00}; uint8_t seven[8] = {0x04,0x04,0x04,0x04,0x04,0x04,0x1C,0x00}; uint8_t eight[8] = {0x1C,0x14,0x14,0x1C,0x14,0x14,0x1C,0x00}; uint8_t nine[8] = {0x1C,0x04,0x04,0x1C,0x14,0x14,0x1C,0x00}; uint8_t ten[8] = {0x3F,0x15,0x15,0x15,0x15,0x35,0x17,0x00}; uint8_t eleven[8] = {0x3F,0x12,0x12,0x12,0x12,0x36,0x12,0x00}; uint8_t twelve[8] = {0x3F,0x14,0x14,0x17,0x11,0x31,0x17,0x00}; uint8_t thirteen[8] = {0x3F,0x11,0x11,0x17,0x11,0x31,0x17,0x00}; uint8_t fourteen[8] = {0x39,0x11,0x11,0x17,0x15,0x35,0x15,0x00}; uint8_t fifteen[8] = {0x3F,0x11,0x11,0x17,0x14,0x34,0x17,0x00}; uint8_t sixteen[8] = {0x3F,0x15,0x15,0x17,0x14,0x34,0x17,0x00}; uint8_t seventeen[8] = {0x39,0x11,0x11,0x11,0x11,0x31,0x17,0x00}; uint8_t eightteen[8] = {0x3F,0x15,0x15,0x17,0x15,0x35,0x17,0x00}; uint8_t ninteen[8] = {0x3F,0x11,0x11,0x17,0x15,0x35,0x17,0x00}; uint8_t twenty[8] = {0x3F,0x25,0x25,0x3D,0x0D,0x0D,0x3F,0x00}; uint8_t twone[8] = {0x3F,0x22,0x22,0x3A,0x0A,0x0E,0x3A,0x00}; uint8_t twtwo[8] = {0x3F,0x24,0x24,0x3F,0x09,0x09,0x3F,0x00}; uint8_t twthree[8] = {0x3F,0x21,0x21,0x3F,0x09,0x09,0x3F,0x00}; uint8_t twfour[8] = {0x39,0x21,0x21,0x3F,0x0D,0x0D,0x3D,0x00}; uint8_t twfive[8] = {0x3F,0x21,0x21,0x3F,0xC,0xC,0x3F,0x00}; uint8_t twsix[8] = {0x3F,0x25,0x25,0x3F,0xC,0xC,0x3F,0x00}; uint8_t twseven[8] = {0x39,0x21,0x21,0x39,0x9,0x9,0x3F,0x00}; uint8_t tweight[8] = {0x3F,0x25,0x25,0x3F,0xD,0xD,0x3F,0x00}; uint8_t twnine[8] = {0x3F,0x21,0x21,0x3F,0xD,0xD,0x3F,0x00}; uint8_t thirty[8] = {0x3F,0xD,0xD,0x3D,0x0D,0x0D,0x3F,0x00}; //องศา uint8_t gound[8] = {0x00,0x00,0x00,0x00,0x00,0x0,0x00,0x81}; //จุดสองจุด uint8_t step1[8] = {0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x40}; //สเต็ปองศา uint8_t step2[8] = {0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x60}; uint8_t step3[8] = {0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x70}; uint8_t step4[8] = {0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x78}; uint8_t step5[8] = {0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x7C}; uint8_t step6[8] = {0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x7E}; dotmatrix.init(); do{ if(bt.readable()){ ch=bt.getc(); pc.printf("%d\n",ch); } if ((ch <=15 and ch >=0) or x==1){ if (stateprint1 == 0){ pc.printf(" pass step1 "); lcd.cls(); lcd.printf(" pass step1 "); stateprint1 =1; } dotmatrix.display_pic(one,green); dotmatrix.display_pic(step1,green); // // if (amount==0){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(one,green); // dotmatrix.display_pic(step1,green); // } // // if (amount==1){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(two,green); // dotmatrix.display_pic(step1,green); // // } // // if (amount==2){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(three,green); // dotmatrix.display_pic(step1,green); // // } // // if (amount==3){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(four,green); // dotmatrix.display_pic(step1,green); // // } // // if (amount==4){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(five,green); // dotmatrix.display_pic(step1,green); // // } // // if (amount==5){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(six,green); // dotmatrix.display_pic(step1,green); // // } // // if (amount==6){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(seven,green); // dotmatrix.display_pic(step1,green); // // } // // if (amount==7){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(eight,green); // dotmatrix.display_pic(step1,green); // // } // // if (amount==8){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(nine,green); // dotmatrix.display_pic(step1,green); // // } // // if (amount==9){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(ten,green); // dotmatrix.display_pic(step1,green); // // } x=1; if((ch <=30 and ch >=16) or x2==1){ if (stateprint2 == 0){ pc.printf(" pass step2 "); lcd.cls(); lcd.printf(" pass step2 "); stateprint2 =1; } // if (amount==0){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(one,green); // dotmatrix.display_pic(step1,green); // } // // else if (amount==1){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(two,green); // dotmatrix.display_pic(step1,green); // // } // // else if (amount==2){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(three,green); // dotmatrix.display_pic(step1,green); // // } // // else if (amount==3){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(four,green); // dotmatrix.display_pic(step1,green); // // } // // else if (amount==4){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(five,green); // dotmatrix.display_pic(step1,green); // // } // // else if (amount==5){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(six,green); // dotmatrix.display_pic(step1,green); // // } // // else if (amount==6){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(seven,green); // dotmatrix.display_pic(step1,green); // // } // // else if (amount==7){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(eight,green); // dotmatrix.display_pic(step1,green); // // } // // else if (amount==8){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(nine,green); // dotmatrix.display_pic(step1,green); // // } // // else if (amount==9){ // pc.printf(" amount %d ",amount); // lcd.cls(); // lcd.printf(" amount %d ",amount); // dotmatrix.display_pic(ten,green); // dotmatrix.display_pic(step1,green); // // } dotmatrix.display_pic(one,green); dotmatrix.display_pic(step2,green); x2=1; if((ch <=45 and ch >=31) or x3==1) { if (stateprint3 == 0){ pc.printf(" pass step3 "); lcd.cls(); lcd.printf(" pass step3 "); stateprint3 =1; //dotmatrix.display_pic(one,green); // dotmatrix.display_pic(step3,green); } dotmatrix.display_pic(one,green); dotmatrix.display_pic(step3,green); x3=1; if((ch <=60 and ch >=46) or x4==1) { if (stateprint4 == 0){ pc.printf(" pass step4 "); lcd.cls(); lcd.printf(" pass step4 "); stateprint4 =1; } dotmatrix.display_pic(one,green); dotmatrix.display_pic(step4,green); x4=1; if((ch <=75 and ch >=61) or x5==1){ if (stateprint5 == 0){ pc.printf(" pass step5 "); lcd.cls(); lcd.printf(" pass step5 "); stateprint5 =1; } dotmatrix.display_pic(one,green); dotmatrix.display_pic(step5,green); x5=1; if((ch <=90 and ch >=76) or x6==1){ if (stateprint6 == 0){ pc.printf(" pass step6 "); lcd.cls(); lcd.printf(" pass step6 "); stateprint6 =1; } for (int i = 1; i <= 230; i++) { dotmatrix.display_pic(one,green); dotmatrix.display_pic(step6,green); } x6=1; amount=amount+1; pc.printf(" amount %d ",amount); if (amount==1){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 230; i++) { dotmatrix.display_pic(one,green); } } if (amount==2){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(two,green); } } if (amount==3){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(three,green); } } if (amount==4){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(four,green); } } if (amount==5){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(five,green); } } if (amount==6){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(six,green); } } if (amount==7){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(seven,green); } } if (amount==8){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(eight,green); } } if (amount==9){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(nine,green); } } if (amount==10){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(ten,green); } } if (amount==0){ pc.printf(" amount %d ",amount); lcd.cls(); lcd.printf(" amount %d ",amount); for (int i = 1; i <= 500; i++){ dotmatrix.display_pic(two,green); } } x=0; x1=0; x2=0; x3=0; x4=0; x5=0; x6=0; stateprint1 = 0; stateprint2 = 0; stateprint3 = 0; stateprint4 = 0; stateprint5 = 0; } } } } } } }while(amount != 10); pc.printf("yeahhhhhhh"); }