High-Performance Arduino-bibliotheek voor DC-motorbesturing
Onderdelen en benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino UNO | 1 |
| Algemene NPN-transistor | 2 |
| Algemene PNP-transistor | 2 |
| Weerstand 1k ohm | 2 |
| 1N4007 Diode (hoge spanning/stroom) | 4 |
Apps en online diensten
- Arduino IDE
Over dit project

Deze bibliotheek biedt industriële bewegingscontrole voor DC-motoren met 16 functies voor veelzijdige besturing:
- Richting bepalen (vooruit/achteruit)
- Snelheid instellen (0–100%)
- Soft start: geleidelijke opstart in ingestelde tijd
- Smooth stop: geleidelijke stop in ingestelde tijd
- Jog control: korte ruk in opgegeven richting
- DC-brake: directe noodstop (vereist geschikte hardware/dynamische remweerstanden)
De eerste 8 functies bieden basiscontrole zonder snelheidsregeling. De volgende 8 vereisen PWM-pins (initialiseren met speed_flag=1).
Bibliotheekfuncties overzicht
| Functie | Beschrijving |
|---|---|
DC_Motor(int pin1, int pin2) | Declareert Arduino-pins voor motor (geen snelheidscontrole) |
DC_Motor(int pin1, int pin2, int speed_flag) | Declareert PWM-pins voor motor (met snelheidscontrole) |
start_motor(int dir) | Start motor in richting (1=vooruit, 0=achteruit) |
forward() | Start motor vooruit |
reverse() | Start motor achteruit |
dc_break() | Directe stop (alleen met geschikte hardware) |
stop_motor() | Stopt motor |
jogg_full_speed(int dir) | Ruk voor 5 seconden op volle snelheid |
set_speed(int speed) | Stelt snelheid in (0–100%) |
forward_with_set_speed() | Draait vooruit op ingestelde snelheid |
reverse_with_set_speed() | Draait achteruit op ingestelde snelheid |
run_motor(int dir, int speed) | Draait in richting met snelheid |
jogg_set_speed(int dir, int speed) | Ruk in richting met ingestelde snelheid |
motor_speed_zero() | Verlaagt snelheid naar 0 (analoge uitgang) |
soft_start(int dir, int speed, int time_sec) | Zachte start: 0 → snelheid in seconden |
smooth_stop(int time_sec) | Zachte stop: huidige snelheid → 0 in seconden |
Let op: bij snelheidscontrole stop_motor() niet gebruiken, maar motor_speed_zero().
Voorbeelden
1. Motor vooruit/achteruit op volle snelheid (geen snelheidscontrole)
#include
DC_Motor motor(8, 12);
void setup() {}
void loop() {
motor.forward(); delay(5000);
motor.stop_motor(); delay(2000);
motor.reverse(); delay(5000);
motor.stop_motor(); delay(2000);
}
2. Motor met snelheidscontrole
#include
DC_Motor motor2(9, 10, 1); // PWM-pins + speed_flag
void setup() {}
void loop() {
motor2.set_speed(40);
motor2.forward_with_set_speed(); delay(5000);
motor2.motor_speed_zero(); delay(2000);
motor2.set_speed(80);
motor2.reverse_with_set_speed(); delay(5000);
motor2.motor_speed_zero(); delay(2000);
}
3. Jog-commando's met en zonder snelheidscontrole
#include
DC_Motor motor(8, 12);
DC_Motor motor2(9, 10, 1);
void setup() {}
void loop() {
motor.jogg_full_speed(1);
motor.jogg_full_speed(0);
motor2.jogg_set_speed(0, 80);
motor2.jogg_set_speed(1, 30);
}
4. Soft start en smooth stop
#include
DC_Motor motor2(9, 10, 1);
void setup() {}
void loop() {
motor2.soft_start(1, 90, 10); // 0→90% in 10s vooruit
delay(3000);
motor2.smooth_stop(5); // 90%→0 in 5s
motor2.soft_start(0, 50, 6); // 0→50% in 6s achteruit
delay(3000);
motor2.smooth_stop(3); // 50%→0 in 3s
}
Code
De bibliotheek (DC_Motor.h / DC_Motor.cpp) is een C-headerbestand. Kopieer de map DC_Motor naar je Arduino libraries-map (bijv. C:\arduino-1.6.7\libraries).
Schema's

Gebruik een H-brugschakeling (zoals getoond) voor correcte motorbesturing.
Productieproces
- Sensor-gestuurde Audio-effecten Bouwen met de Satellite CCRMA Kit
- Bouw je eigen DIY huiswerk-schrijfmachine thuis
- Arduino Uno Gebaseerde Mensendetectie Robot: Stap-voor-stap Sensorintegratie
- Uitgebreide bibliotheek voor bipolaire stappenmotoren met Arduino
- Bouw een Android-bestuurd extern voertuig met Raspberry Pi Motor Shield
- Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
- Bouw Een Autonome Lijnvolgende Robot Met Arduino UNO
- Bestuur Je Roomba Create 2 Met Arduino En Android: Stapsgewijze Handleiding
- Arduino & MPU6050: Precieze Servomotor Besturing met SG90 & MG996R
- Naadloze LED-dimmer met Bolt IoT en Arduino UNO
- Slim Indoor Navigatie Robot Kit voor Arduino Projecten