🚶‍♂️PIR Motion Sensor

Function introduction

This sensor allows you to detect animals' movement, usually humans' movement within its detection range. Just connect it to the NyBoard and program it, and when anyone moves within its detection range, the sensor will output a high potential on its SIG pin.

BiBoard

Hardware setup

BiBoard V1 for Bittle X V2 / Bittle X+Arm / Nybble Q

BiBoard V0 for Bittle X

For specific use, the end connected to the sensor can be fixed on the robot's head (included in Bittle's mouth or attached to the top of Nybble's head). Of course, you can also use your creativity to meet your needs.

Software setup

Petoi Desktop App

  • You can use the Firmware Uploaderarrow-up-right within the Petoi Desktop App. Please select the correct Product type, Borard version, and Serial port. The mode should be Standard, so press the Upgrade the Firmware button. for example, Bittle, BiBoard_V0_2, COM5 as follows:

    After uploading, open the serial monitorarrow-up-right and use the serial command "XI" to switch to using the PIR motion sensor mode.

Arduino IDE

NyBoard for Bittle / Nybble

Hardware setup

Connecting to the NyBoard with wire as shown in the following picture:

Software setup

Petoi Desktop App

Arduino IDE

The code using this sensor has been integrated into the OpenCatarrow-up-right project. Uncomment the line #define PIR in the OpenCat.ino, as shown in the figure below, and use the Arduino IDE to upload the sketch to the robot main board, which can reproduce the example function of integrating the robot action.

Prepare the Arduino UNO development environment.

With NyBoard V1_*, you can choose Arduino Uno.

Modify the code in the OpenCat.ino

Testing code

If you want to test a PIR motion sensor's function alone or learn more about its principles. You can use the Arduino IDE to upload the demo sketch(test_Touch_Reflection_PIR.ino):

This demo sketch implements real-time printing of sensor detection results in the serial monitorarrow-up-right - when anyone moves within its detection range, print 1; otherwise, print 0.

Last updated