카테고리 없음

(로봇카/esp32) 초음파 센서 HC-SR04 값을 OLED 1.3인치에 출력하기

미친토끼 2025. 5. 29. 10:58

#include <Adafruit_GFX.h>
#include <Adafruit_SH110X.h>
#define i2c_Address 0x3c
Adafruit_SH1106G display = Adafruit_SH1106G(128, 64, &Wire, -1);

const int echoPin = 19;
const int trigPin = 18;
#define SOUND_SPEED 0.034
long duration;
float distance;
 
void setup() {
  Serial.begin(115200);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  display.begin(i2c_Address, true);
  display.setTextSize(1);
  display.setTextColor(SH110X_WHITE);
}

void loop() {

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = duration * SOUND_SPEED / 2;

  Serial.print("Distance (cm): ");
  Serial.println(distance);
  delay(30);
  
  display.clearDisplay();
  display.setCursor(0, 0);
  display.print("distance: ");
  display.print(distance);
  display.println(" cm");
  display.display();
}