/**
  First demo for FT6206 Capactive Touch Screen on Wokwi. Enjoy!

  https://wokwi.com/arduino/projects/311598148845830720
 */

/***************************************************
  This is our touchscreen painting example for the Adafruit ILI9341
  captouch shield
  ----> http://www.adafruit.com/products/1947

  Check out the links above for our tutorials and wiring diagrams

  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.
  MIT license, all text above must be included in any redistribution
 ****************************************************/

#include <TFT_eSPI.h>
#include <SPI.h>       // this is needed for display
#include <Wire.h>      // this is needed for FT6206
#include <Adafruit_FT6206.h>
#include "sample_images.h"

// The FT6206 uses hardware I2C (SCL/SDA)
Adafruit_FT6206 ctp = Adafruit_FT6206();

// The display also uses hardware SPI, plus #9 & #10
#define TFT_CS 15
#define TFT_DC 2
#define TFT_MOSI 23
#define TFT_SCLK 18
//Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
TFT_eSPI tft = TFT_eSPI(); // Invoke custom library with default width and height



TFT_eSprite spr2 = TFT_eSprite(&tft);
TFT_eSprite spr3 = TFT_eSprite(&tft);

void setup() {
  tft.init();
  tft.setRotation(0);
  tft.fillScreen(TFT_CYAN);

  spr2.setColorDepth(16);
  spr3.setColorDepth(16);

  spr2.createSprite(128,32);
  spr2.setSwapBytes(true);
  
  spr3.createSprite(32,32);
  spr3.setSwapBytes(true);

  spr2.pushImage(0, 0, 128, 32, (uint16_t *)stars3,TFT_BLACK);
  spr2.pushSprite(0, 0, TFT_WHITE);
  
  spr3.pushImage(0, 0, 128, 32, (uint16_t *)stars3,TFT_BLACK);
  spr3.pushSprite(0, 64, TFT_WHITE);

  spr3.pushImage(-32, 0, 128, 32, (uint16_t *)stars3,TFT_BLACK);
  spr3.pushSprite(64, 64, TFT_WHITE);

  spr3.pushImage(-64, 0, 128, 32, (uint16_t *)stars3,TFT_BLACK);
  spr3.pushSprite(128, 64, TFT_WHITE);

  spr3.pushImage(-96, 0, 128, 32, (uint16_t *)stars3,TFT_BLACK);
  spr3.pushSprite(192, 64, TFT_WHITE);
}
void loop(void) {

  spr3.pushImage(0, 0, 128, 32, (uint16_t *)stars3,TFT_BLACK);
  spr3.pushSprite(32,128, TFT_WHITE);
  delay(1000);

  spr3.fillSprite(TFT_CYAN);
  spr3.pushSprite(32,128, TFT_WHITE);
  spr3.pushImage(-32, 0, 128, 32, (uint16_t *)stars3,TFT_BLACK);
  spr3.pushSprite(32,128, TFT_WHITE);
  delay(1000);

  spr3.fillSprite(TFT_CYAN);
  spr3.pushSprite(32,128, TFT_WHITE);
  spr3.pushImage(-64, 0, 128, 32, (uint16_t *)stars3,TFT_BLACK);
  spr3.pushSprite(32,128, TFT_WHITE);
  delay(1000);

  spr3.fillSprite(TFT_CYAN);
  spr3.pushSprite(32,128, TFT_WHITE);
  spr3.pushImage(-96, 0, 128, 32, (uint16_t *)stars3,TFT_BLACK);
  spr3.pushSprite(32,128, TFT_WHITE);
  delay(1000);

  spr3.fillSprite(TFT_CYAN);
  spr3.pushSprite(32,128, TFT_WHITE);
  

 }
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
Loading
ili9341-cap-touch