Arduino - Bewegingssensor - Relais

We gaan leren hoe u:

Door het relais aan te sluiten op een gloeilamp, led-strip, motor of actuator... kunnen we met de bewegingssensor deze apparaten bedienen.

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×HC-SR501 Bewegingssensor
1×Relais
1×Jumper draden
1×(Optioneel) Solenoïde slot
1×(Optioneel) 12V voedingsadapter
1×(Optioneel) DC voedingscontact
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

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

Arduino Bewegingssensor Relais 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 motion sensor initial setting

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
Arduino IDE Upload Code
  • 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.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!