IoT rörelse kontrollerad servon (6 / 10 steg)
Steg 6: Pi till Servo Driver anslutningar
Pi kan användas för att direkt driva servon, men detta är inte lätt. Det finns en dedikerad PWM kanal, men vi behöver 4. Det kan vara falsk i programvara, men återigen, detta är inte det lättaste att göra. Att vara en dator, är Pi mycket bättre på högre nivå bearbetning än lågnivåkontroll. Du kan säkert använda någon PWM drivrutin för detta steg, men jag använder denna 16 kanal, 12 bit föraren form Adafruit. Ja, det är overkill, och ja, det är lätt att programmera en ATtiny24 att befalla 4 servon vid kommunikation på I2C bussen. Jag uppmuntrar dig att skapa dina egna, men det är utanför omfånget för denna guide!
Det finns gott om online tutorials att komma igång med detta forum, och du behöver några ytterligare källkodsfiler. Dessa kan hittas i Pi katalog med källa koden databasen - berättar filerna "Adafruit..." Pi hur man talar med PWM föraren.
Det är lätt att ansluta Pi till styrelsen. Pi: s I2C linjer finns på stift 3 och 5, men du måste också aktivera I2C kommunikationskanalen om du inte gjort det redan. En viktig ingångsstift är märkt "OE." Detta är en aktiv-low "output enable" PIN-kod. Servon aktiveras endast när detta stift hålls låg. Den kan kopplas direkt till marken, eller drivs från en annan av Pi: s IO pinnar. I detta projekt kör jag faktiskt det från ATmega328p matrix styrkrets som också förbinder till R Pi med I2C data rader.
I diagrammet, är en servo knuten till kanal 1 av PWM-drivrutinen. I projektet, ställa in servon som så:
- Kanal 0 är vänster Yaw (Pan)
- Kanal 1 är vänster Pitch (lutning)
- Kanal 2 är rätt Yaw (Pan)
- Kanal 3 är rätt tonhöjd (lutning)