#biblioteca de uso geral
from machine import Pin, I2C
import time
from ssd1306 import SSD1306_I2C
#blibliotecas para uso dos led endereçaveis
from neopixel import NeoPixel
#blibliotecas para uso do sensor ultrassonico
from hcsr04 import HCSR04
#tamanho do display
pix_res_x = 128
pix_res_y = 64
#função de inicialização do display lcd
def init_i2c(scl_pin, sda_pin):
# Initialize I2C device
i2c_dev = I2C(1, scl=Pin(scl_pin), sda=Pin(sda_pin), freq=200000)
i2c_addr = [hex(ii) for ii in i2c_dev.scan()]
if not i2c_addr:
print('No I2C Display Found')
sys.exit()
else:
print("I2C Address : {}".format(i2c_addr[0]))
print("I2C Configuration: {}".format(i2c_dev))
return i2c_dev
#configuração dos pinos do sensor ultrassonico
trigger_pin = Pin(10, Pin.OUT)
echo_pin = Pin(11, Pin.IN)
#configuração do pino de pwm dos leds
pin_led_strip = 15
#configuração da fita de leds
num_leds = 16
brilho = 0.2
#inicializa o objeto HCSR04
sensor = HCSR04(trigger_pin, echo_pin)
#inicializa os leds
led_strip = NeoPixel(Pin(pin_led_strip), num_leds)
#teste do display lcd
i2c_dev = init_i2c(scl_pin=27, sda_pin=26)
oled = SSD1306_I2C(pix_res_x, pix_res_y, i2c_dev)
oled.text("hello world", 5, 30)
oled.show()
def set_color(color):
for i in range(num_leds):
led_strip[i] = color
led_strip.write()
while True:
#mede a distãcia
distance = sensor.distance_cm()
#imprime a distãncia medida
print("Distância: {} cm".format(distance))
set_color((255, 0, 0))
#espera um pouco antes de realizar outra medição
time.sleep(1)