# ############################################################################
# ** Proyecto : Parpadeo Led
# ** Plataforma : ESP32 / WROOM
# ** Herramienta : https://www.wokwi.com
# ** : Thonny aplicacion de escritorio descargar en www.thonny.org
# ** Compilador : wokwi Simulador online
# ** Version : 1.0
# ** Fecha/Hora : 02-07-2025, 0:45 pm ,
# ** Descripción :
# ** Este programa prende y apaga led pin (4) - parpadeo
# ** por 1 sengundo
# **
# ** Versión : 1
# ** Revisión : A
# ** Release : 0
# ** Bugs & Fixes :
# ** Date : 02/07/2025
# **
# ** By : Jorge Anzaldo
# ** contact : [email protected]
# ** twitter x : @janzaldob
# #############################################################################
# ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# : Bibliotecas / Modulos | :
# ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
from machine import Pin # https://docs.micropython.org/en/latest/library/machine.Pin.html
import time # https://docs.micropython.org/en/latest/library/time.html
# +-------------------------------------------------------------------------------
# | V A R I A B L E S G L O B A L E S |
# +-------------------------------------------------------------------------------
led = Pin(4,Pin.OUT)
# ===============================================================================
# || ||
# || P R O G R A M A / F U N C I O N P R I N C I P A L ||
# || ||
# ===============================================================================
if __name__ == '__main__': #https://docs.python.org/es/3.10/library/__main__.html
while True:
led.value(1) #encender led https://docs.micropython.org/en/latest/library/machine.Pin.html#machine.Pin.value
time.sleep(1) #espera por 1 segundo https://docs.micropython.org/en/latest/library/time.html#time.sleep
led.value(0) #apagar led
time.sleep(1) #espera por 1 segundo
# ********************************************************************************
#
# R E F E R E N C I A S / C O M E N T A R I O S
#
# *** ¿QUÉ ES PYTHON? ***
#
# Python es un lenguaje de programación de alto nivel, limpio, elegante, ágil y
# sencillo, con una curva de aprendizaje muy corta.
#
# Durante su ejecución no se compila, sino que un intérprete lo procesa (scripting),
# lo que permite experimentar –de forma interactiva– mientras se programa.
#
# Gracias al uso de expresiones comunes Python requiere menos líneas de código
# para realizar tareas básicas. También dispone de una librería estándar así como
# multitud de librerías no oficiales, que permite ejecutar funciones y tareas
# complejas con mayor facilidad que otros lenguajes.
#
# Permite programar en varios estilos (programación multiparadigma):
# programación orientada a objetos, imperativa o funcional y sus aplicaciones
# son muy versátiles: desarrollo web, cómputo científico, procesamiento de datos,
# inteligencia artificial, etc.
#
# https://www.python.org/
#
# *** ¿QUÉ ES MICROPYTHON? ***
# Es un pequeño pero eficiente interprete del Lenguaje de Programación Python,
# optimizado para funcionar en microcontroladores y ambientes restringidos.
#
# Un intérprete se define como la capa lógica de software entre el código y el hardware,
# dicho de otro modo, es el encargado de procesar el código de programación y
# hacer posible que el hardware (ordenador, microcontrolador…) ejecute las acciones
# en él descritas.
#
# MicroPython está implementado a partir del intérprete estándar de Python 3.4
# con características seleccionadas de versiones posteriores-.
#
# Debido a las limitaciones de recursos de los microcontroladores, en su mayoría los módulos
# de la biblioteca estándar se han simplificado, pero proporcionando sus funcionalidades
# principales –un subconjunto de las funcionalidades totales-.
#
# MicroPython también dispone de módulos específicos dentro de la biblioteca estándar que
# permiten al programador el acceso al hardware del microcontrolador.
#
# Hay algunas características que MicroPython tiene y es lo que lo hace único y
# diferente de otros sistemas embebidos:
#
# Dispone, así como el Lenguaje de Programación Python, de multitud de librerías
# para la ejecución de tareas.
#
# Tiene un editor de código propio muy sencillo.
#
# Es extensible. Para los usuarios avanzados de MicroPython, pueden extender de Python
# a funciones de más bajo nivel como C o C++, pudiendo mezclar códigos que requieran
# de ejecución más rápida a bajo nivel con MicroPython.
#
# Con MicroPython, se pueden hacer muchas cosas, como controlar las entradas/salidas de un
# microcontroladores haciendo parpadear un LED, obteniendo lecturas de señales
# analógicas y digitales, generando señales PWM, controlando servomotores, pantallas OLED,
# pantallas NeoPixel, realizando comunicación I2C, SPI, etc.
#
# En algunos microcontroladores como el ESP32 también permite conexiones de Red y WiFi.
#
# https://docs.micropython.org/
#
# https://docs.micropython.org/en/latest/esp32/tutorial/intro.html
# --------------------------------------------------------------------------------
# LED (Light Emitting Diode):
#
# El LED es un tipo de diodo semiconductor que emite luz cuando la corriente
# eléctrica pasa a través de él. Es una tecnología muy popular por su eficiencia
# energética, larga vida útil y bajo consumo de energía. Los LEDs se utilizan en
# una variedad de aplicaciones, desde pantallas (como las de televisores y monitores),
# hasta iluminación general en casas y oficinas. Los LEDs están disponibles en
# diferentes colores y formas.
#---------------------------------------------------------------------------------
# Una resistencia (o resistor, en inglés) es un componente pasivo utilizado en circuitos
# electrónicos y eléctricos para limitar el flujo de corriente eléctrica.
# El propósito de una resistencia es controlar o reducir la cantidad de corriente que pasa
# a través de un componente o circuito.
#
# Características principales de una resistencia:
# Valor de resistencia (R): Medido en ohmios (Ω), la resistencia indica cuánta oposición
# ofrece un componente al paso de corriente. La relación se expresa con la ley de Ohm:
#
# V=I×R
# donde:
# 𝑉 es el voltaje en voltios (V),
# I es la corriente en amperios (A),
# 𝑅 es la resistencia en ohmios (Ω).
# Potencia (P): Las resistencias tienen una capacidad para disipar energía en forma de calor,
# la cual está limitada por su clasificación de potencia, comúnmente medida en vatios (W).
# Por ejemplo, una resistencia de 1 W disipa hasta 1 vatio de potencia sin dañarse. Si la potencia
# disipada supera la clasificación, la resistencia puede sobrecalentarse y fallar.
#
# Tolerancia: Indica la precisión del valor de resistencia en términos porcentuales.
# Por ejemplo, una tolerancia de ±5% significa que el valor real de la resistencia podría estar
# en un rango de un 5% más o menos respecto al valor nominal.
#
# Tipo de material: Las resistencias pueden estar hechas de diferentes materiales, como carbono,
# metal, cerámica o una combinación de estos, y cada material tiene diferentes propiedades en
# cuanto a estabilidad, precisión y disipación de calor.
# Forma y tamaño: Las resistencias pueden ser de diferentes formas:
# Resistencias de carbono (más comunes en aplicaciones generales).
# Resistencias de película metálica (con mayor precisión).
# Resistencias de alambre enrollado (generalmente para aplicaciones de mayor potencia).
# Usos de las resistencias:
# Controlar la corriente: Se utilizan para limitar el paso de corriente en diferentes partes de un circuito, protegiendo otros componentes como diodos, transistores, LED, etc.
# División de voltaje: En un divisor de voltaje, las resistencias se colocan en serie para repartir el voltaje total de manera proporcional entre ellas.
# Filtros: En circuitos de filtrado, las resistencias se combinan con otros componentes (como capacitores o inductores) para eliminar o suavizar señales no deseadas.
# Generación de calor: Las resistencias también se utilizan en dispositivos que convierten la energía eléctrica en calor, como en calefactores eléctricos o secadores de cabello.
# Tipos de resistencias comunes:
# Resistencia fija: Tiene un valor de resistencia constante que no cambia con el tiempo o la temperatura.
# Resistencia variable (potenciómetro o trimer): Su valor de resistencia puede ajustarse manualmente, lo que permite variar la cantidad de corriente que pasa a través de un circuito. Son útiles en aplicaciones donde se necesita un ajuste fino, como en controles de volumen de radios o amplificadores.
# Resistencia dependiente de temperatura (NTC/PTC): La resistencia varía dependiendo de la temperatura. Las NTC (coeficiente de temperatura negativo) disminuyen su resistencia a medida que aumenta la temperatura, mientras que las PTC (coeficiente de temperatura positivo) la aumentan.
# Cómo leer el valor de una resistencia:
# Las resistencias suelen tener un código de colores que indica su valor. El código de colores de 4 bandas es el más común. Las primeras dos bandas indican los dos primeros dígitos del valor de resistencia, la tercera banda es un multiplicador (potencia de 10), y la cuarta banda es la tolerancia.
#
# Ejemplo de una resistencia con el siguiente código de colores: Rojo, Naranja, Marrón, Oro
# Rojo: 2
# Naranja: 3
# Marrón: multiplicador de × 10
# Oro: tolerancia del 5%
# El valor sería 23 × 10 = 230 ohmios, con una tolerancia del 5%
#
# Refeferencia para calculo de la resistencia = https://www.newark.com/es/calculadora-codigo-color-resistencias
#
# *********************************************************************************