# ############################################################################
# ** 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 : 22-03-2025, 9:45 pm ,
# ** Descripción :
# ** Este programa prende y apaga led interno pin (2) - parpadeo
# ** por 1 sengundo
# **
# ** Versión : 1.1
# ** Revisión : A
# ** Release : 0
# ** Bugs & Fixes :
# ** Date : 17/02/2025
# **
# ** By : Jorge Anzaldo
# ** contact : [email protected]
# ** twitter x : @janzaldob
# #############################################################################
# ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# : Librerias / 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
# +-------------------------------------------------------------------------------
# | DEFINICION Y DESARROLLO DE CLASES O FUNCIONE DE PROGRAMADOR |
# +-------------------------------------------------------------------------------
# +-------------------------------------------------------------------------------
# | V A R I A B L E S G L O B A L E S |
# +-------------------------------------------------------------------------------
led = Pin(2,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.on() #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.off() #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
#
# *********************************************************************************