from machine import Pin, I2C
import ssd1306
# ESP32 Pin assignment
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled_width = 128;
oled_height = 64;
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c);
const int trigPin = 32;
const int echoPin = 35;
long duracion;
int distancia;
int ultimaDistancia = 0;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracion = pulseIn(echoPin, HIGH, 200000);
distancia = duracion/58.82;
Serial.println(distancia);
if(distancia != ultimaDistancia)
{
display.clearDisplay(); // limpar o display
oled.text('Distance:', 10, 10); // Prints string "Distance" on the LCD
oled.show();
oled.show(distancia);
oled.text(" cm");
display.display(); // mostrar en el display
//oled.show();
ultimaDistancia = distancia;
display.clearDisplay(); // limpar o display
}
delay(500);
}