webwinkelkeur logo

4.7 gem.

5119+ beoordelingen
webwinkelkeur logoBekijk alles

5119+ beoordelingen

5119+ beoordelingen

Bestel voor 16:00 voor dezelfde dag verzending

14 dagen retour

NL

Particulier

Zakelijk

Arduino Introductie: Servo Control

Beginner
10 Min
28,85

Wil jij een servo gebruiken maar weet je niet hoe? In dit project zal ik je alles vertellen over wat je moet weten over servomotoren!

Een servomotor is een motor die met behulp van tandwielen een precieze beweging kan maken. Dit gebeurd door middel van het stuursignaal wat hij binnen krijgt te vergelijken met het referentiesignaal. Als deze niet gelijk aan elkaar zijn dan zal de servomotor naar links of naar rechts bewegen totdat het verschilsignaal nul is.

Nu je weet wat een servo is kan je verder gaan met het bedraden en programmeren.

Bouwen en Bedraden

Het bedraden van dit projectje is vrij simpel.

De 5V gaat naar de rode kabel van de servo, de ground gaat naar de bruine kabel van de servo en de PWM pin 9 gaat naar de gele draad van de servo. Nu heb je alles aangesloten.

Programmeren

#include <Servo.h>  //bibliotheek invoegen
Servo myservo1; //Naam geven aan de servo
int pos = 0;  //Variable maken voor de positie
void setup()
{
   Serial.begin(9600);  //Seriele monitor starten voor communicatie
   while (!Serial);
   
   delay(1000);
   myservo1.attach(9);  //Vertellen waar de servo zit aangesloten
   
   Serial.println(“Servo kalibreren”);
   for(pos = 0; pos <= 180; pos += 1)
   myservo1.write(0); //Servo met de klok mee laten draaien (uiterste rechter punt zoeken)
   delay(1000);
   myservo1.write(180); //Servo tegen de klok in laten draaien (uiterste linker punt zoeken)
   delay(1000);
   myservo1.write(90);  //Servo stil zetten op linker punt / 180 graden
   delay(1000);
   Serial.println(“Servo gekalibreerd”);
   Serial.println(“————————-“);
   Serial.println(“Type het aantal graden waar je de servo naartoe wilt laten gaan. (1-180)”);
   Serial.println(“————————-“);
}
void loop()
{
   if (Serial.available())
   {
   int state = Serial.parseInt();    //Seriele inpunt lezen.
      if (state >= 1 && state < 181) //Als de Seriele inpunt tussen de 1 en 181 ligt dan zal hij de motor daar naartoe bewegen.
      {
        Serial.println(state);
        myservo1.write(state);
      }
   }
}

Seriële inputs geven

Om de servo te kunnen bedienen moet je de seriële monitor openen. Hierin staat uitgelegd wat je moet opgeven om de servo te bewegen.