United Kingdom
Asked — Edited

Using Pir On Digital Port

Hey guys.

I need a little help with a small PIR sensor I picked up. Operating voltage is 4.5 v upwards so have it plugged in to D0 as analog won't be enough to power it (tried it on ADC0 but voltage meter shot up to 220). Could someone offer me a Short script example for me to work from to test if the sensor is working? I had a quick look on the forum but the very few entries I found were regarding ADC.

Many thanks.

PIR sensor

User-inserted image


ARC Pro

Upgrade to ARC Pro

Synthiam ARC Pro is a new tool that will help unleash your creativity with programming robots in just seconds!

PRO
Canada
#1  

Hey @Steve G

PIR sensors emit a high or low signal based on whether there is a change in passive IR in the area or not. They are a digital sensor so a simple script like "getDigital(D0)" will work to see if an event has occurred.

United Kingdom
#2  

Wow. Simpler than I thought. Thanks Jeremie. I'll give it a try.

#3  

@Steve.... PIRs are digital.... If that is a cheap (no offense eBay Chinese one) it may not work very well... Don't forget to use a 5V regulator.... I buy Parallax PIRs... Although more expensive they work perfectly and have a wide voltage range...

United Kingdom
#5  

Quote:

getDigital(D0)

Err, what did I do wrong?

PRO
Canada
#6  

Sorry Steve I forgot to mention you'll need to either assign it to a variable or place it in a condition

ex:

If (GetDigital(D0) = 1)
  Print(One)
EndIf

@RR I believe that unit has a 5V reg on it, I have one like it

#7  

Thanks @Jeremie...

@Steve... getDigital(D0) needs to be used like Jeremie said...or you can use a variable...


$movement=getDigital(D0)

United Kingdom
#8  

@Jeremie.

Thanks bud. All sorted now.:)

@Richard.

Yes mate, it was a "cheap as chips" one from China, but it actually works, now. Had to turn the sensitivity right down to min, otherwise it stays open. I figured as it was less than a pint of beer, it was worth a gamble. (5v reg was connected;) )

Here's what I used...


:start
If(getDigital(D0)=1)
Print ("On")
Elseif(getDigital(D0)=0)
Print("Off")
Sleep (2000)
Goto(start)
Endif

Thanks again guys.:D