#include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); #define TRIG_PIN 2 #define ECHO_PIN 3 void setup() { Serial.begin(115200); pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("No se encontrĂ³ pantalla OLED")); while (true); } display.clearDisplay(); display.setTextSize(1); display.setTextColor(SSD1306_WHITE); display.setCursor(0, 0); display.println("Sensor Ultrasonico"); display.display(); delay(1000); } void loop() { long duration; float distance; digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); duration = pulseIn(ECHO_PIN, HIGH, 30000); distance = duration * 0.034 / 2; display.clearDisplay(); display.setCursor(0, 0); if (duration == 0) { display.println("No hay respuesta"); Serial.println("No response from sensor"); } else { display.print("Distancia: "); display.print(distance); display.println(" cm"); Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); } display.display(); delay(500); }