Doppler sensor triggering 8 x 32 matrix

hey all! The students of Ball High School are working on a project to use a RCWL-0516 doppler sensor, 8 x 32 matrix & arduino to make a "blind driveway" sign. The LED matrix would be triggered by an oncoming vehicle and scroll text. We're having difficulty trying to define the matrix for the program.

I need to integrate this into the rest of the code, but we can't get it to compile correctly. Where should this code be inserted without getting compiling errors? Help!

#define Sensor 2
#define LED 3

void setup() {



void loop() {

bool Detection = digitalRead(Sensor);

if(Detection == HIGH)
if(Detection == LOW)

We used the NeoPixel example here:

// Adafruit_NeoMatrix example for single NeoPixel Shield.
// Scrolls 'Howdy' across the matrix in a portrait (vertical) orientation.

#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#ifndef PSTR
#define PSTR // Make Arduino Due happy

#define PIN 6

// Parameter 1 = width of NeoPixel matrix
// Parameter 2 = height of matrix
// Parameter 3 = pin number (most are valid)
// Parameter 4 = matrix layout flags, add together as needed:
// Position of the FIRST LED in the matrix; pick two, e.g.
// NEO_MATRIX_TOP + NEO_MATRIX_LEFT for the top-left corner.
// NEO_MATRIX_ROWS, NEO_MATRIX_COLUMNS: LEDs are arranged in horizontal
// rows or in vertical columns, respectively; pick one or the other.
// NEO_MATRIX_PROGRESSIVE, NEO_MATRIX_ZIGZAG: all rows/columns proceed
// in the same order, or alternate lines reverse direction; pick one.
// See example below for these values in action.
// Parameter 5 = pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_GRBW Pixels are wired for GRBW bitstream (RGB+W NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)

// Example for NeoPixel Shield. In this application we'd like to use it
// as a 32x8 matrix, with the USB port positioned at the top of the
// Arduino. When held that way, the first pixel is at the top right, and
// lines are arranged in columns, progressive order. The shield uses
// 800 KHz (v2) pixels that expect GRB color data.
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(32, 8, PIN,

const uint16_t colors = {
matrix.Color(255, 0, 0), matrix.Color(0, 255, 0), matrix.Color(0, 0, 255) };

void setup() {

int x = matrix.width();
int pass = 0;

void loop() {
matrix.setCursor(x, 0);
if(--x < -36) {
x = matrix.width();
if(++pass >= 3) pass = 0;

Thank you!

Kevin Anthony
Ball High School FabLab
Galveston, Texas


digitalWrite (LED, digitalRead (Sensor));

Please remember to use code tags when posting code

1 Like

Thanks for the prompt reply. I'm still not sure where to insert this code. Should it be before the matrix stuff or inbetween or after?

I got it to work! The only thing is now I need for the LEDs to be off or show black until motion is detected. Right now, the matrix will scroll and fill up with red on the whole matrix until motion is detected. Once motion is detected it works like it's supposed to.

Should I be looking to make the screen black or just not have anything turned on until motion is detected?


Other post/duplicate DELETED
Please do NOT cross post / duplicate as it wastes peoples time and efforts to have more than one post for a single topic.

Continued cross posting could result in a time out from the forum.

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.