#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
// Pin HC-SR04
#define TRIG_PIN A4
#define ECHO_PIN A3
// Pin TFT LCD
#define TFT_CS 3
#define TFT_DC 2
#define TFT_RST 7
Adafruit_ILI9341 tft(TFT_CS, TFT_DC, TFT_RST);
void setup() {
// Inisialisasi serial monitor
Serial.begin(9600);
// Inisialisasi pin sensor
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
// Inisialisasi layar
tft.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
}
void loop() {
// Membaca jarak dari HC-SR04
float distance = getDistance();
// Menampilkan jarak di layar
tft.fillRect(10, 10, 220, 30, ILI9341_BLACK); // Bersihkan teks lama
tft.setCursor(10, 10);
tft.print(F("Distance: "));
tft.print(" cm");
}
float getDistance() {
// Mengirimkan pulsa TRIG
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Mengukur durasi pulsa ECHO
long duration = pulseIn(ECHO_PIN, HIGH);
// Menghitung jarak (cm)
float distance = (duration * 0.0343) / 2.0;
return distance;
}
Loading
st-nucleo-l031k6
st-nucleo-l031k6
Loading
grove-oled-sh1107
grove-oled-sh1107