Bewegingssensoren
De belangrijkste bewegingssensoren werken met infrarood of met radarsignalen. Deze goedkope sensoren werken erg goed.
Passief infrarood (PIR)
PIR sensor
PIR sensors herken je aan het witte, bolvormige kapje waar je een soort honingraat doorheen ziet schijnen. Dat kapje zorgt ervoor dat licht van alle kanten op de sensor valt waardoor het bereik veel groter wordt dan zonder het kapje. Het woord passief geeft aan dat de sensor zelf geen infrarood licht uitzendt. De sensor zelf zit in het midden onder het kapje. Deze reageert op het infrarood dat warme voorwerpen, inclusief mensen uitzenden. De sensor heeft twee gevoelige plaatsen (in elke helft een). Achtergrondstraling komt op de beide helften terecht en middelt uit. Zodra er beweging is zal er een verschil zijn tussen de straling op de twee helften en geeft de sensor een signaal.
Er zijn nogal wat varianten van deze sensor in de handel, dus moet je goed opletten hoe je ze aansluit. Meestal is dat van voren gezien: VCC, signaal en GND, maar bij mijn sensor was het precies andersom. De aanduidingen waren bij mijn sensor verstopt onder het witte bolletje. Als je de PIR verkeerd aansluit dan zal hij meestal niet kapot gaan, maar hij werkt dan niet. Dit type sensor heeft twee instelbare weerstanden. Met de linkse (zie foto) regel je de gevoeligheid en met de tweede hoe lang het signaal hoog blijft en na hoeveel tijd de sensor dus weer te gebruiken is. Het best kun je beide zo ver mogelijk tegen de klok in draaien. Daarnaast is er een jumper, die je - bij gebruik van een Arduino - het best op de buitenste twee pinnen kunt zetten. Het testen van de sensor op een bureau is lastig. Hang de sensor ergens neer, en wacht tot het ledje uit is. Beweeg nu (eventueel alleen je hand) in de richting van de sensor. Hij zal nu direct regeren. Je moet vervolgens weer even wachten voor de pir de volgende beweging detecteert. Het beste gebruik je deze sensor om te detecteren of iemand een kamer binnenkomt. Om te detecteren of en karretje ergens tegen botst is hij niet geschikt. Je kunt de PIR ook zonder Arduino gebruiken, bijvoorbeeld op batterijen. Als je grote vermogens of hoge spanningen wilt gebruiken dan moet je een relais gebuiken.
PIR Arduino sketch
Sluit VCC en GND aan, als dat er geen bijschriften te zien zijn, zoals bij mij, dan moet je voorzichtig het witte kapje demonteren. Sluit de middelste signaalpin aan op een vrije pin van je Arduino (in het voorneeld pin D2). Zet zonodig in #define pir 2
het door jou gebruikte nummer. Gebruik de interne led op pin 13 of sluit daar een extra led op aan. Onderstaande code is bedoeld om de pir te testen; op internet kun je veel geavanceerdere programma's vinden. Ik heb de pir ook getest met de de Arduino Pro Micro; als je deze gebruikt dan is 17 de standaard ledpin en moet je in de twee digitalWrite functies HIGH en LOW omwisselen.
#define pir 2 // De uitgang van de pir komt op pin D2
#define led 13
void setup() {
pinMode(pir, INPUT_PULLUP); // PULLUP is nodig voor sommige pirs
pinMode(led, OUTPUT);
}
void loop() {
if (digitalRead(pir) == HIGH) digitalWrite(led, HIGH);
else digitalWrite(led, LOW);
}
Radar
Links: de RCWL-0516
Rechts: de XYC-WB-DC
De beste radar sensor die ik ken is de RCWL-0516. Je kunt er lampen mee aan- of uitzetten en je kunt deze sensor uitbreiden met een lichtmeter zodat hij alleen schakelt als het donker is, maar dat laatste heb ik niet getest. Voor gebruik als bewegingssensor werkt hij vrijwel hetzelfde als een PIR, maar hij heeft een aantal voordelen. Hij is niet gevoelig voor bewegende voorwerpen, tenzij daar water in zit (dus detecteert hij ook bewegende mensen). Net als andere radar sensoren is hij vrijwel onafhankelijk van de hoek waaronder het object beweegt. Ze kunnen tot een afstand van ca. 4 meter kleine menselijke bewegingen detecteren. Deze radar kan door glas heen zien en ook door vrij dik hout. Voor gebruik als uitsluitend bewegingsmelder heb je alleen de pinnen GND, VIN en OUT nodig. 3V3 is een 3,3 volt uitgang, daar moet je dus geen spanning op aansluiten. VIN moet inliggen tussen 4 en 28 volt. Op CDS kun je eventueel een signaal aansluiten, bijvoorbeeld afkomstig van een licht sensor, waardoor de sensor niet aan gaat (< 0,7 V = uit). In het voorbeeld gebruik ik de interne led op poort 13, maar je kunt daar ook een andere led op aansluiten. OUT sluit je aan op digitale poort 2.
void setup() {
pinMode(13, OUTPUT);
pinMode(2, INPUT);
}
void loop() {
digitalWrite(13, digitalRead(2));
}
Dit is een heel geavanceerde sensor: je kunt allerlei instellingen maken door aan de onderkant een weerstand (R) of concensator (C) te solderen: R-CDS (als je CDS met een fotoweerstand wil gebruiken). R-GN (detectieafstand verkleinen) en C-TM (= Trigger Time). Dat valt echter buiten het kader van mijn Arduino-pagina's, maar wellicht goed om te weten dat het kan. Deze sensor werkt erg goed.
De XYC-WB-D1
Ik heb ook de XYC-WB-DC getest. Deze module is iets dikker, maar werkt verder hetzelfde als de RCWL-0516. Zojuist heb ik ook de XYC-WB-D1 getest. Dit is eveneens een zeer goede, dunne sensor.