Servomotorer kan användas till mycket. I Bygg en tärning används en sådan motor för att slå en tärning. I roboten på bilden används två servomotorer per ben för att styra hur roboten ska gå (eller vinka).
Arduino-baserad robot med två servomotorer per ben.
En servomotor är en liten motor som kan vridas ett bestämt antal grader. Servomotorer skiljer sig från varandra när det gäller hur många grader de kan vridas och hur mycket de orkar dra. Servomotorn som följer med i bokens tillhörande komponentkit orkar dra upp till 800 g och kan vridas upp till 180°.
I följande exempel vill vi styra hur en servomotor ska vridas med hjälp av en potentiometer. Vi kopplar servomotorn till GPIO-stift 9 och potentiometern till analog ingång nummer 0.
Obs! Vi måste bryta av tre stift från stiftlisten för att kunna koppla servomotorn till kopplingsplattan (i och med att både kopplingsplattan och servomotorn har honkopplingar).
I själva sketchen börjar vi med att inkludera biblioteket för servomotorer. Till skillnad från Button-biblioteket är Servo-biblioteket förinstallerat i utvecklingsmiljön. Det räcker därför med att skriva följande kodsnutt (där vi också skapar ett nytt servoobjekt vid namn pointer).
// Include the servo library #include <Servo.h> // Create a new servo object Servo pointer;
Beroende på hur vi vrider potentiometern kommer vi att få ett värde mellan 0 och 1023 från den analoga ingången. Vi måste räkna om den skalan så att den motsvarar vridningen av servomotorn, det vill säga 0 till 180. Lyckligtvis finns det en smidig funktion vid namn map som vi kan använda för detta. Genom att anropa den kan vi anpassa skalan 0-1023 till 0-180.
Map-funktionen används på följande sätt.
map(värde, ursprungs-min, ursprungs-max, nytt min, nytt max);
Den färdiga sketchen ser ut på följande vis.
ServoReadPot.ino
Som medlem hos oss får du alltid lite mer. Som till exempel låga medlemspriser, unika kampanjer, 100 dagars öppet köp och bonuscheckar. Dessutom sparas alla dina köp i ditt medlemskap så att du slipper spara papperskvitton för eventuella returer. Ditt medlemskap är helt digitalt och helt kortlöst. Och väldigt smidigt.
Läs mer