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
#AL INICIAR APAGA RELES Y LEDS
rele1.value(0) #apagar relevador1
led_azul.value(0) #apagar el led azul
led_rojo.value(0) #apagar el led rojo
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