Este ejemplo muestra como puedes configuarar el DAC (salida analógica verdadera) en el pin A0.
Copia y pega el código hacia code.py utilizando tu editor favorito, y salva el archivo.
# SPDX-FileCopyrightText: 2018 Kattni Rembor for Adafruit Industries # # SPDX-License-Identifier: MIT """CircuitPython Analog Out example""" import board from analogio import AnalogOut analog_out = AnalogOut(board.A0) while True: # Count up from 0 to 65535, with 64 increment # which ends up corresponding to the DAC's 10-bit range for i in range(0, 65535, 64): analog_out.value = i
Creando una salida analógica
analog_out = AnalogOut(A0)
Esta línea crea un objeto analog_out
y conecta el objeto con A0, el único pin con DAC disponible tanto en tarjeta M0 como M4. (Las M4 tienen dos, A0 y A1)
Configurando la salida analógica
El DAC en la SAMD21 es una salida de 10-bits, de 0 a 3.3V. Así que en teoría tenemos una resolución de 0.0032 voltios por bit. Para permitirle a CircuitPython que sea lo suficientemente de propósito general para que pueda ser utilizado con DAC de 8 hasta 16 bits, se lee un valor de 16-bits y luego se divide de forma interna.
Por ejemplo, escribiendo 0 es lo mismo que configurando para una salida de 0 voltios.
Escribirle 5000 es lo mismo que configurar una salida para 5000 / 64 = 78, y 78 / 1024 * 3.3V es 0.25V de salida.
Escribir 65535 es lo mismo que 1023 por lo que es la parte superior del rango y vas a recibir una salida de 3.3V.
Bucle Principal
El bucle principal es relativamente sencillo, pasa por el rango completo del DAC, desde 0 a 65535, pero con incrementos de 64 a la vez, así que termina subiendo un bit por cada uno de los 10 bits disponibles en el rango.
CircuitPython no es terriblemente rápido, así que el ciclo más rápido que puedes obtener va a ser de 4 Hz. El DAC no es bueno para usar como salida de audio a como viene.
Tarjetas Express como la CircuitPlayground Express, la Metro M0 Express, la ItsyBitsy M0 Express, la ItsyBitsy M4 Express, la Metro M4 Express, la Feather M4 Express, o la Feather M0 Express tienen más espacio para código y pueden realizar operaciones de salida de audio vía el DAC. ¡La Gemma M0, la Trinket M0 no lo pueden hacer!
¡Revisa la sección de Salida de Audio de esta guía para ejemplos!
Encuentra el pin
¡Utilice los diagramas a continuación para encontrar el pin A0, marcado con una flecha magenta!
Trinket M0
¡A0 está etiquetado como "1~" en la Trinket! A0 está situado entre "0" y "2" cerca del medio de la tarjeta en el mismo lado del LED rojo.
Feather M0 Express
A0 está situado entre GND y A1 del lado opuesto de la tarjeta al conector de batería, cerca del botón de Reset.
Feather M4 Express
A0 está situado entre GND y A1 en el lado opuesto al conector de batería, cerca del botón de Reset, y agujero del pin está marcado con paréntesis izquierdos y derechos.
ItsyBitsy M0 Express
A0 está situado entre VHI y A1, cerca de la "A" en "Adafruit", y el agujero del pin está marcado con paréntesis izquierdos y derechos.
ItsyBitsy M4 Express
A0 está situado entre VHI y A1, y el agujero del pin está marcado con paréntesis izquierdos y derechos.
Metro M0 Express
A0 está situado entre VHI y A1, del mismo lado en la tarjeta que el conector de barril, como en la mitad de los headers, y el agujero del pin está marcado con paréntesis izquierdos y derechos.
Page last edited January 22, 2025
Text editor powered by tinymce.