Arduino - Bewegingssensor - LED

We gaan leren hoe u met Arduino een LED aan en uit kunt schakelen op basis van bewegingsdetectie door de HC-SR501 bewegingssensor:

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×HC-SR501 Bewegingssensor
1×LED Kit
1×LED (red)
1×220 ohm weerstand
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingskabels)
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 LED en Bewegingssensor

Als u niet bekend bent met LED en bewegingssensor (pinout, werking, programmeren ...), leer er dan meer over in de volgende tutorials:

Aansluitschema

Arduino Bewegingssensor LED Aansluitschema

This image is created using Fritzing. Click to enlarge image

Initiële Instelling

Time Delay AdjusterDraai deze volledig tegen de klok in.
Detection Range AdjusterDraai deze volledig met de klok mee.
Repeat Trigger SelectorPlaats de jumper zoals te zien op de afbeelding.
arduino bewegingssensor initiële instelling

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-led */ const int MOTION_SENSOR_PIN = 7; // Arduino pin connected to the OUTPUT pin of motion sensor const int LED_PIN = 3; // Arduino pin connected to LED's pin 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(LED_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(LED_PIN, HIGH); // turn on } else if (motionStatePrevious == HIGH && motionStateCurrent == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); digitalWrite(LED_PIN, LOW); // turn off } }

Snelle Stappen

  • Verbind de Arduino met de pc via de USB-kabel
  • 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 naar de Arduino te uploaden
Arduino IDE Code Uploaden
  • Beweeg uw hand voor de sensor
  • Zie hoe de LED status verandert

Code Uitleg

Lees de uitleg regel voor regel 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!