# from machine import Pin,PWM
# import time
# botton = Pin(13,Pin.IN)
# led = Pin(15,Pin.OUT)
# while True:
# estado = botton.value()
# led.value(estado)
##Ejercicio 2
# led = PWM(Pin(15), freq=5000) # Inicializa el pin 15 como salida PWM con una frecuencia de 5000 Hz
# while True:
# for i in range(1024):
# led.duty(i) # Ajusta el ciclo de trabajo (duty cycle) del PWM
# time.sleep(0.020)
# for j in range(1023,-1,-1):
# led.duty(j)
# time.sleep(0.020)
## Ejercicio 3
# from machine import Pin,PWM,ADC
# import time
# led = PWM(Pin(15), freq=5000)
# pot = ADC(Pin(13))
# pot.atten(ADC.ATTN_11DB)
# pot.width(ADC.WIDTH_10BIT)
# while True:
# duty_cicle = pot.read()
# led.duty(duty_cicle)
# time.sleep(0.005)
## Ejercicio 4
# from machine import Pin, I2C, ADC
# import ssd1306
# import math
# import time
# # Inicialización de I2C y OLED
# i2c = I2C(0, scl=Pin(15), sda=Pin(2))
# oled = ssd1306.SSD1306_I2C(128, 64, i2c)
# # Inicialización del sensor ADC
# sensor = ADC(Pin(13))
# sensor.atten(ADC.ATTN_11DB) # Configuración de atenuación una sola vez
# # Constantes para la ecuación de Steinhart-Hart
# A = 1.009249522e-03
# B = 2.378405444e-04
# C = 2.019202697e-07
# while True:
# val = sensor.read() # Uso correcto de 'sensor'
# voltaje = val * (3.3 / 4095) # Ajusta la fórmula según la resolución y atenuación de tu ADC
# resistance = (3.3 / voltaje - 1) * 10000 # Asegúrate de que esta fórmula sea correcta para tu divisor de voltaje
# # Cálculo de la temperatura
# logR = math.log(resistance)
# temperature = 1 / (A + B * logR + C * logR ** 3) - 273.15
# # Limpieza del display y muestra de la temperatura
# oled.fill(0)
# oled.text(f"Temp: {temperature:.2f}C", 0, 0)
# oled.show()
# time.sleep(1)
## Ejercicio 5
# from machine import Pin, I2C
# import ssd1306
# import dht
# import time
# # Inicialización de I2C y OLED
# i2c = I2C(0, scl=Pin(15), sda=Pin(2))
# oled = ssd1306.SSD1306_I2C(128, 64, i2c)
# # Inicializa el sensor DHT22
# sensor = dht.DHT22(Pin(12))
# led_one = Pin(4,Pin.OUT)
# led_two = Pin(5,Pin.OUT)
# while True:
# try:
# sensor.measure() # Inicia una medición
# temp = sensor.temperature() # Lee la temperatura en grados Celsius
# hum = sensor.humidity() # Lee la humedad relativa en porcentaje
# if hum >= 40:
# led_one.value(True)
# if temp >= 24:
# led_two.value(True)
# oled.fill(0)
# oled.text(f"Temperatura: {temp}C", 0, 0)
# oled.text(f"Humedad: {hum}%", 0, 10) # Corrección en la posición y unidad
# oled.show()
# except OSError as e:
# oled.fill(0)
# oled.text("Error al leer el sensor DHT22:", e)
# time.sleep(2)
#Ejercicio 6
#Sueño profundo
# import machine
# from machine import Pin, I2C
# import time
# led = Pin(4,Pin.OUT)
# led.value(1)
# time.sleep(2)
# led.value(0)
# time.sleep(2)
# print("Modo de sueño profundo")
# machine.deepsleep(5000)
## Ejercicio 7
## Uso de mqtt
## Conexion a internet
# import network
# import time
# from machine import Pin
# led_one = Pin(4,Pin.OUT)
# led_two = Pin(5,Pin.OUT)
# red = network.WLAN(network.STA_IF)
# red.active(True)
# red.connect('Wokwi-GUEST', '')
# while True:
# if red.isconnected():
# led_one.value(1)
# led_two.value(0)
# print (red.isconnected)
# else:
# led_one.value(0)
# led_two.value(1)
# time.sleep(2)
##Ejercicio 8
## Uso de libreria umqtt simple
# from umqtt import simple
# import network
# import time
# import socket
# ssid = 'Wokwi-GUEST'
# def connect():
# red = network.WLAN(network.STA_IF)
# red.active(True)
# red.connect(ssid, '')
# while red.isconnected()==False:
# print('.',end=" ")
# time.sleep(0.5)
# print("conexion exitosa")
# def connect_mqtt():
# try:
# device_id = "prueba-device"
# sas_token = "abcd"
# hub_name = "global-abcd.azure-devices.net"
# username = hub_name + '/' + device_id +"/?api-version=2021-04-12"
# print (username)
# client = simple.MQTTClient(client_id=device_id, server=hub_name, port=8883,user=username,password=sas_token, keepalive=120, ssl=False)
# print("Conectando a MQTT...")
# client.connect()
# print("Conexión MQTT exitosa")
# topic = "devices/{}/messages/events/".format(device_id)
# message = "On"
# print("Publicando mensaje...")
# client.publish(topic, message)
# print("Mensaje publicado")
# except OSError as e:
# print("Error de OS: {}".format(e))
# except Exception as e:
# print("Error inesperado: {}".format(e))
# connect()
# connect_mqtt()
import network
import time
import urequests
ssid = 'Wokwi-GUEST'
red = network.WLAN(network.STA_IF)
red.active(True)
red.connect(ssid, '')
while red.isconnected()==False:
print('.',end=" ")
time.sleep(0.5)
print("conexion exitosa")
url = 'https://jsonplaceholder.typicode.com/posts'
response = urequests.get(url)
if response.status_code == 200:
# Imprime los primeros 200 caracteres de la respuesta para no sobrecargar la consola
print('Content:', response.text[:200])
else:
print('Error:', response.status_code)
response.close()