Arduino - Touch Sensor - Servo Motor
We leren hoe u een Arduino en een touch sensor schakelaar gebruikt om een servo motor aan te sturen. In detail:
- Als de touch sensor wordt aangeraakt, draait de Arduino de servo motor naar 90 graden
- Als de touch sensor opnieuw wordt aangeraakt, draait de Arduino de servo motor terug naar 0 graden.
Dit proces wordt herhaald.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.
Over Servo Motor en Touch Sensor
Als u nog niet bekend bent met servo motor en touch sensor (pinout, werking, programmeren ...), leer er meer over in de volgende tutorials:
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Arduino Code - Touch Sensor bestuurt Servo Motor
/*
* Deze Arduino code is ontwikkeld door newbiely.nl
* Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld.
* Voor volledige instructies en schema's, bezoek:
* https://newbiely.nl/tutorials/arduino/arduino-touch-sensor-servo-motor
*/
#include <Servo.h>
// constants won't change
const int TOUCH_SENSOR_PIN = 7; // Arduino pin connected to touch sensor's pin
const int SERVO_PIN = 9; // Arduino pin connected to servo motor's pin
Servo servo; // create servo object to control a servo
// variables will change:
int angle = 0; // the current angle of servo motor
int lastTouchState; // the previous state of touch sensor
int currentTouchState; // the current state of touch sensor
void setup() {
Serial.begin(9600); // initialize serial
pinMode(TOUCH_SENSOR_PIN, INPUT); // set arduino pin to input mode
servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object
servo.write(angle);
currentTouchState = digitalRead(TOUCH_SENSOR_PIN);
}
void loop() {
lastTouchState = currentTouchState; // save the last state
currentTouchState = digitalRead(TOUCH_SENSOR_PIN); // read new state
if(lastTouchState == LOW && currentTouchState == HIGH) {
Serial.println("The sensor is touched");
// change angle of servo motor
if(angle == 0)
angle = 90;
else
if(angle == 90)
angle = 0;
// control servo motor arccoding to the angle
servo.write(angle);
}
}
Snelle Stappen
- Verbind de Arduino met de PC via USB-kabel
- Open de Arduino IDE, selecteer het juiste board en de juiste poort
- Kopieer de bovenstaande code en open deze met de Arduino IDE
- Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino te uploaden
- Raak de touch sensor meerdere keren aan
- Kijk naar de beweging van de servo motor
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap.