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 = machine.ADC(27) #GPIO27
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_verde = Pin(17,Pin.OUT)
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(1)
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<=500: #si detecta<300 de gas
servo.duty_ns(500000)
led_verde.value(1) #prender led azul
led_rojo.value(0) #mantener apagado el led rojo
elif GAS>600: #si algo mas pasa
servo.duty_ns(1500000)
led_rojo.value(1) #prender led rojo
led_verde.value(0)
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