Paso 6: Pi a las conexiones de controlador de Servo
El Pi puede utilizarse directamente para servos, pero esto no es fácil. Hay un canal dedicado de PWM, pero necesitamos 4. Puede ser trucada en el software, pero de nuevo, esto no es lo más fácil de hacer. Ser un equipo, el Pi es mucho mejor en el nivel superior de procesamiento de control de bajo nivel. Desde luego, puede utilizar cualquier controlador PWM para este paso, pero estoy usando este canal 16, forma de 12 bits controlador Adafruit. Sí, es excesivo, y sí, es bastante fácil programar una ATtiny24 para 4 servos durante la comunicación en el bus I2C. Os animo a crear tus propios, pero que está fuera del alcance de esta guía.
Hay un montón de tutoriales en línea para comenzar con esta tabla, y usted necesitará algunos archivos de código fuente adicional. Estos pueden encontrarse en el directorio del repositorio de código fuente de Pi - los archivos llamados "Adafruit..." dirá el Pi como hablar con el controlador PWM.
Es fácil conectar la Pi a la Junta. Líneas de I2C de Pi se encuentran en pines 3 y 5, pero es también necesario activar el canal de comunicación I2C si no lo ha hecho ya. Una clavija de entrada importante es etiquetado como "OE". Este es un pin de "output enable" baja activa. Los servos se activará sólo cuando este pin se mantiene baja. Puede ser conectado directamente a tierra, o expulsado de otro de pins de IO de la Pi. En este proyecto, yo estoy realmente conducirlo desde el circuito de controlador de matriz de ATmega328p que también conecta a la Pi R utilizando las líneas de datos I2C.
En el diagrama, un servo está conectado al canal 1 del controlador PWM. En el proyecto, establecer los servos como tal:
- Canal 0 es izquierda guiñada (Pan)
- Canal 1 es izquierda echada (inclinación)
- Canal 2 es desvío de derecha (Pan)
- Canal 3 es derecha echada (inclinación)