Styr ett servo

Servomotor

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). 

25-1_1.png

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°.

Styrning av servomotor

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. 

25-2_1.png

Illustration gjord med komponenter från Fritzing (fritzing.org). CC BY-SA 3.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. 

25-2_2.png

Map-funktionen anpassar skalan.

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

Senast ändrad: 2017-01-24
ServomotorStyrning av servomotor
Få mer. Bli medlem!

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
Medlem i trygg e-handel
KUNSKAP OCH TILLBEHÖR TILL HEMELEKTRONIK© Copyright 2024 Kjell & Company
Det verkar som att du använder en gammal webbläsare, det kan göra att allt inte fungerar eller ser ut som det borde.