Controller con Touch Screen

#include <stdint.h>
#include <SeeedTouchScreen.h>
#include <TFTv2.h>
#include <SPI.h>

TouchScreen ts = TouchScreen(XP, YP, XM, YM);
int rele1 = 22;
int rele2 = 24;
int rele3 = 26;
int rele4 = 28;

void setup()
{
  TFT_BL_ON;      // turn on the background light
  Tft.TFTinit();  // init TFT library  
  Tft.drawRectangle(5,5,70,48,RED);
  Tft.drawRectangle(5,65,70,48,RED);
  Tft.drawRectangle(5,125,70,48,RED);
  Tft.drawRectangle(5,185,70,48,RED);
  Tft.drawString("OUT 1",10,24,2,RED);
  Tft.drawString("OUT 2",10,84,2,RED);
  Tft.drawString("OUT 3",10,144,2,RED);
  Tft.drawString("OUT 4",10,204,2,RED);
  pinMode(rele1, OUTPUT);
  pinMode(30, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(32, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(34, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(36, OUTPUT);
  pinMode(53, OUTPUT); 
}
int on1 = 0;
int on2 = 0;
int on3 = 0;
int on4 = 0;

void loop()
{
  Point p = ts.getPoint();
  p.x = map(p.x, TS_MINX, TS_MAXX, 0, 240);
  p.y = map(p.y, TS_MINY, TS_MAXY, 0, 320);

  if ( p.x > 5 && p.x < 70 && p.y > 5 && p.y <48) {
    if (p.z > __PRESURE) {
      Tft.fillRectangle(5,5,70,48,RED);
      Tft.drawString("OUT 1",10,24,2,BLACK);
      delay(500);
      Tft.fillRectangle(5,5,70,48,BLACK);
      Tft.drawString("OUT 1",10,24,2,RED);
      Tft.drawRectangle(5,5,70,48,RED);
      on1 = !on1;
      digitalWrite(rele1, on1 ? HIGH : LOW);
      digitalWrite(30, on1 ? HIGH : LOW);
    }
  }
  else if ( p.x > 5 && p.x < 70 && p.y > 70 && p.y <118) {
    if (p.z > __PRESURE) {
      Tft.fillRectangle(5,65,70,48,RED);
      Tft.drawString("OUT 2",10,84,2,BLACK);
      delay(500);
      Tft.fillRectangle(5,65,70,48,BLACK);
      Tft.drawString("OUT 2",10,84,2,RED);
      Tft.drawRectangle(5,65,70,48,RED);
      on2 = !on2;
      digitalWrite(rele2, on2 ? HIGH : LOW);
      digitalWrite(32, on2 ? HIGH : LOW);
    }
  }
  else if ( p.x > 5 && p.x < 70 && p.y > 130 && p.y <178) {
    if (p.z > __PRESURE) {
      Tft.fillRectangle(5,125,70,48,RED);
      Tft.drawString("OUT 3",10,144,2,BLACK);
      delay(500);
      Tft.fillRectangle(5,125,70,48,BLACK);
      Tft.drawString("OUT 3",10,144,2,RED);
      Tft.drawRectangle(5,125,70,48,RED);
      on3 = !on3;
      digitalWrite(rele3, on3 ? HIGH : LOW);
      digitalWrite(34, on3 ? HIGH : LOW);
    }
  }
  else if ( p.x > 5 && p.x < 70 && p.y > 190 && p.y <238) {
    if (p.z > __PRESURE) {
      Tft.fillRectangle(5,185,70,48,RED);
      Tft.drawString("OUT 4",10,204,2,BLACK);
      delay(500);
      Tft.fillRectangle(5,185,70,48,BLACK);
      Tft.drawString("OUT 4",10,204,2,RED);
      Tft.drawRectangle(5,185,70,48,RED);
      on4 = !on4;
      digitalWrite(rele4, on4 ? HIGH : LOW);
      digitalWrite(36, on4 ? HIGH : LOW);
    }
  }
}

edit by mod: il codice va incluso con gli appositi tag