Arduino - Bewegingssensor - Relais
We gaan leren hoe u:
- Het relais inschakelt wanneer beweging wordt gedetecteerd
- Het relais uitschakelt wanneer er geen beweging wordt gedetecteerd
Door het relais aan te sluiten op een gloeilamp, led-strip, motor of actuator... kunnen we met de bewegingssensor deze apparaten bedienen.
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 Relais en Bewegingssensor
Als u nog niet weet hoe een relais en bewegingssensor werken (pinout, functionaliteit, programmeren ...), leer er dan meer over in de volgende tutorials:
Bedradingsschema

This image is created using Fritzing. Click to enlarge image
Initiële Instellingen
| Time Delay Adjuster | Draai deze volledig tegen de klok in om de tijdvertraging aan te passen. |
| Detection Range Adjuster | Draai deze volledig met de klok mee om het detectiebereik te vergroten. |
| Repeat Trigger Selector | Plaats de jumper zoals te zien is op de afbeelding. |

Arduino Code
/*
* 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-motion-sensor-relay
*/
const int MOTION_SENSOR_PIN = 7; // Arduino pin connected to the OUTPUT pin of motion sensor
const int RELAY_PIN = A5; // Arduino pin connected to the IN pin of relay
int motionStateCurrent = LOW; // current state of motion sensor's pin
int motionStatePrevious = LOW; // previous state of motion sensor's pin
void setup() {
Serial.begin(9600); // initialize serial
pinMode(MOTION_SENSOR_PIN, INPUT); // set arduino pin to input mode
pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode
}
void loop() {
motionStatePrevious = motionStateCurrent; // store old state
motionStateCurrent = digitalRead(MOTION_SENSOR_PIN); // read new state
if (motionStatePrevious == LOW && motionStateCurrent == HIGH) { // pin state change: LOW -> HIGH
Serial.println("Motion detected!");
digitalWrite(RELAY_PIN, HIGH); // turn on
}
else
if (motionStatePrevious == HIGH && motionStateCurrent == LOW) { // pin state change: HIGH -> LOW
Serial.println("Motion stopped!");
digitalWrite(RELAY_PIN, LOW); // turn off
}
}
Snelle Stappen
- Verbind de Arduino via de USB-kabel met de PC
- Open de Arduino IDE, selecteer het juiste board en de juiste poort
- Kopieer de bovenstaande code en open deze in de Arduino IDE
- Klik op de Upload-knop in de Arduino IDE om de code te uploaden naar de Arduino

- Beweeg uw hand voor de sensor
- Observeer de verandering in de staat van het relais
Code Uitleg
Lees de regel-voor-regel uitleg in de commentaarregels van de broncode!
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.