Een PIR sensor kun je gebruiken om de nabijheid van iemand te detecteren. Dit kan bijvoorbeeld handig zijn om een lamp automatisch te schakelen.

Een PIR sensor kun je heel eenvoudig met een Arduino controleren. In principe is een PIR nl. niets anders een digitale output die afhankelijk of iets gedetecteerd wordt hoog (gedecteerd) of laag (niets gedetecteerd) zal zijn. Zoals gebruikelijk maak ik weer gebruik van een NodeMCU ESP8266 module om de PIR uit te lezen.

Benodigheden

1 x Mini Solderless Breadboard 400 Contacts (US$ 1,42)
1 x NodeMCU Lua ESP8266 CP2102 module (US$ 3,79)
1 x PIR Motion Sensor Detector Module HC-SR501 (US$ 0,99)





Aansluiten

Het aansluiten is heel eenvoudig als je de pin-aansluitingen van je NodeMCU ESP8266 weet:



Verbind de volgende pins (PIR – NodeMCU):
GND – GND
Vcc – Vin
OUT – D5



Programmeren

Voor het programmeren van de NodeMCU gebruiken we de Arduino IDE software die je hier kunt downloaden. Voordat we aan de slag gaan moeten we nog wat instellingen in de Arduino IDE veranderen. Vul bij ‘File > Preferences’ voor ‘Additional Boards Manager URLs’ de volgende waarde in:



Ga naar Open Boards Manager vanaf ‘Tools > Board’. Scroll naar beneden en selecteer ‘esp8266 by ESP8266 Community’. Kies nu ‘install’.



We zijn nu klaar om eindelijk te gaan programmeren. Om de PIR uit te lezen kun je onderstaande code gebruiken. Lees vooral het commentaar zodat je hiermee zelf aan de slag kunt gaan. Ik gebruik in de code hieronder de Serial Monitor van de Arduino IDE om detectie te loggen. Je zou dit bijvoorbeeld zelf kunnen veranderen om een Relay aan te sturen voor een lamp voor een bepaalde tijd.

Je kunt eventueel nog de gevoeligheid en vertraging op de PIR module zelf configureren:




Laat jij in het commentaar eens weten waarvoor jij een PIR module gebruikt?