Salidas Analógicas en CircuitPython

Este ejemplo muestra como puedes configuarar el DAC (salida analógica verdadera) en el pin A0.

A0 is el único pin de salida analógica en las tarjeta M0. ¡Ningún otro pin realiza verdadera salida analógica!

Copia y pega el código hacia code.py utilizando tu editor favorito, y salva el archivo.

# CircuitPython IO demo - analog output
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!

Circuit Playground Express

A0 está situado entre VOUT y A1 cerca del puerto de batería

 

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.

Gemma M0

A0 está situado en el medio del lado derecho de la tarjeta, a la par del switch On/Off.

 

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.

Metro M4 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.

En la Metro M4 Express, hay DOS salida analógicas verdaderas, A0 y A1.

This guide was first published on Jun 24, 2020. It was last updated on Jun 24, 2020.
This page (Salidas Analógicas en CircuitPython) was last updated on Jun 24, 2020.