top of page
SORTIDES DIGITALS

Configurar un Pin com a sortida ens permet definir el funcionament d'un actuador.

Per exemple, encendre o apagar un LED, posar en marxa o aturar un motor, activar/desactivar un so, ...

Recordeu que els senyals digitals només poden tenir 2 valors en un moment donat: 1 (True) o 0 (False).

Corresponen a dos nivells de tensió elèctrica, que en el cas de l'ESP32 són 0 i 3.3 V.

Tingueu en compte que els microcontroladors estan pensats per controlar, no per alimentar actuadors. L'ESP32 pot subministrar com a màxim 3.3V, si necessitem més potència, p.ex. per treballar amb motors, haurem d'utilitzar fonts externes d'alimentació.

PAUTES DE PROGRAMACIÓ

Per controlar una sortida digital cal:

  • ​Importar la classe Pin de la llibreria machine de MicroPython, que permet interactuar amb els pins

  • ​Crear un objecte Pin, definint el GPIO i configurant-lo com a sortida amb el mètode Pin.OUT

  • ​Definir el valor del senyal en aquest pin (1 o 0, True o False)

Som-hi, encenguem el LED integrat a la nostra placa:

En la nostra placa el LED integrat està connectat internament al pin 1. La lògica del seu funcionament és inversa: s'encén amb senyal 0 i s'apaga amb senyal 1.

ThonnyFons.png

from machine import Pin                 # importa la classe Pin de la llibreria machine

led = Pin (1, Pin.OUT)                  # crea l'objecte Pin que he anomenat led al pin 1 configurat com a sortida

led.value (0)                           # defineix el valor del senyal (0 o 1)

Per fer l'encesa intermitent cal:

  • ​Importar la classe sleep de la llibreria time i establir pauses en l'execució del programa (en segons) per definir la freqüència de l'intermitència, amb el mètode sleep() 

  • Definir un bucle que executi contínuament les instruccions que conté (encén, apaga)

​Veure com fer-ho 👀 👉

Blink
  • També podem definir l'estat del LED amb led.on() i led.off()

  • Podem definir la pausa com una variable: pausa (segons) i fer sleep (pausa)

  • Podem definir el valor de l'estat del LED com una variable booleana: estat_led, assignar-li un valor inicial (1 o 0) i anar invertint periòdicament el seu valor (estat_led = not estat_led)

       Veure simulació 👀 👉

tips.jpg
led-lamp-red-on-off.png
CONNECTEM LEDS EXTERNS

Connectem un LED a una sortida digital de l'ESP32 (jo ho he fet al pin 13)Tingueu present:

  • No tots els GPIO de l'ESP32 poden actuar com a sortides:

        Els GPIO 6, 7, 8, 9, 10 i 11 estan connectats a la memòria Flash

        Els GPIO 34, 35, 36 i 39 només es poden utilitzar com a entrada.

  • Els LEDs tenen polaritat, ho hem de tenir en compte en fer les connexions per tal que el LED funcioni.

  • Per assegurar que el corrent que travessa el LED permeti obtenir una bona intensitat lluminosa, necessitarem reduir el corrent que ens proporciona l'ESP32 (3.3 V) connectant-hi en sèrie amb una resistència 👀 👉

82ee8a_ffd0131677664044803b79713198c3d3~mv2.png
prohibido
prohibido
prohibido
LED_c.jpg
LED.PNG
Led_C01.PNG
PROPOSTES
bottom of page