Advertisement
Makerino

7 zoll Touch

Mar 24th, 2019
2,652
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 14.32 KB | None | 0 0
  1. #include <UTFT.h>
  2. #include <UTouch.h>
  3.  
  4. UTFT    myGLCD(CTE70,38,39,40,41);
  5. UTouch  myTouch( 6, 5, 4, 3, 2);
  6.  
  7. extern uint8_t SevenSegNumFont[];
  8. extern uint8_t BigFont[];
  9.  
  10. int counter = 0;
  11. String pw = "";
  12. int seitenzahl = 0;
  13. String geheimespasswort = "1234";
  14.  
  15. void setup() {
  16.  
  17. Serial.begin(9600);
  18.  
  19.   myGLCD.InitLCD();
  20.   myGLCD.clrScr();
  21.  
  22.   myTouch.InitTouch();
  23.   myTouch.setPrecision(PREC_HI);
  24.  
  25.   myGLCD.fillScr(VGA_WHITE);
  26.  
  27. passwort(); //Zeichnet das Layout
  28.  
  29. logo(5,445); //Zeichnet das Logo mit den entsprechenden beiden Werten als x = 0 und y = 0
  30.  
  31. }
  32.  
  33.  
  34.  
  35. void loop() {
  36.  
  37. while(seitenzahl == 0){
  38. numred();
  39. }
  40.  
  41. while(seitenzahl == 1){
  42. seiteeinsleer();
  43. seitenzahl = 2;    
  44. }
  45. while(seitenzahl == 2){
  46. passworttrue();
  47. mapcor();    
  48. }
  49.  
  50. }
  51.  
  52.  
  53.  
  54. /////////////////////////////////////////////////////////////////////Layout//////////////////////////////////////////////////////////////////////////////////
  55.  
  56.  
  57. void passwort(){                      //Hier wird die Oberfläche gezeichnet
  58.  
  59. myGLCD.setFont(SevenSegNumFont);
  60.  
  61. myGLCD.setColor(VGA_BLACK);
  62. myGLCD.drawRect(200,50,600,120);
  63.  
  64.  
  65. myGLCD.setColor(VGA_BLACK); //2
  66. myGLCD.drawRect(375,150,425,201);
  67. myGLCD.setBackColor(VGA_WHITE);
  68. myGLCD.print("2",385,151);
  69.  
  70. myGLCD.setColor(VGA_BLACK); //1
  71. myGLCD.drawRect(295,150,345,201);
  72. myGLCD.setBackColor(VGA_WHITE);
  73. myGLCD.print("1",305,151);
  74.  
  75. myGLCD.setColor(VGA_BLACK); //3
  76. myGLCD.drawRect(455,150,505,201);
  77. myGLCD.setBackColor(VGA_WHITE);
  78. myGLCD.print("3",465,151);
  79.  
  80.   myGLCD.setColor(VGA_BLACK); //5
  81.   myGLCD.drawRect(375,230,425,281);
  82.   myGLCD.setBackColor(VGA_WHITE);
  83.   myGLCD.print("5",385,231);
  84.  
  85.   myGLCD.setColor(VGA_BLACK); //4
  86.   myGLCD.drawRect(295,230,345,281);
  87.   myGLCD.setBackColor(VGA_WHITE);
  88.   myGLCD.print("4",305,231);
  89.  
  90.   myGLCD.setColor(VGA_BLACK); //6
  91.   myGLCD.drawRect(455,230,505,281);
  92.   myGLCD.setBackColor(VGA_WHITE);
  93.   myGLCD.print("6",465,231);
  94.  
  95.  
  96. myGLCD.setColor(VGA_BLACK); //8
  97. myGLCD.drawRect(375,310,425,361);
  98. myGLCD.setBackColor(VGA_WHITE);
  99. myGLCD.print("8",385,311);
  100.  
  101. myGLCD.setColor(VGA_BLACK); //7
  102. myGLCD.drawRect(295,310,345,361);
  103. myGLCD.setBackColor(VGA_WHITE);
  104. myGLCD.print("7",305,311);
  105.  
  106. myGLCD.setColor(VGA_BLACK); //9
  107. myGLCD.drawRect(455,310,505,361);
  108. myGLCD.setBackColor(VGA_WHITE);
  109. myGLCD.print("9",465,311);
  110.  
  111. myGLCD.setFont(BigFont);
  112. myGLCD.setColor(VGA_BLACK); //9
  113. myGLCD.drawRect(295,390,505,440);
  114. myGLCD.setBackColor(VGA_WHITE);
  115. myGLCD.print("ENTER",360,410);
  116.  
  117. }
  118.  
  119. /////////////////////////////////////////////////////////////////////NUMRED//////////////////////////////////////////////////////////////////////////////////
  120.  
  121. void numred(){                            //hier wird festgelegt, was passiert wenn der Tochscreen eine Berührung feststellt.
  122.  long x, y;
  123.  
  124.  while (myTouch.dataAvailable() == true){
  125.    
  126.     myTouch.read();
  127.     x = myTouch.getX();
  128.     y = myTouch.getY();
  129.  
  130.  
  131.     if(x > 140 && x < 160 && y < 155 && y > 135 && seitenzahl == 0){
  132.     Serial.println("1");
  133.     pw = pw + "1";
  134.     count();
  135.     }
  136.  
  137.    
  138.     if(x > 175 && x < 195 && y < 155 && y > 135&& seitenzahl == 0){
  139.     Serial.println("2");
  140.     pw = pw + "2";
  141.     count();
  142.     }
  143.  
  144.  
  145.     if(x > 215 && x < 235 && y < 155 && y > 135&& seitenzahl == 0){
  146.     Serial.println("3");
  147.     pw = pw + "3";
  148.     count();
  149.     }
  150.  
  151.  
  152.     if(x > 140 && x < 160 && y < 115 && y > 95&& seitenzahl == 0){
  153.     Serial.println("4");
  154.     pw = pw + "4";
  155.     count();
  156.     }
  157.  
  158.  
  159.     if(x > 175 && x < 195 && y < 115 && y > 95&& seitenzahl == 0){
  160.     Serial.println("5");
  161.     pw = pw + "5";
  162.      count();
  163.     }
  164.  
  165.  
  166.     if(x > 215 && x < 235 && y < 115 && y > 95&& seitenzahl == 0){
  167.     Serial.println("6");
  168.     pw = pw + "6";
  169.      count();
  170.     }
  171.  
  172.  
  173.     if(x > 140 && x < 160 && y < 75 && y > 55&& seitenzahl == 0){
  174.     Serial.println("7");
  175.     pw = pw + "6";
  176.      count();
  177.     }
  178.  
  179.  
  180.     if(x > 175 && x < 195 && y < 75 && y > 55&& seitenzahl == 0){
  181.     Serial.println("8");
  182.     pw = pw + "8";
  183.      count();
  184.     }
  185.  
  186.  
  187.     if(x > 215 && x < 235 && y < 75 && y > 55&& seitenzahl == 0){
  188.     Serial.println("9");
  189.     pw = pw + "9";
  190.      count();
  191.     }
  192.  
  193.     if(x > 140 && x < 235 && y < 35 && y > 15&& seitenzahl == 0){
  194.    
  195.     Serial.println("Enter");
  196.     Serial.print("counter");
  197.     Serial.println(counter);
  198.     Serial.print("Seitenzahl:");
  199.     Serial.println(seitenzahl);
  200.      
  201.       if(pw==geheimespasswort){
  202.       passworttrue();
  203.       seitenzahl = 1;
  204.        }
  205.       else{
  206.       seitenzahl = 0;
  207.       pw = "";
  208.        }
  209.  
  210.        leer();
  211.     }
  212.  
  213.  
  214.     if(x > 95 && x < 290 && y < 200 && y > 180&& seitenzahl == 0){
  215.     Serial.println("Clear");
  216.     leer();
  217.     pw = "";
  218.     }
  219.  
  220.  }
  221. }
  222.  
  223.  
  224. /////////////////////////////////////////////////////////////////////Stern//////////////////////////////////////////////////////////////////////////////////
  225.  
  226.  
  227. void stern1(){                    //Hier werden die Sterne bei der Eingabe einer Zahl gezeichnet
  228. myGLCD.setFont(BigFont);
  229. myGLCD.setColor(VGA_BLACK); //*
  230. myGLCD.setBackColor(VGA_WHITE);
  231. myGLCD.print("*",250,75);
  232. }
  233.  
  234. void stern2(){
  235. myGLCD.setFont(BigFont);
  236. myGLCD.setColor(VGA_BLACK); //*
  237. myGLCD.setBackColor(VGA_WHITE);
  238. myGLCD.print("*",350,75);
  239. }
  240.  
  241. void stern3(){
  242. myGLCD.setFont(BigFont);
  243. myGLCD.setColor(VGA_BLACK); //*
  244. myGLCD.setBackColor(VGA_WHITE);
  245. myGLCD.print("*",450,75);
  246. }
  247.  
  248. void stern4(){
  249. myGLCD.setFont(BigFont);
  250. myGLCD.setColor(VGA_BLACK); //*
  251. myGLCD.setBackColor(VGA_WHITE);
  252. myGLCD.print("*",550,75);
  253. }
  254.  
  255. /////////////////////////////////////////////////////////////////////MapCoordinate//////////////////////////////////////////////////////////////////////////////////
  256.  
  257. void mapcor(){                                //Über dieses Unterprogramm werden die Koordinaten des Touchscreen bei einer Eingabe als Zahlenwert Seriell übertragen
  258.   long x, y;
  259.  
  260.   while (myTouch.dataAvailable() == true){
  261.    
  262.     myTouch.read();
  263.     x = myTouch.getX();
  264.     y = myTouch.getY();
  265.    
  266.     Serial.print("x = ");
  267.     Serial.println(x);
  268.     Serial.print("y = ");
  269.     Serial.println(y);
  270.     Serial.println("");
  271.     delay(250);
  272.   }
  273.  
  274. }
  275.  
  276. /////////////////////////////////////////////////////////////////////Zähler//////////////////////////////////////////////////////////////////////////////////
  277.  
  278.  
  279. void count(){                   //Hier werden die Sterne gzählt bzw die Eingabe und Entschieden wie viele Sterne angezeigt werden müssen
  280.  
  281.  counter = counter + 1;
  282.    
  283.     if(counter > 0){
  284.       stern1();
  285.     }
  286.      if(counter > 1){
  287.       stern1();
  288.       stern2();
  289.     }
  290.  
  291.      if(counter > 2){
  292.       stern1();
  293.       stern2();
  294.       stern3();
  295.      }
  296.  
  297.     if(counter > 3){
  298.       stern1();
  299.       stern2();
  300.       stern3();
  301.       stern4();
  302.       }
  303.  
  304.       delay(250);
  305. }
  306.  
  307.  
  308. /////////////////////////////////////////////////////////////////////Clearbox//////////////////////////////////////////////////////////////////////////////////
  309.  
  310.  
  311. void leer(){                      //Dieses unterprogramm löscht die, bzw überschreibt alle werte mit der hintergrundfarbe
  312.  
  313. myGLCD.setFont(BigFont);
  314. myGLCD.setColor(VGA_WHITE); //*
  315. myGLCD.setBackColor(VGA_WHITE);
  316. myGLCD.print("*",250,75);
  317.  
  318. myGLCD.setFont(BigFont);
  319. myGLCD.setColor(VGA_WHITE); //*
  320. myGLCD.setBackColor(VGA_WHITE);
  321. myGLCD.print("*",350,75);
  322.  
  323. myGLCD.setFont(BigFont);
  324. myGLCD.setColor(VGA_WHITE); //*
  325. myGLCD.setBackColor(VGA_WHITE);
  326. myGLCD.print("*",450,75);
  327.  
  328. myGLCD.setFont(BigFont);
  329. myGLCD.setColor(VGA_WHITE); //*
  330. myGLCD.setBackColor(VGA_WHITE);
  331. myGLCD.print("*",550,75);
  332.  
  333. counter = 0;
  334.  
  335. }
  336.  
  337. /////////////////////////////////////////////////////////////////////Clearscreen//////////////////////////////////////////////////////////////////////////////////
  338.  
  339. void seiteeinsleer(){                       //Dieses Unterprogramm überschreibt das schwarz gezeichnete mit weiß
  340.    
  341. myGLCD.setFont(SevenSegNumFont);
  342.  
  343. myGLCD.setColor(VGA_WHITE);
  344. myGLCD.drawRect(200,50,600,120);
  345.  
  346.  
  347. myGLCD.setColor(VGA_WHITE); //2
  348. myGLCD.drawRect(375,150,425,201);
  349. myGLCD.setBackColor(VGA_WHITE);
  350. myGLCD.print("2",385,151);
  351.  
  352. myGLCD.setColor(VGA_WHITE); //1
  353. myGLCD.drawRect(295,150,345,201);
  354. myGLCD.setBackColor(VGA_WHITE);
  355. myGLCD.print("1",305,151);
  356.  
  357. myGLCD.setColor(VGA_WHITE); //3
  358. myGLCD.drawRect(455,150,505,201);
  359. myGLCD.setBackColor(VGA_WHITE);
  360. myGLCD.print("3",465,151);
  361.  
  362.   myGLCD.setColor(VGA_WHITE); //5
  363.   myGLCD.drawRect(375,230,425,281);
  364.   myGLCD.setBackColor(VGA_WHITE);
  365.   myGLCD.print("5",385,231);
  366.  
  367.   myGLCD.setColor(VGA_WHITE); //4
  368.   myGLCD.drawRect(295,230,345,281);
  369.   myGLCD.setBackColor(VGA_WHITE);
  370.   myGLCD.print("4",305,231);
  371.  
  372.   myGLCD.setColor(VGA_WHITE); //6
  373.   myGLCD.drawRect(455,230,505,281);
  374.   myGLCD.setBackColor(VGA_WHITE);
  375.   myGLCD.print("6",465,231);
  376.  
  377.  
  378. myGLCD.setColor(VGA_WHITE); //8
  379. myGLCD.drawRect(375,310,425,361);
  380. myGLCD.setBackColor(VGA_WHITE);
  381. myGLCD.print("8",385,311);
  382.  
  383. myGLCD.setColor(VGA_WHITE); //7
  384. myGLCD.drawRect(295,310,345,361);
  385. myGLCD.setBackColor(VGA_WHITE);
  386. myGLCD.print("7",305,311);
  387.  
  388. myGLCD.setColor(VGA_WHITE); //9
  389. myGLCD.drawRect(455,310,505,361);
  390. myGLCD.setBackColor(VGA_WHITE);
  391. myGLCD.print("9",465,311);
  392.  
  393. myGLCD.setFont(BigFont);
  394. myGLCD.setColor(VGA_WHITE); //9
  395. myGLCD.drawRect(295,390,505,440);
  396. myGLCD.setBackColor(VGA_WHITE);
  397. myGLCD.print("ENTER",360,410);
  398.  
  399. myGLCD.setFont(BigFont);
  400. myGLCD.setColor(VGA_WHITE); //*
  401. myGLCD.setBackColor(VGA_WHITE);
  402. myGLCD.print("*",250,75);
  403.  
  404. myGLCD.setFont(BigFont);
  405. myGLCD.setColor(VGA_WHITE); //*
  406. myGLCD.setBackColor(VGA_WHITE);
  407. myGLCD.print("*",350,75);
  408.  
  409. myGLCD.setFont(BigFont);
  410. myGLCD.setColor(VGA_WHITE); //*
  411. myGLCD.setBackColor(VGA_WHITE);
  412. myGLCD.print("*",450,75);
  413.  
  414. myGLCD.setFont(BigFont);
  415. myGLCD.setColor(VGA_WHITE); //*
  416. myGLCD.setBackColor(VGA_WHITE);
  417. myGLCD.print("*",550,75);
  418.  
  419. logowhite(5,445);
  420.  
  421. counter = 0;
  422.  
  423. }
  424.  
  425. /////////////////////////////////////////////////////////////////////Passwort-Richtig//////////////////////////////////////////////////////////////////////////////////
  426.  
  427. void passworttrue(){
  428.   seite2();
  429. }
  430.  
  431. /////////////////////////////////////////////////////////////////////Seite2//////////////////////////////////////////////////////////////////////////////////
  432.  
  433. void seite2(){
  434. wohnzimmer();
  435. }
  436.  
  437.  
  438.  
  439. //////////////////////////////////////////////////////////////////Logo/////////////////////////////////////////////////////////////////////////////////////////////
  440.  
  441. void a(int x,int y){
  442.  
  443. myGLCD.setColor(VGA_BLACK);
  444. myGLCD.drawLine(x,y,x+30,y-80);
  445. myGLCD.drawLine(x+30,y-80,x+50,y-80);
  446. myGLCD.drawLine(x+50,y-80,x+80,y);
  447.   myGLCD.drawLine(x+20,y,x+30,y-30);
  448.   myGLCD.drawLine(x+30,y-30,x+50,y-30);
  449.   myGLCD.drawLine(x+60,y,x+50,y-30);
  450.     myGLCD.drawLine(x+35,y-45,x+40,y-65);
  451.     myGLCD.drawLine(x+40,y-65,x+45,y-45);
  452.     myGLCD.drawLine(x+35,y-45,x+45,y-45);
  453.       myGLCD.drawLine(x,y,x+20,y);
  454.       myGLCD.drawLine(x+60,y,x+80,y);
  455.  
  456. }
  457.  
  458.  
  459.  
  460. void logo(int wert1, int wert2){
  461. a(wert1,wert2);
  462. s(wert1,wert2);
  463. }
  464.  
  465.  
  466.  
  467. void s(int c, int d){
  468. c=c-5;
  469. d=d-105;
  470. myGLCD.setColor(VGA_BLACK);
  471. myGLCD.drawLine(c+25,d+5,c+65,d+5);
  472. myGLCD.drawLine(c+25,d+5,c+5,d+25);
  473. myGLCD.drawLine(c+5,d+25,c+5,d+65);
  474. myGLCD.drawLine(c+5,d+65,c+25,d+85);
  475. myGLCD.drawLine(c+25,d+85,c+55,d+85);
  476. myGLCD.drawLine(c+55,d+85,c+65,d+95);
  477. myGLCD.drawLine(c+65,d+95,c+65,d+105);
  478. myGLCD.drawLine(c+65,d+105,c+55,d+115);
  479. myGLCD.drawLine(c+55,d+115,c+35,d+115);
  480. myGLCD.drawLine(c+35,d+115,c+25,d+105);
  481. myGLCD.drawLine(c+25,d+105,c+25,d+95);
  482. myGLCD.drawLine(c+25,d+95,c+5,d+95);
  483. myGLCD.drawLine(c+5,d+95,c+5,d+115);
  484. myGLCD.drawLine(c+5,d+115,c+25,d+135);
  485. myGLCD.drawLine(c+25,d+135,c+65,d+135);
  486. myGLCD.drawLine(c+65,d+135,c+85,d+115);
  487. myGLCD.drawLine(c+85,d+115,c+85,d+75);
  488. myGLCD.drawLine(c+85,d+75,c+65,d+55);
  489. myGLCD.drawLine(c+65,d+55,c+35,d+55);
  490. myGLCD.drawLine(c+35,d+55,c+25,d+45);
  491. myGLCD.drawLine(c+25,d+45,c+25,d+35);
  492. myGLCD.drawLine(c+25,d+35,c+35,d+25);
  493. myGLCD.drawLine(c+35,d+25,c+55,d+25);
  494. myGLCD.drawLine(c+55,d+25,c+65,d+35);
  495. myGLCD.drawLine(c+65,d+35,c+65,d+45);
  496. myGLCD.drawLine(c+65,d+45,c+85,d+45);
  497. myGLCD.drawLine(c+85,d+45,c+85,d+25);
  498. myGLCD.drawLine(c+85,d+25,c+65,d+5);
  499. }
  500.  
  501.  
  502. void awhite(int x,int y){
  503.  
  504. myGLCD.setColor(VGA_WHITE);
  505. myGLCD.drawLine(x,y,x+30,y-80);
  506. myGLCD.drawLine(x+30,y-80,x+50,y-80);
  507. myGLCD.drawLine(x+50,y-80,x+80,y);
  508.   myGLCD.drawLine(x+20,y,x+30,y-30);
  509.   myGLCD.drawLine(x+30,y-30,x+50,y-30);
  510.   myGLCD.drawLine(x+60,y,x+50,y-30);
  511.     myGLCD.drawLine(x+35,y-45,x+40,y-65);
  512.     myGLCD.drawLine(x+40,y-65,x+45,y-45);
  513.     myGLCD.drawLine(x+35,y-45,x+45,y-45);
  514.       myGLCD.drawLine(x,y,x+20,y);
  515.       myGLCD.drawLine(x+60,y,x+80,y);
  516.  
  517. }
  518.  
  519. void swhite(int c, int d){
  520. c=c-5;
  521. d=d-105;
  522. myGLCD.setColor(VGA_WHITE);
  523. myGLCD.drawLine(c+25,d+5,c+65,d+5);
  524. myGLCD.drawLine(c+25,d+5,c+5,d+25);
  525. myGLCD.drawLine(c+5,d+25,c+5,d+65);
  526. myGLCD.drawLine(c+5,d+65,c+25,d+85);
  527. myGLCD.drawLine(c+25,d+85,c+55,d+85);
  528. myGLCD.drawLine(c+55,d+85,c+65,d+95);
  529. myGLCD.drawLine(c+65,d+95,c+65,d+105);
  530. myGLCD.drawLine(c+65,d+105,c+55,d+115);
  531. myGLCD.drawLine(c+55,d+115,c+35,d+115);
  532. myGLCD.drawLine(c+35,d+115,c+25,d+105);
  533. myGLCD.drawLine(c+25,d+105,c+25,d+95);
  534. myGLCD.drawLine(c+25,d+95,c+5,d+95);
  535. myGLCD.drawLine(c+5,d+95,c+5,d+115);
  536. myGLCD.drawLine(c+5,d+115,c+25,d+135);
  537. myGLCD.drawLine(c+25,d+135,c+65,d+135);
  538. myGLCD.drawLine(c+65,d+135,c+85,d+115);
  539. myGLCD.drawLine(c+85,d+115,c+85,d+75);
  540. myGLCD.drawLine(c+85,d+75,c+65,d+55);
  541. myGLCD.drawLine(c+65,d+55,c+35,d+55);
  542. myGLCD.drawLine(c+35,d+55,c+25,d+45);
  543. myGLCD.drawLine(c+25,d+45,c+25,d+35);
  544. myGLCD.drawLine(c+25,d+35,c+35,d+25);
  545. myGLCD.drawLine(c+35,d+25,c+55,d+25);
  546. myGLCD.drawLine(c+55,d+25,c+65,d+35);
  547. myGLCD.drawLine(c+65,d+35,c+65,d+45);
  548. myGLCD.drawLine(c+65,d+45,c+85,d+45);
  549. myGLCD.drawLine(c+85,d+45,c+85,d+25);
  550. myGLCD.drawLine(c+85,d+25,c+65,d+5);
  551. }
  552.  
  553. void logowhite(int wert1, int wert2){
  554. awhite(wert1,wert2);
  555. swhite(wert1,wert2);
  556. }
  557.  
  558. void wohnzimmer(){
  559.  
  560. myGLCD.setColor(VGA_BLACK); //tvTisch
  561. myGLCD.drawRect(100,50,400,100);
  562.  
  563. myGLCD.setColor(VGA_BLACK); //TV
  564. myGLCD.drawRect(150,65,250,85);
  565.  
  566. myGLCD.setColor(VGA_BLACK); //SRA
  567. myGLCD.drawRect(300,57,380,93);
  568.  
  569. myGLCD.setColor(VGA_BLACK); //Sofa
  570. myGLCD.drawRect(50,320,400,450);
  571. myGLCD.setColor(VGA_BLACK);
  572. myGLCD.drawRect(50,180,150,320);
  573. myGLCD.setColor(VGA_BLACK);
  574. myGLCD.drawRect(300,220,400,320);
  575. /*myGLCD.setColor(VGA_WHITE);
  576. myGLCD.drawLine(51,320,149,320);
  577. myGLCD.setColor(VGA_WHITE);
  578. myGLCD.drawLine(301,320,399,320);*/
  579.  
  580. myGLCD.setColor(VGA_BLACK); //Tisch
  581. myGLCD.drawRect(165,200,275,280);
  582. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement