Advertisement
Twan_O

Arduino Touchscreen + HC-SR04 sensor (working code)

May 24th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <Adafruit_GFX.h>
  2. #include <SPI.h>
  3. #include <Wire.h>
  4. #include <Adafruit_STMPE610.h>
  5. #include <UTFT.h>
  6. #include <Adafruit_ILI9341.h>
  7.  
  8. #define TS_MINX 150
  9. #define TS_MINY 150
  10. #define TS_MAXX 4000
  11. #define TS_MAXY 4000
  12.  
  13. #define STMPE_CS 8
  14. Adafruit_STMPE610 ts = Adafruit_STMPE610(STMPE_CS);
  15. #define TFT_CS 10
  16. #define TFT_DC 9
  17. Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
  18.  
  19. #define FRAME_X -500
  20. #define FRAME_Y -500
  21. #define FRAME_W 3800
  22. #define FRAME_H 4000
  23.  
  24. int trigPin = 22;
  25. int echoPin = 49;
  26. long duration, cm;
  27. int x;
  28. int led = 45;
  29. boolean drawingstate = true;
  30.  
  31. void drawing1()
  32. {
  33.   tft.fillRect(FRAME_X, FRAME_Y, FRAME_W, FRAME_H, VGA_BLACK);
  34.   tft.setCursor(FRAME_X + 622, FRAME_Y + 602);
  35.   tft.setTextColor(VGA_RED);
  36.   tft.setTextSize(6);
  37.   tft.println("-");
  38.   tft.setCursor(FRAME_X + 620, FRAME_Y + 600);
  39.   tft.setTextColor(VGA_WHITE);
  40.   tft.setTextSize(6);
  41.   tft.println("-");
  42.   delay(100);
  43.   tft.setCursor(FRAME_X + 622, FRAME_Y + 602);
  44.   tft.setTextColor(VGA_RED);
  45.   tft.setTextSize(6);
  46.   tft.println("--");
  47.   tft.setCursor(FRAME_X + 620, FRAME_Y + 600);
  48.   tft.setTextColor(VGA_WHITE);
  49.   tft.setTextSize(6);
  50.   tft.println("--");
  51.   delay(100);
  52.   tft.setCursor(FRAME_X + 622, FRAME_Y + 602);
  53.   tft.setTextColor(VGA_RED);
  54.   tft.setTextSize(6);
  55.   tft.println("-->");
  56.   tft.setCursor(FRAME_X + 620, FRAME_Y + 600);
  57.   tft.setTextColor(VGA_WHITE);
  58.   tft.setTextSize(6);
  59.   tft.println("-->");
  60. }
  61.  
  62.  
  63.  
  64. void drawing2()
  65. {
  66.   tft.fillRect(FRAME_X, FRAME_Y, FRAME_W, FRAME_H, VGA_BLACK);
  67.   tft.setCursor(FRAME_X + 542, FRAME_Y + 602);
  68.   tft.setTextColor(VGA_RED);
  69.   tft.setTextSize(6);
  70.   tft.println("70 KM/H");
  71.   tft.setCursor(FRAME_X + 540, FRAME_Y + 600);
  72.   tft.setTextColor(VGA_WHITE);
  73.   tft.setTextSize(6);
  74.   tft.println("70 KM/H");
  75. }
  76.  
  77.  
  78.  
  79. void drawing3()
  80. {
  81.   tft.fillRect(FRAME_X, FRAME_Y, FRAME_W, FRAME_H, VGA_BLACK);
  82.   tft.setCursor(FRAME_X + 659, FRAME_Y + 593);
  83.   tft.setTextColor(VGA_RED);
  84.   tft.setTextSize(7);
  85.   tft.println("^");
  86.   tft.setCursor(FRAME_X + 659, FRAME_Y + 595);
  87.   tft.setTextColor(VGA_RED);
  88.   tft.setTextSize(7);
  89.   tft.println("|");
  90.   tft.setCursor(FRAME_X + 659, FRAME_Y + 602);
  91.   tft.setTextColor(VGA_RED);
  92.   tft.setTextSize(7);
  93.   tft.println("|");
  94.   tft.setCursor(FRAME_X + 658, FRAME_Y + 592);
  95.   tft.setTextColor(VGA_WHITE);
  96.   tft.setTextSize(7);
  97.   tft.println("^");
  98.   tft.setCursor(FRAME_X + 658, FRAME_Y + 594);
  99.   tft.setTextColor(VGA_WHITE);
  100.   tft.setTextSize(7);
  101.   tft.println("|");
  102.   tft.setCursor(FRAME_X + 658, FRAME_Y + 601);
  103.   tft.setTextColor(VGA_WHITE);
  104.   tft.setTextSize(7);
  105.   tft.println("|");
  106. }
  107.  
  108. void drawing4(){
  109.   tft.fillRect(FRAME_X, FRAME_Y, FRAME_W, FRAME_H, VGA_WHITE);
  110. }
  111.  
  112. void setup(void)
  113. {
  114.   Serial.begin (9600);
  115.   Serial.println("inside 'void setup(void) loop");
  116.   delay(500);
  117.   pinMode(trigPin, OUTPUT);
  118.   pinMode(led, OUTPUT);
  119.   pinMode(echoPin, INPUT);
  120.   tft.begin();
  121.   if (!ts.begin()) {
  122.     Serial.println("Unable to start touchscreen.");
  123.   }
  124.   else {
  125.     Serial.println("Touchscreen started.");
  126.   }
  127.  
  128.   tft.fillScreen(VGA_BLACK);
  129.   tft.setRotation(1);
  130.   delay(500);
  131.  
  132.   drawing3();
  133.  
  134. }
  135.  
  136.  
  137. void loop()
  138. {
  139.   Serial.println("inside 'void loop()' loop");
  140.   delay(1000);
  141.   digitalWrite(trigPin, LOW);
  142.   delayMicroseconds(5);
  143.   digitalWrite(trigPin, HIGH);
  144.   delayMicroseconds(10);
  145.   digitalWrite(trigPin, LOW);
  146.   duration = pulseIn(echoPin, HIGH);
  147.   int cm = (duration / 2) / 29.1;
  148.   int x = cm;
  149.   Serial.println("setting up integers \n");
  150.   delay(500);
  151.  
  152.   if (x < 50) {
  153.     Serial.println("inside 'do while' loop \n");
  154.     Serial.println("drawing Frame2 \n");
  155.     drawing2();
  156.     digitalWrite(led, LOW);
  157.     delay(500);
  158.     Serial.println("drawing Frame1 \n");
  159.     drawing1();
  160.     delay(500);
  161.     Serial.println("drawing Frame2 \n");
  162.     drawing2();
  163.     digitalWrite(led, LOW);
  164.     delay(500);
  165.     Serial.println("drawing Frame1 \n");
  166.     drawing1();
  167.    
  168.  
  169.   }
  170.   else {
  171.     Serial.println("drawing Frame3 \n");
  172.         drawing3();
  173.         delay(500);
  174.     }
  175.  
  176.   digitalWrite(led, HIGH);
  177.   Serial.print(cm);
  178.   Serial.print("cm \n");
  179.   delay(250);
  180.  
  181. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement