Entradas Analógicas en CircuitPython

Este ejemplo muestra como puedes leer el voltaje analógico en el pin A1 de tu tarjeta.

Copia y pega el código hacia code.py utilizando tu editor favorito, y salvando para ejecutar el código de demostración.

# CircuitPython AnalogIn Demo
import time
import board
from analogio import AnalogIn

analog_in = AnalogIn(board.A1)


def get_voltage(pin):
    return (pin.value * 3.3) / 65536


while True:
    print((get_voltage(analog_in),))
    time.sleep(0.1)
¡Asegúrate de estar corriendo la última versión de CircuitPython! Si no, puede que recibas un error de "AttributeError: 'module' object has no attribute 'A1'". ¡Si recibes este error, primero actualiza a la última versión de CircuitPython!

Creando la entrada analógica

analog1in = AnalogIn(board.A1)

Crea un objeto, y conecta el objeto hacia A1 como una entrada analógica.

Utilitario get_voltage

getVoltage(pin) es nuestro pequeño programa utilitario. Por omisión, sus lecturas analógicas van a tener un rango de 0 (mínimo) a 65535 (máximo). Este utilitario convierte la lectura de 0-65535 de pin.value y lo convierte en una lectura de voltaje de 0-3.3V.

Bucle principal

El bucle principal es sencillo. Imprime (prints) el voltaje como valores de punto flotante, llamando get_voltage sobre nuestro objeto analógico. Conéctese a la consola serial para observar los resultados.

Realizando algunos cambios

Por omisión los pines están flotando así que los voltajes van a variar. Mientras estamos conectados a la consola serial, trata de tocar el cable de A1 hacia el pin GND o a el pin 3Vo para ver el voltaje cambiar.

También puedes agregar un potenciómetro para controlar como cambia el voltaje. Del potenciómetro a la tarjeta, conecta el pin izquierdo hacia tierra (GND), el pin del medio hacia A1, y el pin derecho hacia 3V. Si estás utilizando el editor de Mu, ¡puedes ver los cambios mientras rotas el potenciómetro, en el plotter como en la imagen que se observa arriba! (Has click en el ícono de Plotter en la parte superior de la ventana para abrir el plotter).

Cuando rotas la perilla del potenciómetro, la escobilla rota hacia izquierda y derecha, subiendo o bajando la resistencia. Eso, a su vez, cambia el nivel del voltaje analógico que lees en el pin A1 de tu tarjeta.

Cableándolo

La lista que sigue a continuación muestra los diagramas de cableado que te van a ayudar a encontrar los pines correctos y a conectar el potenciómetro, y ¡provee más información sobre los pines analógicos de tu tarjeta!

Circuit Playground Express

A1 está situado a la derecha de la tarjeta. Hay múltiples pads o pines de tierra (GND) y 3V.

Tu tarjeta tiene 7 pines analógicos que pueden ser utilizados para este propósito. Para una lista completa, puedes ver la página con el pinout en la guía principal.

Trinket M0

¡A1 está etiquetado como 2! Está situado entre "1~" y "3V" en el mismo lado de la tarjeta que el pequeño LED rojo. Tierra (GND) está situado al lado opuesto de la tarjeta. 3V está situado a la par del 2, del mismo lado de la tarjeta que el botón de reset.

Tienes 5 pines analógicos que puedes utilizar. Para ver la lista completa, puedes ver la página con el pinout en la guía principal.

Gemma M0

A1 está situado cerca de la parte superior de la tarjeta, del lado izquierdo del puerto Micro USB. Tierra (GND) está del lado opuesto del puerto USB de A1. 3V está situado del lado izquierdo del conector de batería en la parte inferior de la tarjeta.

Tu tarjeta tiene 3 pines analógicos. Para ver la lista completa, puedes ver la página con el pinout en la guía principal.

Feather M0 Express y Feather M4 Express

A1 está situado en el borde opuesto al conector de batería. Hay múltiples pines de tierra (GND). 3V está situado en el mismo borde que A1, a la par del botón de reset.

Tu tarjeta tiene 6 pines analógicos que puedes usar. Para ver la lista completa, puedes ver la página con el pinout en la guía principal.

ItsyBitsy M0 Express y ItsyBitsy M4 Express

A1 está situado en la mitad de la tarjeta, cerca de la "A" de "Adafruit". La tierra está etiquetado como "G" a la par de "BAT", cerca del puerto Micro USB. 3V está situado en el lado opuesto del puerto USB de la tierra, a la par de "RST".

Tienes 6 pines analógicos para utilizar. Para ver la lista completa, puedes ver la página con el pinout en la guía principal.

Metro M0 Express y Metro M4 Express

A1 está situado del mismo lado de la tarjeta que conector de barril. Hay múltiples pines de tierra disponibles. 3V está etiquetado como "3.3" y está situado al centro de la tarjeta, del mismo lado que el conector de barril y de A1.

Tu tarjeta Metro M0 Express tiene 6 pines analógicos que puedes utilizar. Para ver la lista completa, puedes ver la página con el pinout en la guía principal.

Tu tarjeta Metro M4 Express tiene 6 pines analógicos que puedes utilizar. Para ver la lista completa, puedes ver la página con el pinout en la guía principal.

Leyendo Valores de Pines Analógicos

El utilitario get_voltage() utilizado en el ejemplo anterior del potenciómetro, lee el valor en crudo y lo convierte a un nivel de voltaje. También puedes leer un pin analógico de forma directa en tu código utilizando pin.value. Por ejemplo, para simplemente leer el valor analógico del pin, puedes ejecutar el siguiente código:

Download: file
import time
import board
from analogio import AnalogIn

analog_in = AnalogIn(board.A1)

while True:
    print(analog_in.value)
    time.sleep(0.1)

Esto funciona para cualquier pin o entrada analógica. Utiliza el .value para leer el valor en crudo y utilizarlo en tu código.

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