I see several issues with your patch. Ones is this:

Here, you are sending a float to the right input of the multiplier and a bang to the left input. So you are never sending a float into the left input, which results in the left input to be 0 all the time and the output of the multiplier is always 0.
amd . Everytime there's movement the counter restarts
Actually, the counter restarts any time any input is received by [r bela_adxl345], which is about once every 90 ms. You may be tempted to use a [change] object to only reset it when a new "different" value comes in, however that won't work in practice: as it's often the case when interfacing with the analog world, readings that should be nominally identical (e.g.: a box standing on a table) will often show some small differences due to noise in the acquisition.
I think a simpler approach would be the following, which uses some of the signal processing tools of Pure Data. Use a high pass filter to remove the slow-moving component of the accelerometer readings, then compute the envelope of the resulting signal to get a sense of "how much movement" there is, something like this:

Full patch:
You'll have to adjust the threshold values based on the actual readings you are getting from the accelerometer and the output of the [env~] object. As mentioned previously, you may want to increase the bandwidth of the sensor and reading from it more often.
A more complex idea to detect "velocity" from integrating readings from a the accelerometer is shown in examples/PureData/accelerometer/accelerometer-integration.pd. That one relies on higher sampling rate for the accelerometer (an analog one connected to Bela's analog inputs) and may be too complex for your needs.