Je leert hoe je een servo motor kunt aansturen met een LDR (lichtsensor). Hierdoor kun je de positie van de servo bepalen tussen 0 en 180 graden afhankelijk van de hoeveelheid licht.
1 Arduino UNO
1 Servo motor
1 LDR (lichtgevoelige weerstand)
1 Weerstand van 10kΩ (voor spanningsdeler met LDR)
Jumper wires
Breadboard
1. Maak een spanningsdeler met de LDR en een 10kΩ weerstand:
2. Verbind één kant van de LDR met 5V.
3. Verbind de andere kant van de LDR met een vrije rij op het breadboard.
4. Verbind deze rij ook met een 10kΩ weerstand naar GND.
5. Verbind deze rij daarnaast met A0 van de Arduino.
6. Verbind de servo signaaldraad met pin 9 van de Arduino.
7. Verbind de voedingsdraad van de servo met 5V en de GND met GND van de Arduino.
Klik op de Code-knop , kopieer en plakt onderstaande code in Tinkercad
#include <Servo.h> // Bibliotheek om servo eenvoudig aan te sturen
Servo myservo; // Maak een servo-object aan
int ldrPin = A0; // LDR is verbonden met analoge pin A0
int ldrValue; // Variabele om de LDR-waarde op te slaan
int hoek; // Variabele voor de hoek van de servo
void setup() {
myservo.attach(9); // Verbind de servo met pin 9
Serial.begin(9600); // Start seriële monitor voor uitlezen van waardes
}
void loop() {
ldrValue = analogRead(ldrPin); // Lees de waarde van de LDR (0-1023)
// Zet de LDR-waarde om van 0-1023 naar 0-180 graden
hoek = map(ldrValue, 0, 1023, 0, 180);
myservo.write(hoek); // Stuur de servo naar de berekende hoek
// Toon de gemeten waarde en hoek op de seriële monitor
Serial.print("LDR waarde: ");
Serial.print(ldrValue);
Serial.print(" => Servo hoek: ");
Serial.println(hoek);
delay(200); // Wacht even voor stabiliteit
}
1. Klik op Start simulatie.
2. Verander de hoeveelheid licht op de LDR en kijk hoe de servo beweegt.
Klik op de knop vragen om de vragen te beantwoorden.
- Laat het resultaat zien aan je docent.
- Sla je ontwerp op in Tinkercad : Les 7.3: Bestuur een servo met een LDR.