今天买的杜邦线到了,测试一下超声波传感器
架不住他便宜,能用就行
代码:
cpp
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>
#include <NewPing.h> // 添加超声波传感器库
#define TFT_CS 5
#define TFT_RST 4
#define TFT_DC 15
#define TRIGGER_PIN 25 // 超声波传感器的触发引脚
#define ECHO_PIN 26 // 超声波传感器的回波引脚
#define MAX_DISTANCE 200 // 最大检测距离,单位为厘米
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // 定义超声波传感器对象
unsigned long startTime = 0;
void setup() {
Serial.begin(9600);
tft.initR(INITR_BLACKTAB);
tft.setRotation(1);
tft.fillScreen(ST7735_BLACK);
startTime = millis();
}
void loop() {
tft.fillScreen(ST7735_BLACK); // 清除屏幕内容
int distance = sonar.ping_cm(); // 读取超声波传感器距离值
// 根据距离显示不同的信息
if (distance < 50) {
// 距离小于50厘米时显示红色警告信息
displayWarning(distance);
} else {
// 距离大于等于50厘米时显示绿色安全信息
displaySafe(distance);
}
delay(1000);
}
// 显示警告信息
void displayWarning(int distance) {
tft.setTextColor(ST7735_RED);
tft.setCursor(10, 80);
tft.setTextSize(1);
tft.print("Current Distance: ");
tft.println(distance);
tft.println("Warning!!!");
}
// 显示安全信息
void displaySafe(int distance) {
tft.setTextColor(ST7735_GREEN);
tft.setCursor(10, 80);
tft.setTextSize(1);
tft.print("Current Distance: ");
tft.println(distance);
tft.println("Safing......");
}
本文作者:yowayimono
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!