Stap 6: Pi Servo Driver verbindingen
De Pi kan worden gebruikt om rechtstreeks schijf van de servo's, maar dit is niet eenvoudig. Er is een speciaal PWM-kanaal, maar we moeten 4. Het kan in software worden vervalst, maar nogmaals, dit is niet de makkelijkste om te doen. Als een computer, is de Pi veel beter op hoger niveau verwerken dan low-level controle. U kunt zeker een PWM-stuurprogramma voor deze stap, maar ik ben met behulp van dit 16 kanaal, 12 bits stuurprogramma vorm Adafruit. Ja, het is overkill, en ja, het is gemakkelijk genoeg om te programmeren van een ATtiny24 tot 4 servo's bevelhebber tijdens de communicatie op de I2C-bus. Ik moedig u aan uw eigen maken, maar dat valt buiten het bestek van deze gids!
Er zijn tal van online tutorials om te beginnen met dit bord, en je moet een paar extra broncode-bestanden. Deze zijn te vinden in de Pi Repertorium op de geldende de source code repository - zal de bestanden met de naam "Adafruit..." vertellen de Pi hoe om te praten met het PWM-stuurprogramma.
Aansluiten van de Pi op het bord is eenvoudig. De Pi's I2C lijnen zijn te vinden op pin 3 en 5, maar u moet ook de I2C communicatiekanaal inschakelen als u dit niet al hebben gedaan. Één belangrijke input pin heet "OE." Dit is een actieve-laag "output enable" pin. De servo's zal alleen worden ingeschakeld wanneer deze pin wordt laag gehouden. Worden kan aangesloten rechtstreeks op de grond, of gedreven vanuit een ander van de Pi's IO pinnen. In dit project, ben ik het eigenlijk rijden vanaf het ATmega328p matrix driver circuit die ook met de R Pi met behulp van de I2C data lijnen verbindt.
In het diagram is een servo aangesloten op kanaal 1 van de PWM-stuurprogramma. In het project, de servo's instellen als volgt:
- Kanaal 0 is links Yaw (Pan)
- Kanaal 1 is links Pitch (Tilt)
- Kanaal 2 is recht Yaw (Pan)
- Kanaal 3 is recht Pitch (Tilt)