from machine import PWM,Pin,ADC,I2C
import utime #importar utime el cual nos sirve para controlar los tiempos
from sh1106 import SH1106_I2C
servo = PWM(Pin(21))
servo.freq(50)
sensor = ADC(0) #GPIO26
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 rojo esta conectado en el pin de salida 19
led_azul = Pin(18, Pin.OUT) #led azul esta conectado en el pin de salida 18
rele1 = Pin(16, Pin.OUT) #relevador1 esta conectado en pin de salida 16
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(4)
while True: #para siempre
GAS = int(sensor.read_u16()/100) #0 a 65535
print("VALORES: Sensor gas: ", GAS) #mostrar, valores: sensor gas, gas
utime.sleep(1) #descansar por un segundo
if GAS<300: #si detecta<300 de gas
servo.duty_ns(500000)
led_azul.value(1) #prender led azul
led_rojo.value(0) #mantener apagado el led rojo
else: #si algo mas pasa
servo.duty_ns(1500000)
led_azul.value(0) #apagar el led azul
led_rojo.value(1) #prender led rojo
print('DETECTA presencia de gas') #mostrar, detecta presencia de gas
rele1.value(1) #activar relevador1
utime.sleep(1) #descansar por un segundo
rele1.value(0) #apagar el relevador1
utime.sleep(16) #descansar durante 16 segundos