Lo primero al interactuar con hardware es poder manipular entradas y salidas digitales. Con CircuitPython, ¡es super sencillo!

Este ejemplo muestra como utilizar tanto la salida como la entrada digital. Puedes utilizar un switch de entrada con una resistencia en pullup (viene integrado en la tarjeta) para controlar una salida digital - el LED integrado.

Realiza una copiar y pegar del código en code.py utilizando tu editor preferido, y salva el archivo para ejecutar la demostración.

# CircuitPython IO demo #1 - General Purpose I/O
import time
import board
from digitalio import DigitalInOut, Direction, Pull

led = DigitalInOut(board.D13)
led.direction = Direction.OUTPUT

# For Gemma M0, Trinket M0, Metro M0 Express, ItsyBitsy M0 Express, Itsy M4 Express
switch = DigitalInOut(board.D2)
# switch = DigitalInOut(board.D5)  # For Feather M0 Express, Feather M4 Express
# switch = DigitalInOut(board.D7)  # For Circuit Playground Express
switch.direction = Direction.INPUT
switch.pull = Pull.UP

while True:
    # We could also do "led.value = not switch.value"!
    if switch.value:
        led.value = False
    else:
        led.value = True

    time.sleep(0.01)  # debounce delay

Note como hicimos el código un poco menos "Pithónico" de lo necesario. El bloque if/else se puede reemplazar con un simple led.value = not switch.value pero queremos dejar claro como se evalúan las entradas. El interprete va a leer la entrada digital cuando evalúa switch.value.

Para Gemma M0, Trinket M0, Metro M0 Express, Metro M4 Express, ItsyBitsy M0 Express, ItsyBitsy M4 Express, no se requieren cambios al ejemplo inicial.

Nota: Para "comentar" una línea, ponga un # y un espacio antes. Para "descomentar" una línea, remueva el # y el espacio del inicio de la línea.

Para Feather M0 Express and Feather M4 Express, comente switch = DigitalInOut(board.D2) (y/o switch = DigitalInOut(board.D7) dependiendo de cambios que hayas realizado), y descomenta switch = DigitalInOut(board.D5).

Para Circuit Playground Express, necesitas comentar switch = DigitalInOut(board.D2) (y/o switch = DigitalInOut(board.D5) dependiendo de cambios que hayas realizado), y descomenta switch = DigitalInOut(board.D7).

Para encontrar el pin o pad sugerido en el código, vea la lista abajo. Para tarjetas que requieren cableado, conecte un switch (también conocido como un switch táctil, botón o botón momentáneo), siguiendo el diagrama para ayuda. Presione o mueva el switch, y la luz roja LED se va a prender y a apagar.

Note que en tarjetas M0/SAMD basadas en CircuitPython, al menos, tienes pulldowns internos con Pull.DOWN y si quieres apagar el pull up/pull down sólo asigna switch.pull = None.

¡Encuentra los pines!

La lista abajo muestra cada tarjeta, explica dónde se encuentran los pines Digitales sugeridos para entrada, y dónde se encuentra el LED D13.

Circuit Playground Express

Vamos a utilizar el switch, el cual es pin D7, y está situado entre el conector de batería y el switch de reset de la tarjeta. D13 está etiquetado como D13 y se encuentra a la par del puerto micro USB.

Para utilizar D7, comente la línea actual de uso de Pin,  y desconecte la línea etiquetada para la Circuit playground Express, ¡vea detalles arriba!

Trinket M0

D2 está conectado al cable azul, etiquetado como "2", y está situado entre "3V" y "1" en la tarjeta. D13 está etiquetado como "13" y está situado a la part del puerto micro USB.

Gemma M0

D2 es un pad amigable a clips de lagarto, etiquetado tanto "D2" como "A1", se muestra conectado con el cable azul, y está a la par del puerto micro USB. D13 se sitúa a la par de la etiqueta "GND" en la tarjeta, y arriba del switch "On/Off".

¡Utilice clips de lagarto para conectar tu switch a la Gemma M0!

 

Feather M0 Express y Feather M4 Express

D5 se etiqueta "5" y está conectado al cable azul en la tarjeta. D13 está etiquetado como "#13" y se sitúa a la par del puerto micro USB.

Para usar D5, comente la línea de uso de pin, y descomente la línea marcada para Feather M0 Express. ¡Vea los detalles arriba!

ItsyBitsy M0 Express y ItsyBitsy M4 Express

D2 se etiqueta "2", situado entre las etiquetas de "MISO" y "EN", y está conectado al cable azul en la tarjeta. D13 está situado a la par del botón de reset, entre las etiquetas "3" y "4" de la tarjeta.

Metro M0 Express y Metro M4 Express

D2 está situado cerca de la esquina superior izquierda, y conectado al cable azul. D13 está etiquetado "L" y está situado a la par del puerto micro USB.

Lea la Documentación

Para mayor profundidad sobre lo que puede hacer digitalio, lea  la página sobre DigitalInOut en Read the Docs.

This guide was first published on Jun 24, 2020. It was last updated on Jun 24, 2020.

This page (Entradas y Salidas Digitales en CircuitPython) was last updated on Nov 02, 2020.