print("Hello, ESP32!")
import machine
from machine import Pin, SoftI2C
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
from ssd1306 import SSD1306_I2C
from hcsr04 import HCSR04
from time import sleep
i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000) #initializing the I2C method for ESP32
#i2c = I2C(scl=Pin(5), sda=Pin(4), freq=10000) #initializing the I2C method for ESP8266
I2C_ADDR = 0x27
totalRows = 4
totalColumns = 20
lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns)
I2C_ADDR = 0x3c
oled_width = 128
oled_height = 64
oled = SSD1306_I2C(oled_width, oled_height, i2c, I2C_ADDR)
sensor = HCSR04(trigger_pin=5, echo_pin= 18, echo_timeout_us = 100000)
# lcd.move_to(0,0)
# lcd.putstr("ESP with uPython")
# oled.text('ECE 283', 1, 1,1)
# oled.show()
while True:
distance = sensor.distance_cm()
print("distance: ", distance,"cm")
lcd.move_to(0,0)
lcd.putstr("distance:")
lcd.putstr(str(distance))
oled.text("distance:", 0, 0,1)
oled.text(str(int(distance)), 0, 10,1)
oled.show()
sleep(1)