Close Menu
    Facebook X (Twitter) Instagram
    Facebook YouTube LinkedIn
    Industry SurferIndustry Surfer
    Inicio - Acelerómetro ADXL335 e interfaz Raspberry Pico
    Cursos

    Acelerómetro ADXL335 e interfaz Raspberry Pico

    6 Mins Read Cursos
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Acelerómetro ADXL335 e interfaz Raspberry Pico
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Tabla de contenido

    • resumen
    • Componentes requeridos
    • ADXL335 acelerómetro de 3 ejes
      • ADXL335 Especificaciones
      • Pinout ADXL335.
    • Acelerómetro ADXL335 e interfaz Raspberry Pico
    • Código micropython para leer valores de aceleración
    • Código micropython para leer valores de ángulo de rotación

    resumen

    Esta guía utiliza código MicroPython para interconectar el acelerómetro ADXL335 de 3 ejes con la Raspberry Pi Pico. El Raspberry Pi Pico es un microcontrolador asequible, versátil y potente, mientras que el ADXL335 es un acelerómetro pequeño y de baja potencia. Al combinar estos dos componentes, puede crear una variedad de proyectos emocionantes, incluidos sistemas de control de gestos, sensores de inclinación e incluso controladores de juegos simples.

    A lo largo de esta guía, proporcionaremos instrucciones paso a paso para conectar la Raspberry Pi Pico y el acelerómetro ADXL335. También describe el código necesario para leer e interpretar los datos del acelerómetro. Después de completar este tutorial, tendrá una sólida comprensión del acelerómetro Raspberry Pi Pico y ADXL335 y tendrá el conocimiento que necesita para crear sus propios proyectos utilizando estos componentes.

    Anteriormente, usé el ADXL335 para construir algunos proyectos, pero puedo verificarlos antes de continuar.


    Componentes requeridos

    Esta guía requiere los siguientes componentes:


    ADXL335 acelerómetro de 3 ejes

    el ADXL335 es un acelerómetro compacto, delgado y de baja potencia de 3 ejes fabricado por Analog Devices, Inc. Está diseñado para medir la aceleración en ± rango de escala completa de 3 g (g es la aceleración debida a la gravedad (aproximadamente 9,81 m/s²)). El ADXL335 puede medir la aceleración en tres ejes ortogonales, X, Y y Z, y detectar movimiento y orientación en el espacio 3D.

    El ADXL335 emite una señal de voltaje analógica proporcional a la aceleración sometida al sensor. Estas señales analógicas pueden ser leídas por un microcontrolador u otro dispositivo con un convertidor analógico a digital (ADC), como un Arduino o Raspberry Pi Pico, para procesar e interpretar los datos.


    ADXL335 Especificaciones

    El ADXL335 es un acelerómetro de 3 ejes con las siguientes especificaciones clave:

    • Rango de medición: ±3 g (donde g es la aceleración debida a la gravedad, aproximadamente 9,81 m/s²)
    • sensibilidad: Típicamente alrededor de 300 mV/g (milivoltios/g) a temperatura ambiente, con ligeras variaciones dependiendo del eje.
    • salida: Voltaje analógico proporcional a la aceleración, una salida en cada eje (X, Y, Z).
    • Tensión de la fuente de alimentación: 1.8V a 3.6V, el voltaje de funcionamiento estándar es 3.3V.
    • Consumo de energía: Bajo consumo de energía, típico aprox. 350μA en modo de medición.
    • ancho de banda: seleccionable por el usuario, hasta 1,6 kHz en los ejes X e Y y hasta 550 Hz en los ejes Z.
    • Densidad de ruido: Aprox. 350 μg/√ Hz (microg por hercios de raíz cuadrada).
    • Desplazamiento de cero g: salida de 1,5 V (típica) en ausencia de aceleración.
    • Deriva de desplazamiento de cero g: Hasta 25 μV/°C (microvoltios/°C) en el rango de temperatura de funcionamiento.
    • Rango de temperatura de funcionamiento: -40°C a +85°C (-40°F a +185°F).

    Pinout ADXL335.

    El acelerómetro ADXL335 de 3 ejes tiene un efecto de 5 derivaciones.

    Pinout ADXL335.

    1. VCC: Pin de fuente de alimentación (2.8V a 3.6V)
    2. X_OUT: Salida analógica del eje X.
    3. Y_OUT: Salida analógica del eje Y.
    4. Z_OUT: Salida analógica del eje Z.
    5. Teletipo: Pin de tierra

    Acelerómetro ADXL335 e interfaz Raspberry Pico

    Para conectar el acelerómetro ADXL335 a la Raspberry Pico usando MicroPython, el ADXL335 debe estar conectado a los pines analógicos del pico y el valor de aceleración debe leerse desde el sensor. Así es como la Raspberry Pi Pico se conecta al acelerómetro ADXL335.

    ADXL335 Acelerómetro Raspberry Pi Pico

    • Conecte el VCC ADXL335 al pin de 3,3 V del pico.
    • Conecte el ADXL335 GND al pin GND del pico.
    • Conecte el ADXL335 X-OUT al pin GP26 (ADC0) de los picos.
    • Conecte el Y-OUT del ADXL335 al pin GP27 (ADC1) de los picos.
    • Conecte el ADXL335 Z-OUT al pin GP28 (ADC2) de los picos.

    Código micropython para usar el acelerómetro ADXL335 en una Raspberry Pico

    Puede usar cables de placa de pruebas y puentes para la conexión.


    Código micropython para leer valores de aceleración

    Aquí hay un código micropython de muestra para leer los valores de aceleración: es en la interfaz de los ejes x, y y z con ADXL335 y Raspberry de Pico.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    importación máquina

    importación Youtime

    # Pin analógico ADXL335 conectado al canal pico ADC.

    X_PIN = 26

    Y_PIN = 27

    Z_PIN = 28

    # Crear objetos ADC para cada eje

    adc_x = máquina.Teletipo(máquina.anclar(X_PIN))

    adc_y = máquina.Teletipo(máquina.anclar(Y_PIN))

    adc_z = máquina.Teletipo(máquina.anclar(Z_PIN))

    Def read_acceleration(Teletipo):

    # Leer los valores de ADC y convertirlos en voltaje

    voltaje = Teletipo.read_u16() * 3.3 / 65535

    # Convertir voltaje a aceleración (suponiendo una fuente de alimentación de 3.3V)

    aceleración = (voltaje – 1.65) / 0.330

    devolución aceleración

    mientras verdadero:

    # Lectura de valores de aceleración del ADXL335

    x = read_acceleration(adc_x)

    y = read_acceleration(adc_y)

    z = read_acceleration(adc_z)

    # Valores de aceleración de impresión

    Impresión(“X: {:.2f}g, Y: {:.2f}g, Z: {:.2f}g”.formato(x, y, z))

    # Espera un momento y lee de nuevo

    Youtime.dormir(0.1)

    Cuando carga este código en la Raspberry Pi Pico, el valor de aceleración se imprime en la pantalla.

    Acelerómetro ADXL335 e interfaz Raspberry Pico

    Debido a que la sensibilidad real del ADXL335 puede diferir del valor teórico utilizado en el código (0.330 V / g), es posible que se requiera la calibración del sensor para obtener resultados precisos.


    Código micropython para leer valores de ángulo de rotación

    Para calcular el ángulo de inclinación (cabeceo y balanceo) a partir del valor de aceleración, puede utilizar la siguiente fórmula:

    • pitch = atan(y / sqrt(x^2 + z^2))
    • rollo = atan(x / sqrt(y^2 + z^2))

    Se actualizó el código de MicroPython para ADXL335 y Raspberry Pi Pico para leer los valores de aceleración X, Y y Z y calcular los ángulos de cabeceo y balanceo.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    importación máquina

    importación Youtime

    importación matemáticas

    # Pin analógico ADXL335 conectado al canal pico ADC.

    X_PIN = 26

    Y_PIN = 27

    Z_PIN = 28

    # Crear objetos ADC para cada eje

    adc_x = máquina.Teletipo(máquina.anclar(X_PIN))

    adc_y = máquina.Teletipo(máquina.anclar(Y_PIN))

    adc_z = máquina.Teletipo(máquina.anclar(Z_PIN))

    Def read_acceleration(Teletipo):

    # Leer los valores de ADC y convertirlos en voltaje

    voltaje = Teletipo.read_u16() * 3.3 / 65535

    # Convertir voltaje a aceleración (suponiendo una fuente de alimentación de 3.3V)

    aceleración = (voltaje – 1.65) / 0.330

    devolución aceleración

    Def calculate_tilt_angles(x, y, z):

    alquitrán = matemáticas.Atan 2(y, matemáticas.cuadrado(x**2 + z**2))

    rodar = matemáticas.Atan 2(x, matemáticas.cuadrado(y**2 + z**2))

    # Convertir ángulo a grado

    alquitrán = matemáticas.grado(alquitrán)

    rodar = matemáticas.grado(rodar)

    devolución alquitrán, rodar

    mientras verdadero:

    # Lectura de valores de aceleración del ADXL335

    x = read_acceleration(adc_x)

    y = read_acceleration(adc_y)

    z = read_acceleration(adc_z)

    # Calcular el ángulo de pendiente

    alquitrán, rodar = calculate_tilt_angles(x, y, z)

    #加速度値と傾斜角度を印刷する

    Impresión(“X: {:.2f}g, Y: {:.2f}g, Z: {:.2f}g, Pitch: {:.2f}°, Roll: {:.2f}°”.formato(x, y, z, alquitrán, rodar))

    # Espera un momento y lee de nuevo

    Youtime.dormir(0.1)

    Cuando carga este código en su Raspberry Pi Pico, el valor de aceleración se imprime en la pantalla junto con los ángulos de cabeceo y balanceo.

    Acelerómetro ADXL335 e interfaz Raspberry Pico

    Tenga en cuenta que el ADXL335 es un acelerómetro de 3 ejes. Esto significa que se puede medir la aceleración a lo largo de los ejes X, Y y Z. Si bien puede proporcionar datos valiosos para muchas aplicaciones, no está diseñado para medir directamente los valores de guiñada.

    La guiñada es un movimiento de rotación alrededor del eje Z y generalmente se asocia con un cambio en el rumbo o la dirección. Para medir los valores de guiñada, generalmente se usa una combinación de sensores llamada giroscopio o unidad de medición inercial (IMU).

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email

    Entradas relacionadas

    circuito capacitivo de ca

    circuito inductivo ca

    ¿Cómo probar un diodo? Uso de multímetros analógicos y digitales (DMM)

    Entradas recientes
    ¿Qué es el campo magnético y cómo funciona?
    circuito capacitivo de ca
    circuito inductivo ca
    ¿Cómo probar un diodo? Uso de multímetros analógicos y digitales (DMM)
    Noticias industrial
    ¿Qué es el campo magnético y cómo funciona?
    circuito capacitivo de ca
    circuito inductivo ca
    ¿Cómo probar un diodo? Uso de multímetros analógicos y digitales (DMM)
    Facebook YouTube LinkedIn
    © 2025 Hecho con ♥ desde México

    Type above and press Enter to search. Press Esc to cancel.

    Ir a la versión móvil