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.
# SPDX-FileCopyrightText: 2018 Kattni Rembor for Adafruit Industries # # SPDX-License-Identifier: MIT """CircuitPython Essentials Digital In Out example""" import time import board from digitalio import DigitalInOut, Direction, Pull # LED setup. led = DigitalInOut(board.LED) # For QT Py M0. QT Py M0 does not have a D13 LED, so you can connect an external LED instead. # led = DigitalInOut(board.SCK) led.direction = Direction.OUTPUT # For Gemma M0, Trinket M0, Metro M0 Express, ItsyBitsy M0 Express, Itsy M4 Express, QT Py M0 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.
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.
Page last edited January 22, 2025
Text editor powered by tinymce.