# ############################################################################
# ** Proyecto : 201 - Hola Led con Programacion Orientada a Objetos
# ** Herramienta : https://www.wokwi.com
# ** : Thonny aplicacion de escritorio descargar en www.thonny.org
# ** Compilador : wokwi Simulador online
# ** Version : 1.0
# ** Fecha/Hora : 17-07-2024, 3:45 am,
# **
# ** Descripción del programa :
# ** Este programa prende y apaga el led interno, el argumentos es el numero del pin
# ** donde se conecta el led, se utiliza programacion Orientada a Objetos (POO)
# **
# ** Versión : 1
# ** Revisión : A
# ** Release : 0
# ** Bugs & Fixes :
# ** Date : 17/07/2024
# **
# ** 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
# +-------------------------------------------------------------------------------
# | V A R I A B L E S |
# +-------------------------------------------------------------------------------
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# | Definición y Desarrollo de Funciones |
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class Led:
def __init__(self,pin):
self._led = Pin(pin,Pin.OUT)
self._tiempoPrendido = 1
self._tiempoApagado = 1
def prender(self,tiempoPrendido=1):
self._led.value(1)
time.sleep(tiempoPrendido)
def apagar(self,tiempoApagado=0):
self._led.value(0)
time.sleep(tiempoApagado)
def parpadear(self):
self._led.value(1)
time.sleep(self._tiempoPrendido)
self._led.value(0)
time.sleep(self._tiempoApagado)
def __del__(self):
print(f"Objeto {self} destruido")
# ===============================================================================
# || ||
# || 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
led = Led(2)
while True:
led.prender(2)
led.apagar(1)
led.parpadear()
time.sleep(5)
# ********************************************************************************
#
# R E F E R E N C I A S / C O M E N T A R I O S
#
# *** Definir funciones ***
#
# La palabra reservada def se usa para definir funciones.
# Debe seguirle el nombre de la función y la lista de parámetros formales
# entre paréntesis.
#
# Las sentencias que forman el cuerpo de la función empiezan en la línea siguiente,
# y deben estar con sangría.
#
# La primera sentencia del cuerpo de la función puede ser opcionalmente una
# cadena de texto literal; esta es la cadena de texto de documentación de la función,
# o docstring. (Puedes encontrar más acerca de docstrings en la sección Cadenas
# de texto de documentación.). Existen herramientas que usan las docstrings para
# producir documentación imprimible o disponible en línea, o para dejar que los
# usuarios busquen interactivamente a través del código; es una buena práctica
# incluir docstrings en el código que escribes, así que acostúmbrate a hacerlo.
#
# https://docs.python.org/es/3/tutorial/controlflow.html#defining-functions
# *********************************************************************************