Hi.
I bought the SparkFun PIR Breakout - 1uA (EKMB1107112) https://www.sparkfun.com/products/17373
and I test it with the basic example on an Arduino uno board. Everything works as expected.
The signal outputs 1 when movement is detected and 0 when there is no movement.
So far the sensor board works on Arduino uno.
the wiring is exactly as described in the hookup guide and the code is
#define PIR_PIN 2 // PIR output on D2
#define LED_PIN 13 // LED to illuminate on motion
#define DEBOUNCE_TIME 750
void setup()
{
Serial.begin(115200);
// Set the PIR Output signal as an input for the microcontroller:
pinMode(PIR_PIN, INPUT);
// Configure the LED pin as an output
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW); // Turn the LED off
// Wait for 30 seconds for the PIR to stabilize after power on:
Serial.println("Waiting 30 Seconds while PIR warms up");
for (uint8_t seconds = 0; seconds < 30; seconds++)
{
Serial.println(seconds);
delay(1000);
}
Serial.println("PIR Warmed up.");
}
void loop()
{
// The PIR's output is active high
int motionStatus = digitalRead(PIR_PIN);
// If motion is detected, turn the onboard LED on and print an object was detected:
if (motionStatus == HIGH)
{
Serial.println("Object Detected!");
Serial.println(motionStatus);
digitalWrite(LED_PIN, HIGH);
delay(DEBOUNCE_TIME);
}
else // Otherwise turn the LED off and print All Clear:
{
Serial.println("All clear!");
Serial.println(motionStatus);
digitalWrite(LED_PIN, LOW);
delay(DEBOUNCE_TIME);
}
}
Now. I tried doing the same in another board: a Silabs EFR32FG32 dev board https://www.silabs.com/documents/public … -guide.pdf and it doesn’t work at all.
I started with a very simple process, just to read the signal pin (OUT) from the board. and the signal never changes
All I’m doing from the Silabs board is 1. configuring the pin for input and 2. reading the value
GPIO_PinModeSet(PIN_PORT, PIN_NUMBER, gpioModeInputPull, 1);
printf(GPIO_PinInGet(PIN_PORT, PIN_NUMBER))
I tried different input configurations for the pin and different pins. but the way it is configured works very well with other simple sensors.
I successfully read the signal using other sensors like this one https://www.sparkfun.com/products/13285
and also a hall effect sensor just to read the signal and make sure it is not a Silabs problem.
I’m not a hardware expert, I just need to get movement signals from a good quality PIR sensor.
Are there any other things that I’m missing to connect this breakout with another board different than arduino UNO?
Any ideas what am I missing ?
thanks