#include "Arduino.h" #include // core graphics library #include // hardware-specific library const int trigPin = 12; const int echoPin = 10; //#define MODEL SSD1283A //#define CS 10 //#define CD 9 //#define SDA 7 //#define MOSI SDA //#define SCK 13 //#define RST 8 //#define LED -1 //if you don’t need to control the LED pin,you should set it to -1 and set it to 3.3V // //LCDWIKI_SPI mylcd(MODEL, CS, CD, MISO, MOSI, RST, SCK, LED); #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define WHITE 0xFFFF #define MODEL SSD1283A #define LED -1 // to +5v #define SCK 13//A1 with SCK on 13 and SDA on 11 it is 10x faster!!! #define SDA 11//A2 #define MISO -1 #define MOSI SDA #define CD A3 #define RST A4 #define CS A5 String lastDistance = ""; LCDWIKI_SPI mylcd(MODEL, CS, CD, MISO, MOSI, RST, SCK, LED); //software spi,model,cs,cd,miso,mosi,reset,clk,led void setup() { Serial.begin(115200); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); mylcd.Init_LCD(); mylcd.Fill_Screen(BLACK); } void loop() { // mylcd.Fill_Screen(BLACK); // mylcd.Fill_Screen(WHITE); // mylcd.Fill_Screen(255, 0, 0); // mylcd.Fill_Screen(0, 255, 0); // mylcd.Fill_Screen(0, 0, 255); // delay(3000); // mylcd.Fill_Screen(0, 0, 0); // delay(1000); // mylcd.Fill_Screen(255, 255, 255); // delay(1000); // mylcd.Fill_Screen(0xF800); // delay(1000); // mylcd.Fill_Screen(0x07E0); // delay(1000); // mylcd.Fill_Screen(0x001F); // delay(3000); mylcd.Set_Text_Mode(1); mylcd.Set_Text_colour(WHITE); mylcd.Set_Text_Back_colour(RED); mylcd.Set_Text_Size(2); digitalWrite(trigPin, LOW); delayMicroseconds(5); digitalWrite(trigPin, HIGH); delayMicroseconds(20); digitalWrite(trigPin, LOW); long duration = pulseIn(echoPin, HIGH); long distance = duration * 0.03432 / 2; // Serial.print("duration:"); // Serial.println(duration); // Serial.print("Distance:"); Serial.println(distance); char buf[50]; sprintf(buf, "%lu cm", distance); if (!lastDistance.equals(buf)) { mylcd.Fill_Rect(0, 48, 130, 20, RED); mylcd.Print_String(buf, 30, 50); delay(100); lastDistance = buf; } delay(200); } //void setup() { // Serial.begin(115200); // pinMode(trigPin, OUTPUT); // pinMode(echoPin, INPUT); //} //void loop() { // mylcd.Set_Text_Mode(0); // mylcd.Fill_Screen(0x0000); // mylcd.Set_Text_colour(RED); // mylcd.Set_Text_Back_colour(BLACK); // mylcd.Set_Text_Size(2); // mylcd.Print_String("Hello World!", 0, 0); // digitalWrite(trigPin, LOW); // delayMicroseconds(5); // // digitalWrite(trigPin, HIGH); // delayMicroseconds(20); // digitalWrite(trigPin, LOW); // // long duration = pulseIn(echoPin, HIGH); // long distance = duration * 0.03432 / 2; // // Serial.print("duration:"); // Serial.println(duration); // // Serial.print("Distance:"); // Serial.println(distance); // delay(100); //}