es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Controlador de motor controlador HAT Waveshare con C#

Soy muy nuevo en esto. Así que si alguien puede ayudar, será genial. Estoy intentando controlar el controlador de motor HAT de Waveshare con C# a través de i2c desde mi Raspberry Pi 4b. Instalé el paquete NuGet Iot.Device.MotorHat e intenté este ejemplo, pero el resultado es un valor inesperado del ciclo de actividad (9766, 10280).

Imagen: aquí

Esta es la dirección i2c.

Imagen: aquí

Esta es mi clase.

using Iot.Device.MotorHat;
using System.Collections.Generic;
using System.Device.I2c;

namespace projectV2
{
    public class DCMotorController : BaseClass
    {
        public void StartMotor()
        {
            using (var motorHat = new MotorHat(200, 0x40))
            {
                var motor = motorHat.CreateDCMotor(1);

                motor.Speed = 1;
            }
        }

        public void StopMotor()
        {
            using (var motorHat = new MotorHat(200, 0x40))
            {
                var motor = motorHat.CreateDCMotor(1);

                motor.Speed = 0;
            }
        }
    }
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Basado en el mensaje de error “Valor inesperado del ciclo de trabajo (9766, 10280)”, parece que puede haber un problema con el valor que se pasa como ciclo de trabajo. Esto podría deberse a un cableado incorrecto, una dirección I2C incorrecta o un problema con el MotorHat en sí.

    Aquí hay algunas cosas que puedes intentar para solucionar el problema:

    1. Asegúrate de que el MotorHat esté correctamente cableado al Raspberry Pi. Verifica que los pines SDA y SCL estén conectados correctamente.
    2. Comprueba que la dirección I2C para el MotorHat sea correcta. Según la imagen que proporcionaste, parece que la dirección es “0x40”, que es lo que tienes en tu código.

    3. Intenta ejecutar algunas herramientas de diagnóstico I2C en el Raspberry Pi para ver si hay algún problema con el bus I2C. Puedes intentar instalar el paquete “i2c-tools” y usar el comando “i2cdetect” para ver si el MotorHat está siendo detectado correctamente.

    4. Intenta ejecutar algún código de ejemplo utilizando el paquete “Iot.Device.MotorHat” para ver si hay algún problema con la biblioteca en sí.

    5. Verifica si hay alguna actualización de firmware para el Raspberry Pi o el MotorHat que pueda solucionar problemas conocidos.

    Esperemos que uno de estos pasos te ayude a identificar y resolver el problema que estás teniendo para controlar el MotorHat utilizando C# e I2C en tu Raspberry Pi. ¡Buena suerte!

Comments are closed.