from machine import PWM, Pin, ADC, I2C
import utime
from sh1106 import SH1106_I2C
# Configuración
servo = PWM(Pin(21))
servo.freq(50)
sensor = ADC(26)
WIDTH = 128
HEIGHT = 64
i2c = I2C(0, scl=Pin(5), sda=Pin(4), freq=400000)
oled = SH1106_I2C(WIDTH, HEIGHT, i2c)
oled.rotate(1)
led_rojo = Pin(19, Pin.OUT)
led_azul = Pin(18, Pin.OUT)
led_verde = Pin(17, Pin.OUT)
rele1 = Pin(16, Pin.OUT)
# Inicialización
rele1.value(0)
led_azul.value(0)
led_rojo.value(0)
led_verde.value(0)
oled.fill(0)
oled.show()
oled.text('Soy Robot ', 2, 0)
oled.text('Livingstone', 2, 10)
oled.text('Robot GAS ', 2, 20)
oled.text('Equipo Exploradores', 2, 40)
oled.show()
utime.sleep(1)
while True:
GAS = int(sensor.read_u16()/100)
print("VALORES: Sensor gas: ", GAS)
utime.sleep(0.1)
if GAS > 600:
servo.duty_ns(500000)
led_azul.value(0)
led_rojo.value(1)
led_verde.value(0)
print("detecta gas")
rele1.value(1)
utime.sleep(1)
rele1.value(0)
utime.sleep(16)
elif 500 =< GAS <= 600:
servo.duty_ns(1000000)
led_azul.value(0)
led_rojo.value(0)
led_verde.value()
else:
servo.duty_ns(1500000)
led_azul.value(0)
led_rojo.value(0)
led_verde.value(1)