# Werken met servomotoren

**Wat is een Servomotor?**

- Een servomotor is een motor die een bepaalde hoekpositie kan aannemen, meestal tussen 0° en 180°.
- Hij bevat een motor, een tandwielstelsel, een potentiometer en een besturingscircuit.

**Aansluiten van een Servomotor:**

1. **Componenten**: Servomotor (bijv. SG90), Arduino, breadboard, jumper wires.
2. **Draden van de servo**:
    
    
    - **Rood**: Voedingsspanning (meestal 5V).
    - **Bruin of Zwart**: Aarde (GND).
    - **Geel, Oranje of Wit**: Signaal (PWM-besturingssignaal).
3. **Aansluiting**:
    
    
    - Verbind de **rode draad** met de 5V pin van de Arduino.
    - Verbind de **bruine/zwart draad** met GND.
    - Verbind de **geel/oranje/witte draad** met digitale pin 9 (PWM pin).

**Let op:** Sommige servomotoren kunnen meer stroom trekken dan de Arduino kan leveren. Voor dit voorbeeld is het veilig, maar voor grotere servo's moet je een externe voeding gebruiken.

### De Servo Bibliotheek

- Arduino heeft een ingebouwde **Servo** bibliotheek die het eenvoudig maakt om servomotoren aan te sturen.
- De bibliotheek zorgt voor de juiste timing van de PWM-signalen die nodig zijn om de servo te besturen.

**Toevoegen van de Servo Bibliotheek:**

- Ga in de Arduino IDE naar **Schets &gt; Bibliotheek gebruiken &gt; Servo** of voeg `#include <Servo.h>` toe aan je code.

### Code om de Servomotor te Besturen

**Basiscode om de servo te bewegen:**

```c++
#include <Servo.h>

Servo mijnServo;  // Maak een Servo object aan

void setup() {
  mijnServo.attach(9);  // Verbind de servo met pin 9
}

void loop() {
  mijnServo.write(0);    // Beweeg naar 0 graden
  delay(1000);           // Wacht 1 seconde
  mijnServo.write(90);   // Beweeg naar 90 graden
  delay(1000);
  mijnServo.write(180);  // Beweeg naar 180 graden
  delay(1000);
}
```

**Uitleg van de Code:**

- `#include <Servo.h>`: Voegt de Servo bibliotheek toe.
- `Servo mijnServo;`: Maakt een nieuw Servo object.
- `mijnServo.attach(9);`: Verbindt het Servo object met pin 9.
- `mijnServo.write(hoek);`: Stuurt de servo naar de opgegeven hoek (0° - 180°).