Can't Output NPN For PIR Trigger

I have a PicoVolt from FrightProps. I'm trying to connect an Arduino PIR as a trigger device for the PicoVolt.

According to FrightProps support "The PicoVolt requires the 1 or 2 pins on the controller to be pulled to ground by the connector sensor or trigger. Buttons, switches, or mats can do this by connecting one side of the device to (-). Sensors must have an NPN output, or relay output to work."

So I have an Arduino Leonardo, a bread board, a NPN transistor and an Arduino PIR.

From what I've read, I've put together this configuration:

Here is the script:

 //the time we give the sensor to calibrate (10-60 secs according to the datasheet)
int calibrationTime = 30;       
 
//the time when the sensor outputs a low impulse
long unsigned int lowIn;        
 
//the amount of milliseconds the sensor has to be low
//before we assume all motion has stopped
long unsigned int pause = 5000; 
 
boolean lockLow = true;
boolean takeLowTime; 
 
int pirPin = 3;    //the digital pin connected to the PIR sensor's output
int ledPin = 13;
 
/////////////////////////////
//SETUP
void setup(){
  Serial.begin(9600);
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(pirPin, LOW);
 
  //give the sensor some time to calibrate
  Serial.print("calibrating sensor ");
    for(int i = 0; i < calibrationTime; i++){
      Serial.print(".");
      delay(1000);
      }
    Serial.println(" done");
    Serial.println("SENSOR ACTIVE: ");
    delay(50);
  }
 
////////////////////////////
//LOOP
void loop(){
     if(digitalRead(pirPin) == HIGH){
       digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state
       if(lockLow){ 
         //makes sure we wait for a transition to LOW before any further output is made:
         lockLow = false;           
         Serial.println("---");
         Serial.print("motion detected at ");
         Serial.print(millis()/1000);
         Serial.println(" sec");
         delay(50);
         }        
         takeLowTime = true;
       }
 
     if(digitalRead(pirPin) == LOW){      
       digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state
       if(takeLowTime){
        lowIn = millis();          //save the time of the transition from high to LOW
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase
        }
       //if the sensor is low for more than the given pause,
       //we assume that no more motion is going to happen
       if(!lockLow && millis() - lowIn > pause){ 
           //makes sure this block of code is only executed again after
           //a new motion sequence has been detected
           lockLow = true;                       
           Serial.print("motion ended at ");      //output
           Serial.print((millis() - pause)/1000);
           Serial.println(" sec");
           delay(50);
           }
       }
  }

The LED lights up and the Serial.print works fine, but the motor doesn't engage.

So what am I doing wrong?

Motot looks like it can draw some current. Where is your power coming form tor both the arduino and picoVolt?

Hello,

Nice!

The PicoVolt allows you to precisely control the speed and direction of a DC motor or Linear Actuator. Keep the motor at any constant speed, or create up to two animations you can loop or play from trigger inputs. It can also be used to loop or trigger simple lighting effects on low voltage DC lights or LEDs.
Two Trigger Inputs

Record up to 85 seconds of motor or light animation per input. Connect the inputs to any standard sensor, button, or switch, and the PicoVolt will play your animation back on command.

Having the second input is especially useful for Linear Actuators. One input could be used to raise the actuator, another to lower it. It's also useful in Escape Room applications, you can set it up so one input is triggered by a sensor in the room and the other input is a hidden reset button used to reset the prop.

Of course simply looping animation for an ambient prop is still possible. If desired, the second input could be used to interrupt or pause the ambient animation.
Motor Parking

The PicoVolt can read the internal park switch of many wiper motors to determine its home position. The PicoVolt can then bring your motor back to that position at the end of the animation. It can let it coast to a stop, or stop it instantly using the brake output mode. Make sure your motor has a park wire if you want to use this option.
LED Lighting Control

The PicoVolt also has an LED lighting mode that allows you to easily program any lighting effect. Loop the effect, or play it only when triggered.
Escape Room Friendly

The new PicoVolt is Escape Room ready. It can be setup so it only runs once per game, maybe to open a door or secret compartment when a certain puzzle is solved. The second input can be used to reset it, closing the door and allowing it to be triggered again.

If you don't need or want to worry about resetting it, you can bypass the reset input and the PicoVolt will operate in a single-shot mode. In this mode it only runs the animation once per trigger. For example, you might want some animation to run when a sensor detects an object is moved, but only once. The single-shot mode prevents looping and automatically re-arms the trigger once the object is replaced.
Input Modes

The PicoVolt has five different input modes. The modes allow you to set inputs as interruptible, to only run once, or so they work with normally-closed triggers. Some modes are good for haunt applications, some for escape rooms, and some for generic applications.

A brief description of each input mode is shown below.

Default - Both inputs are normally-open and not interruptible.
Input 2 Interruptible - Input 2 is interruptible by input 1.
Inputs 1 & 2 Interruptible - Both inputs are interruptible by the other.
Run Once with Reset - Input 1 is single-shot and can only run once until input 2 is pulsed to reset. Input 2 can be jumpered so the manual reset is not necessary.
Run Once with Reset Normally-Closed - Same as above except for use with normally-closed sensors.

Output Modes

The PicoVolt has five different output modes. The output behaves slightly different in each mode.

A brief description of each output mode is shown below. See the Quick Start at the bottom of the page for more information.

Default - Use this mode to control the speed and direction of a DC Motor or Linear Actuator.
Transition - Same as above except with gentle transitions at the beginning and end of each scene to prevent abrupt movements.
Park - Use this mode with a parking motor to always start and stop in the same position.
Park / Brake - Same as Park except the motor will be stopped quickly instead of allowed to coast to a stop.
Light Mode - For controlling low voltage bulbs or LEDs.

Power Supply

The PicoVolt must be powered by a 9 to 24 volt DC power supply. That said most applications will be using 12 volt motors or LEDs so 12 volts is by far the most popular.

The wattage you need depends on what you're controlling. Pretty much all wiper motor applications will require at least the 12vDC 5 Amp Power Supply. Most linear actuators will require a 10 amp power supply. Some LED setups will be fine with the 12 watt supply, however larger ones may need more. Add up the wattage of all your LED lights and make sure the power supply you choose has a wattage at least that high.

Write-Protection

The PicoVolt has a write protection mechanism that helps prevent accidental or unwanted program changes.

PicoVolt [SKU: 0975B]

2N3906 is PNP, looks like only 2 transistor leads are connected, but LED leads are obscured by transistor.

It is not obvious what voltage is on the sensor input. Check it with your multimeter. If it is less than 6 V, you do not need a transistor at all.

Put a diode with cathode to Arduino pin and anode to your sensor input. Put a second diode with cathode to the Arduino Vcc and anode to that same sensor input. Write the Arduino pin LOW, set it to OUTPUT to actuate the sensor input and INPUT to de-activate it.

This presumes the sensor input requires no more than 25 mA to pull down. You can check this also with the multimeter set to milliamps range.

The PicoVolt power input is 12 V DC

The PicoVolt output to trigger is between 2.8-3.8 V according to my multimeter

The PIR Sensor power is high = 3 V according to the package.

I'm very much a newbie at electronic boards, so bare with me please and thanks for your patience.

spifftek:
The PicoVolt output to trigger is between 2.8-3.8 V according to my multimeter

OK, so given my second test - if when you read the current taken when you pull that trigger down to ground using the current setting on your multimeter, that current is less than 25 mA, then you can connect it directly to the Arduino as I described using two diodes.