02 : Ligando um Led - efrainmpp1/URA-2.0-ESP GitHub Wiki
Como primeiro passo na jornada de um programador de microcontroladores temos que fazer um led acender.Seria a sensação como a do tão aclamado "HELLO WORLD".Antes de falar da montagem do sistema é bom apresentar o mapa da GPIO da placa do ESP já que na programação indicamos as conecções DX com base no numero da GPIO.Você verá essa mudança na hora da programação.
Montagem
Obs:É recomendado o uso de um resistor para precaver uma possivel queima do led.
Códigos
from machine import Pin
led = Pin(0, Pin.OUT) #Definindo o pino 0 como saida
led.on() # Coloco o pino em estado ligado
Se eu quero que ele fique piscando então vamos adicionar a biblioteca time para determinar um tempo para que fique ligado e um tempo para que fique desligado.
from machine import Pin # Da bliblioteca machine pegamos a classe dos Pin para setar o led
from time import sleep
led = Pin(0, Pin.OUT) # Definindo o pino 0 como saida
led.on() # Aqui acendemos o led
while True:
#Utilizo esse while para sempre ficar rodando o programa
led.off() # Apago o led
time.sleep(1) # Fica por 1 segundo apagado
led.on() # ligo o led
time.sleep(1) # Fica 1 segundo ligado
Existem diversas formas de fazer a mesma tarefa. Um exemplo é o uso de uma função que inverte o estado do led.
import machine
import time
pin = machine.Pin(0, machine.Pin.OUT) #Definicao do pino como saida
#Exemplo de ligar e desligar o led
pin.on() # Liga o led
pin.off() # Apaga o Led
pin.value(0)
#Criar谩 uma fun莽茫o para alternar o pino
#Essa funcao ira negar o valor que estiver no pino. Ex, se o pio tiver 0 (desligado) a funcao ira
#nega-lo, fazendo ele ficar com o valor de 1 ( ligado)
def toggle(p):
p.value(not p.value()) #Negacao do valor do pino
#Blink
while True:
toggle(pin) #Chamada da funcao
time.sleep_ms(500) #Tempo de espera