This is for a high school project that I'm doing. The sensor should be able to detect the movement of a moving inanimate object and convert into electrical energy, and be fairly cheap to buy.

I have looked into a few sensors but most of them seem to be geared towards detecting HUMAN movement, eg. PIR sensors. I am looking for the type of sensor that is able to detect non-human movement at close range (about 1/2 metres). Any suggestions?

  • 1
    $\begingroup$ Welcome to Robotics Stack Exchange. One of the cheapest solutions is using camera however it requires some knowledge in image processing which is way advanced for high school students. $\endgroup$
    – CroCo
    Commented Feb 22, 2017 at 7:56

1 Answer 1


There are a range of solutions based on the type of environment you are gonna implement your system;

So I will list the possible solutions and the respective best possible implementation conditions.

  • You can use IR sensors to detect motion. Given your sensors are setup in a controlled environment where the ambient lighting is consistent, you can setup IR to read ranges from a given distance. For example lets say you object is at 1 m from the sensor; your MCU can constantly read the voltage drop from IR sensor and detect 'motion' when there is change in these voltage readings. This only works if your sensors are stationary relative to your detecting object. This is a very cheap solution. Can easily program using Arduino. You can even use code already written from other users.

  • Using an ultrasound module. This works by sending a 'ping' and
    listens for the echo. Motion can be detected by monitoring the width of the 'echo' pulse. This solution doesn't not require a controlled
    lighting environment unlike IR. But on the flip side, ultrasound
    signals are not directional like IR; and hence your system maybe
    prone to noise from other reflected 'echo' pulses off target. But
    this can be implemented successfully by properly thresholding your
    signals. This too can be implemented using Arduino easily. Check PING example in Arduino IDE. This requires your system to be stable
    relative to your target.

  • As mentioned earlier, camera is another solution. It could
    implemented intelligently regardless whether your system is
    stationery relative to your target. But this requires you to have
    some kind computer vision/programming background. Since you mentioned you are from high school, I presume this will be a bit challenging
    for you. But you always try. OpenCV, and Matlab CV toolbox are a good starting point. But this solution is relatively expensive. Camera is relatively expensive compared to IR and Ultrasound. And if you are
    looking for a embedded solution, you need a much powerful MCU than an Arduino to deploy your project.

Cheers and good luck

  • $\begingroup$ How about converting movement into electrical energy? $\endgroup$ Commented Feb 22, 2017 at 11:57
  • $\begingroup$ @GürkanÇetin, we assume a virtual mechanical force that causes the motion of the object and the integral of the product of it by the distance the object travels as times goes, we can compute the energy. Using generators principles, one can convert the mechanical energy to the electrical one. The force can be computed using either the linear momentum principle or applying Newton's second law directly. I prefer the former over the later since estimating acceleration from an estimated velocity is very noisy. The problematic part obviously is measuring the mass. $\endgroup$
    – CroCo
    Commented Feb 22, 2017 at 18:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.