#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"
#define TFT_DC 9
#define TFT_CS 10
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
int counter=0;
String dir="";
unsigned long last_run=0;
void setup() {
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(3), shaft_moved, FALLING);
pinMode(4 , INPUT);
pinMode(2 , INPUT_PULLUP);
}
void shaft_moved(){
if (millis()-last_run>5){
if (digitalRead(4)==1){
counter++;
dir="CW";
}
if (digitalRead(4)==0){
counter--;
dir="CCW";}
last_run=millis();
}
}
void loop()
{
tft.begin();
tft.setRotation(0); //顯示方向
tft.setCursor(0, 0); //顯示位置
tft.setTextColor(ILI9341_RED); //字體方向
tft.setTextSize(4); //字體大小
tft.println("Hello TFT!");
Serial.print("counter : ");
Serial.print(counter);
Serial.print(" direction : ");
Serial.println(dir);
tft.setCursor(80, 160);
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(10);
tft.println(counter );
tft.fillScreen(ILI9341_BLACK);
if(digitalRead(2==1))
{
counter==0;
}
}